Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2025 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 1470154 : 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 1470154 : idata = 0
96 :
97 : ! number of data bits in the pack_tmp that should still be read
98 1470154 : ibits_remaining = 64
99 1470154 : ipack = 1
100 1470154 : pack_tmp = packed_data(ipack)
101 :
102 : ! give the compiler a hint that Nbits is strictly positive
103 1470154 : IF (Nbits < 1) CPABORT("This is a bug")
104 : ! we also limit the making number of bits
105 1470154 : IF (Nbits >= 64) CPABORT("This is a bug")
106 :
107 : DO
108 : ! we've unpacked all data
109 48515082 : IF (idata == Ndata) EXIT
110 47044928 : idata = idata + 1
111 48515082 : IF (ibits_remaining >= Nbits) THEN
112 24664853 : data_tmp = IAND(pack_tmp, mask_right(Nbits)) ! get the last Nbits
113 24664853 : full_data(idata) = data_tmp
114 24664853 : pack_tmp = ISHFT(pack_tmp, -Nbits) ! and shift right to get the bits in place for the next
115 24664853 : ibits_remaining = ibits_remaining - Nbits
116 : ELSE
117 22380075 : i_odd_bits = Nbits - ibits_remaining
118 22380075 : data_tmp = ISHFT(pack_tmp, i_odd_bits) ! use all remaining bits, shifted left to make place for the missing bits
119 22380075 : ipack = ipack + 1
120 22380075 : pack_tmp = packed_data(ipack) ! get new storage
121 22380075 : ibits_remaining = 64
122 22380075 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(i_odd_bits))) ! and use the missing bits to assemble the data
123 22380075 : pack_tmp = ISHFT(pack_tmp, -i_odd_bits) ! shift right to get the bits in place for the next
124 22380075 : ibits_remaining = 64 - i_odd_bits
125 : END IF
126 : END DO
127 :
128 1470154 : END SUBROUTINE bits2ints_generic
129 :
130 : ! **************************************************************************************************
131 : !> \brief ...
132 : !> \param Nbits ...
133 : !> \param Ndata ...
134 : !> \param packed_data ...
135 : !> \param full_data ...
136 : ! **************************************************************************************************
137 232860 : 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 232860 : idata = 0
146 232860 : ipack = 0
147 232860 : pack_tmp = 0
148 :
149 : ! number of data bits in the pack_tmp that should still be written
150 232860 : ibits_remaining = 64
151 :
152 : ! give the compiler a hint that Nbits is strictly positive
153 232860 : IF (Nbits < 1) CPABORT("This is a bug")
154 : ! we also limit the making number of bits
155 232860 : IF (Nbits >= 64) CPABORT("This is a bug")
156 :
157 : DO
158 : ! we've packed all data
159 7684380 : IF (idata == Ndata) EXIT
160 7451520 : idata = idata + 1
161 7684380 : IF (ibits_remaining >= Nbits) THEN
162 3906445 : data_tmp = full_data(idata)
163 3906445 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
164 3906445 : pack_tmp = IOR(pack_tmp, data_tmp) ! add to the packed data
165 3906445 : ibits_remaining = ibits_remaining - Nbits
166 3906445 : pack_tmp = ISHFT(pack_tmp, -MIN(Nbits, ibits_remaining)) ! and shift to the right to make place for the next
167 : ELSE
168 3545075 : i_odd_bits = ibits_remaining
169 3545075 : data_tmp = full_data(idata)
170 3545075 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
171 3545075 : data_tmp = IAND(data_tmp, mask_left(i_odd_bits)) ! restrict to those bits for which we still have space
172 3545075 : pack_tmp = IOR(pack_tmp, data_tmp) ! add them to the packed bits
173 3545075 : ipack = ipack + 1
174 3545075 : packed_data(ipack) = pack_tmp ! store the full packed data away and start with a new one
175 3545075 : data_tmp = full_data(idata)
176 3545075 : pack_tmp = ISHFT(data_tmp, 64 - Nbits + i_odd_bits) ! put the missing bits on the left if pack_tmp
177 3545075 : ibits_remaining = 64 - Nbits + i_odd_bits
178 3545075 : 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 232860 : pack_tmp = ISHFT(pack_tmp, -MAX(0, ibits_remaining - Nbits))
184 232860 : ipack = ipack + 1
185 232860 : packed_data(ipack) = pack_tmp
186 :
187 232860 : END SUBROUTINE ints2bits_generic
188 :
189 : ! **************************************************************************************************
190 : !> \brief ...
191 : !> \param Ndata ...
192 : !> \param packed_data ...
193 : !> \param full_data ...
194 : ! **************************************************************************************************
195 23676 : 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 23676 : idata = 0
206 23676 : ipack = 0
207 23676 : Ndata_rep = (Ndata/64)*64
208 23676 : DO kdata = 1, Ndata_rep, 64
209 378816 : pack_tmp = 0
210 378816 : idata = idata + 1
211 378816 : data_tmp = full_data(idata)
212 378816 : data_tmp = ISHFT(data_tmp, 63)
213 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
214 378816 : pack_tmp = ISHFT(pack_tmp, -1)
215 378816 : idata = idata + 1
216 378816 : data_tmp = full_data(idata)
217 378816 : data_tmp = ISHFT(data_tmp, 63)
218 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
219 378816 : pack_tmp = ISHFT(pack_tmp, -1)
220 378816 : idata = idata + 1
221 378816 : data_tmp = full_data(idata)
222 378816 : data_tmp = ISHFT(data_tmp, 63)
223 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
224 378816 : pack_tmp = ISHFT(pack_tmp, -1)
225 378816 : idata = idata + 1
226 378816 : data_tmp = full_data(idata)
227 378816 : data_tmp = ISHFT(data_tmp, 63)
228 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
229 378816 : pack_tmp = ISHFT(pack_tmp, -1)
230 378816 : idata = idata + 1
231 378816 : data_tmp = full_data(idata)
232 378816 : data_tmp = ISHFT(data_tmp, 63)
233 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
234 378816 : pack_tmp = ISHFT(pack_tmp, -1)
235 378816 : idata = idata + 1
236 378816 : data_tmp = full_data(idata)
237 378816 : data_tmp = ISHFT(data_tmp, 63)
238 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
239 378816 : pack_tmp = ISHFT(pack_tmp, -1)
240 378816 : idata = idata + 1
241 378816 : data_tmp = full_data(idata)
242 378816 : data_tmp = ISHFT(data_tmp, 63)
243 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
244 378816 : pack_tmp = ISHFT(pack_tmp, -1)
245 378816 : idata = idata + 1
246 378816 : data_tmp = full_data(idata)
247 378816 : data_tmp = ISHFT(data_tmp, 63)
248 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
249 378816 : pack_tmp = ISHFT(pack_tmp, -1)
250 378816 : idata = idata + 1
251 378816 : data_tmp = full_data(idata)
252 378816 : data_tmp = ISHFT(data_tmp, 63)
253 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
254 378816 : pack_tmp = ISHFT(pack_tmp, -1)
255 378816 : idata = idata + 1
256 378816 : data_tmp = full_data(idata)
257 378816 : data_tmp = ISHFT(data_tmp, 63)
258 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
259 378816 : pack_tmp = ISHFT(pack_tmp, -1)
260 378816 : idata = idata + 1
261 378816 : data_tmp = full_data(idata)
262 378816 : data_tmp = ISHFT(data_tmp, 63)
263 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
264 378816 : pack_tmp = ISHFT(pack_tmp, -1)
265 378816 : idata = idata + 1
266 378816 : data_tmp = full_data(idata)
267 378816 : data_tmp = ISHFT(data_tmp, 63)
268 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
269 378816 : pack_tmp = ISHFT(pack_tmp, -1)
270 378816 : idata = idata + 1
271 378816 : data_tmp = full_data(idata)
272 378816 : data_tmp = ISHFT(data_tmp, 63)
273 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
274 378816 : pack_tmp = ISHFT(pack_tmp, -1)
275 378816 : idata = idata + 1
276 378816 : data_tmp = full_data(idata)
277 378816 : data_tmp = ISHFT(data_tmp, 63)
278 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
279 378816 : pack_tmp = ISHFT(pack_tmp, -1)
280 378816 : idata = idata + 1
281 378816 : data_tmp = full_data(idata)
282 378816 : data_tmp = ISHFT(data_tmp, 63)
283 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
284 378816 : pack_tmp = ISHFT(pack_tmp, -1)
285 378816 : idata = idata + 1
286 378816 : data_tmp = full_data(idata)
287 378816 : data_tmp = ISHFT(data_tmp, 63)
288 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
289 378816 : pack_tmp = ISHFT(pack_tmp, -1)
290 378816 : idata = idata + 1
291 378816 : data_tmp = full_data(idata)
292 378816 : data_tmp = ISHFT(data_tmp, 63)
293 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
294 378816 : pack_tmp = ISHFT(pack_tmp, -1)
295 378816 : idata = idata + 1
296 378816 : data_tmp = full_data(idata)
297 378816 : data_tmp = ISHFT(data_tmp, 63)
298 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
299 378816 : pack_tmp = ISHFT(pack_tmp, -1)
300 378816 : idata = idata + 1
301 378816 : data_tmp = full_data(idata)
302 378816 : data_tmp = ISHFT(data_tmp, 63)
303 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
304 378816 : pack_tmp = ISHFT(pack_tmp, -1)
305 378816 : idata = idata + 1
306 378816 : data_tmp = full_data(idata)
307 378816 : data_tmp = ISHFT(data_tmp, 63)
308 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
309 378816 : pack_tmp = ISHFT(pack_tmp, -1)
310 378816 : idata = idata + 1
311 378816 : data_tmp = full_data(idata)
312 378816 : data_tmp = ISHFT(data_tmp, 63)
313 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
314 378816 : pack_tmp = ISHFT(pack_tmp, -1)
315 378816 : idata = idata + 1
316 378816 : data_tmp = full_data(idata)
317 378816 : data_tmp = ISHFT(data_tmp, 63)
318 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
319 378816 : pack_tmp = ISHFT(pack_tmp, -1)
320 378816 : idata = idata + 1
321 378816 : data_tmp = full_data(idata)
322 378816 : data_tmp = ISHFT(data_tmp, 63)
323 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
324 378816 : pack_tmp = ISHFT(pack_tmp, -1)
325 378816 : idata = idata + 1
326 378816 : data_tmp = full_data(idata)
327 378816 : data_tmp = ISHFT(data_tmp, 63)
328 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
329 378816 : pack_tmp = ISHFT(pack_tmp, -1)
330 378816 : idata = idata + 1
331 378816 : data_tmp = full_data(idata)
332 378816 : data_tmp = ISHFT(data_tmp, 63)
333 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
334 378816 : pack_tmp = ISHFT(pack_tmp, -1)
335 378816 : idata = idata + 1
336 378816 : data_tmp = full_data(idata)
337 378816 : data_tmp = ISHFT(data_tmp, 63)
338 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
339 378816 : pack_tmp = ISHFT(pack_tmp, -1)
340 378816 : idata = idata + 1
341 378816 : data_tmp = full_data(idata)
342 378816 : data_tmp = ISHFT(data_tmp, 63)
343 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
344 378816 : pack_tmp = ISHFT(pack_tmp, -1)
345 378816 : idata = idata + 1
346 378816 : data_tmp = full_data(idata)
347 378816 : data_tmp = ISHFT(data_tmp, 63)
348 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
349 378816 : pack_tmp = ISHFT(pack_tmp, -1)
350 378816 : idata = idata + 1
351 378816 : data_tmp = full_data(idata)
352 378816 : data_tmp = ISHFT(data_tmp, 63)
353 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
354 378816 : pack_tmp = ISHFT(pack_tmp, -1)
355 378816 : idata = idata + 1
356 378816 : data_tmp = full_data(idata)
357 378816 : data_tmp = ISHFT(data_tmp, 63)
358 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
359 378816 : pack_tmp = ISHFT(pack_tmp, -1)
360 378816 : idata = idata + 1
361 378816 : data_tmp = full_data(idata)
362 378816 : data_tmp = ISHFT(data_tmp, 63)
363 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
364 378816 : pack_tmp = ISHFT(pack_tmp, -1)
365 378816 : idata = idata + 1
366 378816 : data_tmp = full_data(idata)
367 378816 : data_tmp = ISHFT(data_tmp, 63)
368 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
369 378816 : pack_tmp = ISHFT(pack_tmp, -1)
370 378816 : idata = idata + 1
371 378816 : data_tmp = full_data(idata)
372 378816 : data_tmp = ISHFT(data_tmp, 63)
373 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
374 378816 : pack_tmp = ISHFT(pack_tmp, -1)
375 378816 : idata = idata + 1
376 378816 : data_tmp = full_data(idata)
377 378816 : data_tmp = ISHFT(data_tmp, 63)
378 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
379 378816 : pack_tmp = ISHFT(pack_tmp, -1)
380 378816 : idata = idata + 1
381 378816 : data_tmp = full_data(idata)
382 378816 : data_tmp = ISHFT(data_tmp, 63)
383 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
384 378816 : pack_tmp = ISHFT(pack_tmp, -1)
385 378816 : idata = idata + 1
386 378816 : data_tmp = full_data(idata)
387 378816 : data_tmp = ISHFT(data_tmp, 63)
388 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
389 378816 : pack_tmp = ISHFT(pack_tmp, -1)
390 378816 : idata = idata + 1
391 378816 : data_tmp = full_data(idata)
392 378816 : data_tmp = ISHFT(data_tmp, 63)
393 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
394 378816 : pack_tmp = ISHFT(pack_tmp, -1)
395 378816 : idata = idata + 1
396 378816 : data_tmp = full_data(idata)
397 378816 : data_tmp = ISHFT(data_tmp, 63)
398 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
399 378816 : pack_tmp = ISHFT(pack_tmp, -1)
400 378816 : idata = idata + 1
401 378816 : data_tmp = full_data(idata)
402 378816 : data_tmp = ISHFT(data_tmp, 63)
403 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
404 378816 : pack_tmp = ISHFT(pack_tmp, -1)
405 378816 : idata = idata + 1
406 378816 : data_tmp = full_data(idata)
407 378816 : data_tmp = ISHFT(data_tmp, 63)
408 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
409 378816 : pack_tmp = ISHFT(pack_tmp, -1)
410 378816 : idata = idata + 1
411 378816 : data_tmp = full_data(idata)
412 378816 : data_tmp = ISHFT(data_tmp, 63)
413 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
414 378816 : pack_tmp = ISHFT(pack_tmp, -1)
415 378816 : idata = idata + 1
416 378816 : data_tmp = full_data(idata)
417 378816 : data_tmp = ISHFT(data_tmp, 63)
418 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
419 378816 : pack_tmp = ISHFT(pack_tmp, -1)
420 378816 : idata = idata + 1
421 378816 : data_tmp = full_data(idata)
422 378816 : data_tmp = ISHFT(data_tmp, 63)
423 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
424 378816 : pack_tmp = ISHFT(pack_tmp, -1)
425 378816 : idata = idata + 1
426 378816 : data_tmp = full_data(idata)
427 378816 : data_tmp = ISHFT(data_tmp, 63)
428 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
429 378816 : pack_tmp = ISHFT(pack_tmp, -1)
430 378816 : idata = idata + 1
431 378816 : data_tmp = full_data(idata)
432 378816 : data_tmp = ISHFT(data_tmp, 63)
433 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
434 378816 : pack_tmp = ISHFT(pack_tmp, -1)
435 378816 : idata = idata + 1
436 378816 : data_tmp = full_data(idata)
437 378816 : data_tmp = ISHFT(data_tmp, 63)
438 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
439 378816 : pack_tmp = ISHFT(pack_tmp, -1)
440 378816 : idata = idata + 1
441 378816 : data_tmp = full_data(idata)
442 378816 : data_tmp = ISHFT(data_tmp, 63)
443 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
444 378816 : pack_tmp = ISHFT(pack_tmp, -1)
445 378816 : idata = idata + 1
446 378816 : data_tmp = full_data(idata)
447 378816 : data_tmp = ISHFT(data_tmp, 63)
448 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
449 378816 : pack_tmp = ISHFT(pack_tmp, -1)
450 378816 : idata = idata + 1
451 378816 : data_tmp = full_data(idata)
452 378816 : data_tmp = ISHFT(data_tmp, 63)
453 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
454 378816 : pack_tmp = ISHFT(pack_tmp, -1)
455 378816 : idata = idata + 1
456 378816 : data_tmp = full_data(idata)
457 378816 : data_tmp = ISHFT(data_tmp, 63)
458 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
459 378816 : pack_tmp = ISHFT(pack_tmp, -1)
460 378816 : idata = idata + 1
461 378816 : data_tmp = full_data(idata)
462 378816 : data_tmp = ISHFT(data_tmp, 63)
463 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
464 378816 : pack_tmp = ISHFT(pack_tmp, -1)
465 378816 : idata = idata + 1
466 378816 : data_tmp = full_data(idata)
467 378816 : data_tmp = ISHFT(data_tmp, 63)
468 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
469 378816 : pack_tmp = ISHFT(pack_tmp, -1)
470 378816 : idata = idata + 1
471 378816 : data_tmp = full_data(idata)
472 378816 : data_tmp = ISHFT(data_tmp, 63)
473 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
474 378816 : pack_tmp = ISHFT(pack_tmp, -1)
475 378816 : idata = idata + 1
476 378816 : data_tmp = full_data(idata)
477 378816 : data_tmp = ISHFT(data_tmp, 63)
478 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
479 378816 : pack_tmp = ISHFT(pack_tmp, -1)
480 378816 : idata = idata + 1
481 378816 : data_tmp = full_data(idata)
482 378816 : data_tmp = ISHFT(data_tmp, 63)
483 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
484 378816 : pack_tmp = ISHFT(pack_tmp, -1)
485 378816 : idata = idata + 1
486 378816 : data_tmp = full_data(idata)
487 378816 : data_tmp = ISHFT(data_tmp, 63)
488 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
489 378816 : pack_tmp = ISHFT(pack_tmp, -1)
490 378816 : idata = idata + 1
491 378816 : data_tmp = full_data(idata)
492 378816 : data_tmp = ISHFT(data_tmp, 63)
493 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
494 378816 : pack_tmp = ISHFT(pack_tmp, -1)
495 378816 : idata = idata + 1
496 378816 : data_tmp = full_data(idata)
497 378816 : data_tmp = ISHFT(data_tmp, 63)
498 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
499 378816 : pack_tmp = ISHFT(pack_tmp, -1)
500 378816 : idata = idata + 1
501 378816 : data_tmp = full_data(idata)
502 378816 : data_tmp = ISHFT(data_tmp, 63)
503 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
504 378816 : pack_tmp = ISHFT(pack_tmp, -1)
505 378816 : idata = idata + 1
506 378816 : data_tmp = full_data(idata)
507 378816 : data_tmp = ISHFT(data_tmp, 63)
508 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
509 378816 : pack_tmp = ISHFT(pack_tmp, -1)
510 378816 : idata = idata + 1
511 378816 : data_tmp = full_data(idata)
512 378816 : data_tmp = ISHFT(data_tmp, 63)
513 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
514 378816 : pack_tmp = ISHFT(pack_tmp, -1)
515 378816 : idata = idata + 1
516 378816 : data_tmp = full_data(idata)
517 378816 : data_tmp = ISHFT(data_tmp, 63)
518 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
519 378816 : pack_tmp = ISHFT(pack_tmp, -1)
520 378816 : idata = idata + 1
521 378816 : data_tmp = full_data(idata)
522 378816 : data_tmp = ISHFT(data_tmp, 63)
523 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
524 378816 : pack_tmp = ISHFT(pack_tmp, -1)
525 378816 : idata = idata + 1
526 378816 : data_tmp = full_data(idata)
527 378816 : data_tmp = ISHFT(data_tmp, 63)
528 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
529 : pack_tmp = ISHFT(pack_tmp, 0)
530 378816 : pack_tmp = ISHFT(pack_tmp, 0)
531 378816 : ipack = ipack + 1
532 378816 : packed_data(ipack) = pack_tmp
533 : END DO
534 23676 : 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 23676 : END SUBROUTINE ints2bits_1
538 :
539 : ! **************************************************************************************************
540 : !> \brief ...
541 : !> \param Ndata ...
542 : !> \param packed_data ...
543 : !> \param full_data ...
544 : ! **************************************************************************************************
545 95427 : 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 95427 : ipack = 0
556 95427 : idata = 0
557 95427 : pack_tmp = 0
558 95427 : Ndata_rep = (Ndata/64)*64
559 95427 : DO kdata = 1, Ndata_rep, 64
560 1526832 : idata = idata + 1
561 1526832 : data_tmp = ISHFT(pack_tmp, 1)
562 1526832 : ipack = ipack + 1
563 1526832 : pack_tmp = packed_data(ipack)
564 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
565 1526832 : pack_tmp = ISHFT(pack_tmp, -1)
566 1526832 : idata = idata + 1
567 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
568 1526832 : full_data(idata) = data_tmp
569 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
570 1526832 : idata = idata + 1
571 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
572 1526832 : full_data(idata) = data_tmp
573 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
574 1526832 : idata = idata + 1
575 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
576 1526832 : full_data(idata) = data_tmp
577 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
578 1526832 : idata = idata + 1
579 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
580 1526832 : full_data(idata) = data_tmp
581 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
582 1526832 : idata = idata + 1
583 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
584 1526832 : full_data(idata) = data_tmp
585 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
586 1526832 : idata = idata + 1
587 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
588 1526832 : full_data(idata) = data_tmp
589 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
590 1526832 : idata = idata + 1
591 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
592 1526832 : full_data(idata) = data_tmp
593 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
594 1526832 : idata = idata + 1
595 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
596 1526832 : full_data(idata) = data_tmp
597 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
598 1526832 : idata = idata + 1
599 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
600 1526832 : full_data(idata) = data_tmp
601 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
602 1526832 : idata = idata + 1
603 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
604 1526832 : full_data(idata) = data_tmp
605 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
606 1526832 : idata = idata + 1
607 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
608 1526832 : full_data(idata) = data_tmp
609 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
610 1526832 : idata = idata + 1
611 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
612 1526832 : full_data(idata) = data_tmp
613 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
614 1526832 : idata = idata + 1
615 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
616 1526832 : full_data(idata) = data_tmp
617 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
618 1526832 : idata = idata + 1
619 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
620 1526832 : full_data(idata) = data_tmp
621 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
622 1526832 : idata = idata + 1
623 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
624 1526832 : full_data(idata) = data_tmp
625 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
626 1526832 : idata = idata + 1
627 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
628 1526832 : full_data(idata) = data_tmp
629 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
630 1526832 : idata = idata + 1
631 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
632 1526832 : full_data(idata) = data_tmp
633 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
634 1526832 : idata = idata + 1
635 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
636 1526832 : full_data(idata) = data_tmp
637 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
638 1526832 : idata = idata + 1
639 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
640 1526832 : full_data(idata) = data_tmp
641 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
642 1526832 : idata = idata + 1
643 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
644 1526832 : full_data(idata) = data_tmp
645 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
646 1526832 : idata = idata + 1
647 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
648 1526832 : full_data(idata) = data_tmp
649 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
650 1526832 : idata = idata + 1
651 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
652 1526832 : full_data(idata) = data_tmp
653 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
654 1526832 : idata = idata + 1
655 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
656 1526832 : full_data(idata) = data_tmp
657 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
658 1526832 : idata = idata + 1
659 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
660 1526832 : full_data(idata) = data_tmp
661 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
662 1526832 : idata = idata + 1
663 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
664 1526832 : full_data(idata) = data_tmp
665 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
666 1526832 : idata = idata + 1
667 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
668 1526832 : full_data(idata) = data_tmp
669 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
670 1526832 : idata = idata + 1
671 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
672 1526832 : full_data(idata) = data_tmp
673 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
674 1526832 : idata = idata + 1
675 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
676 1526832 : full_data(idata) = data_tmp
677 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
678 1526832 : idata = idata + 1
679 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
680 1526832 : full_data(idata) = data_tmp
681 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
682 1526832 : idata = idata + 1
683 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
684 1526832 : full_data(idata) = data_tmp
685 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
686 1526832 : idata = idata + 1
687 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
688 1526832 : full_data(idata) = data_tmp
689 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
690 1526832 : idata = idata + 1
691 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
692 1526832 : full_data(idata) = data_tmp
693 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
694 1526832 : idata = idata + 1
695 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
696 1526832 : full_data(idata) = data_tmp
697 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
698 1526832 : idata = idata + 1
699 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
700 1526832 : full_data(idata) = data_tmp
701 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
702 1526832 : idata = idata + 1
703 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
704 1526832 : full_data(idata) = data_tmp
705 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
706 1526832 : idata = idata + 1
707 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
708 1526832 : full_data(idata) = data_tmp
709 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
710 1526832 : idata = idata + 1
711 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
712 1526832 : full_data(idata) = data_tmp
713 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
714 1526832 : idata = idata + 1
715 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
716 1526832 : full_data(idata) = data_tmp
717 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
718 1526832 : idata = idata + 1
719 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
720 1526832 : full_data(idata) = data_tmp
721 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
722 1526832 : idata = idata + 1
723 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
724 1526832 : full_data(idata) = data_tmp
725 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
726 1526832 : idata = idata + 1
727 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
728 1526832 : full_data(idata) = data_tmp
729 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
730 1526832 : idata = idata + 1
731 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
732 1526832 : full_data(idata) = data_tmp
733 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
734 1526832 : idata = idata + 1
735 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
736 1526832 : full_data(idata) = data_tmp
737 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
738 1526832 : idata = idata + 1
739 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
740 1526832 : full_data(idata) = data_tmp
741 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
742 1526832 : idata = idata + 1
743 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
744 1526832 : full_data(idata) = data_tmp
745 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
746 1526832 : idata = idata + 1
747 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
748 1526832 : full_data(idata) = data_tmp
749 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
750 1526832 : idata = idata + 1
751 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
752 1526832 : full_data(idata) = data_tmp
753 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
754 1526832 : idata = idata + 1
755 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
756 1526832 : full_data(idata) = data_tmp
757 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
758 1526832 : idata = idata + 1
759 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
760 1526832 : full_data(idata) = data_tmp
761 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
762 1526832 : idata = idata + 1
763 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
764 1526832 : full_data(idata) = data_tmp
765 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
766 1526832 : idata = idata + 1
767 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
768 1526832 : full_data(idata) = data_tmp
769 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
770 1526832 : idata = idata + 1
771 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
772 1526832 : full_data(idata) = data_tmp
773 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
774 1526832 : idata = idata + 1
775 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
776 1526832 : full_data(idata) = data_tmp
777 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
778 1526832 : idata = idata + 1
779 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
780 1526832 : full_data(idata) = data_tmp
781 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
782 1526832 : idata = idata + 1
783 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
784 1526832 : full_data(idata) = data_tmp
785 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
786 1526832 : idata = idata + 1
787 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
788 1526832 : full_data(idata) = data_tmp
789 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
790 1526832 : idata = idata + 1
791 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
792 1526832 : full_data(idata) = data_tmp
793 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
794 1526832 : idata = idata + 1
795 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
796 1526832 : full_data(idata) = data_tmp
797 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
798 1526832 : idata = idata + 1
799 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
800 1526832 : full_data(idata) = data_tmp
801 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
802 1526832 : idata = idata + 1
803 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
804 1526832 : full_data(idata) = data_tmp
805 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
806 1526832 : idata = idata + 1
807 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
808 1526832 : full_data(idata) = data_tmp
809 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
810 1526832 : idata = idata + 1
811 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
812 1526832 : full_data(idata) = data_tmp
813 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
814 1526832 : idata = idata + 1
815 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
816 1526832 : full_data(idata) = data_tmp
817 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
818 : END DO
819 95427 : 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 95427 : END SUBROUTINE bits2ints_1
823 :
824 : ! **************************************************************************************************
825 : !> \brief ...
826 : !> \param Ndata ...
827 : !> \param packed_data ...
828 : !> \param full_data ...
829 : ! **************************************************************************************************
830 23676 : 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 23676 : idata = 0
841 23676 : ipack = 0
842 23676 : Ndata_rep = (Ndata/64)*64
843 23676 : DO kdata = 1, Ndata_rep, 64
844 378816 : pack_tmp = 0
845 378816 : idata = idata + 1
846 378816 : data_tmp = full_data(idata)
847 378816 : data_tmp = ISHFT(data_tmp, 62)
848 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
849 378816 : pack_tmp = ISHFT(pack_tmp, -2)
850 378816 : idata = idata + 1
851 378816 : data_tmp = full_data(idata)
852 378816 : data_tmp = ISHFT(data_tmp, 62)
853 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
854 378816 : pack_tmp = ISHFT(pack_tmp, -2)
855 378816 : idata = idata + 1
856 378816 : data_tmp = full_data(idata)
857 378816 : data_tmp = ISHFT(data_tmp, 62)
858 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
859 378816 : pack_tmp = ISHFT(pack_tmp, -2)
860 378816 : idata = idata + 1
861 378816 : data_tmp = full_data(idata)
862 378816 : data_tmp = ISHFT(data_tmp, 62)
863 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
864 378816 : pack_tmp = ISHFT(pack_tmp, -2)
865 378816 : idata = idata + 1
866 378816 : data_tmp = full_data(idata)
867 378816 : data_tmp = ISHFT(data_tmp, 62)
868 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
869 378816 : pack_tmp = ISHFT(pack_tmp, -2)
870 378816 : idata = idata + 1
871 378816 : data_tmp = full_data(idata)
872 378816 : data_tmp = ISHFT(data_tmp, 62)
873 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
874 378816 : pack_tmp = ISHFT(pack_tmp, -2)
875 378816 : idata = idata + 1
876 378816 : data_tmp = full_data(idata)
877 378816 : data_tmp = ISHFT(data_tmp, 62)
878 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
879 378816 : pack_tmp = ISHFT(pack_tmp, -2)
880 378816 : idata = idata + 1
881 378816 : data_tmp = full_data(idata)
882 378816 : data_tmp = ISHFT(data_tmp, 62)
883 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
884 378816 : pack_tmp = ISHFT(pack_tmp, -2)
885 378816 : idata = idata + 1
886 378816 : data_tmp = full_data(idata)
887 378816 : data_tmp = ISHFT(data_tmp, 62)
888 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
889 378816 : pack_tmp = ISHFT(pack_tmp, -2)
890 378816 : idata = idata + 1
891 378816 : data_tmp = full_data(idata)
892 378816 : data_tmp = ISHFT(data_tmp, 62)
893 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
894 378816 : pack_tmp = ISHFT(pack_tmp, -2)
895 378816 : idata = idata + 1
896 378816 : data_tmp = full_data(idata)
897 378816 : data_tmp = ISHFT(data_tmp, 62)
898 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
899 378816 : pack_tmp = ISHFT(pack_tmp, -2)
900 378816 : idata = idata + 1
901 378816 : data_tmp = full_data(idata)
902 378816 : data_tmp = ISHFT(data_tmp, 62)
903 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
904 378816 : pack_tmp = ISHFT(pack_tmp, -2)
905 378816 : idata = idata + 1
906 378816 : data_tmp = full_data(idata)
907 378816 : data_tmp = ISHFT(data_tmp, 62)
908 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
909 378816 : pack_tmp = ISHFT(pack_tmp, -2)
910 378816 : idata = idata + 1
911 378816 : data_tmp = full_data(idata)
912 378816 : data_tmp = ISHFT(data_tmp, 62)
913 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
914 378816 : pack_tmp = ISHFT(pack_tmp, -2)
915 378816 : idata = idata + 1
916 378816 : data_tmp = full_data(idata)
917 378816 : data_tmp = ISHFT(data_tmp, 62)
918 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
919 378816 : pack_tmp = ISHFT(pack_tmp, -2)
920 378816 : idata = idata + 1
921 378816 : data_tmp = full_data(idata)
922 378816 : data_tmp = ISHFT(data_tmp, 62)
923 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
924 378816 : pack_tmp = ISHFT(pack_tmp, -2)
925 378816 : idata = idata + 1
926 378816 : data_tmp = full_data(idata)
927 378816 : data_tmp = ISHFT(data_tmp, 62)
928 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
929 378816 : pack_tmp = ISHFT(pack_tmp, -2)
930 378816 : idata = idata + 1
931 378816 : data_tmp = full_data(idata)
932 378816 : data_tmp = ISHFT(data_tmp, 62)
933 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
934 378816 : pack_tmp = ISHFT(pack_tmp, -2)
935 378816 : idata = idata + 1
936 378816 : data_tmp = full_data(idata)
937 378816 : data_tmp = ISHFT(data_tmp, 62)
938 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
939 378816 : pack_tmp = ISHFT(pack_tmp, -2)
940 378816 : idata = idata + 1
941 378816 : data_tmp = full_data(idata)
942 378816 : data_tmp = ISHFT(data_tmp, 62)
943 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
944 378816 : pack_tmp = ISHFT(pack_tmp, -2)
945 378816 : idata = idata + 1
946 378816 : data_tmp = full_data(idata)
947 378816 : data_tmp = ISHFT(data_tmp, 62)
948 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
949 378816 : pack_tmp = ISHFT(pack_tmp, -2)
950 378816 : idata = idata + 1
951 378816 : data_tmp = full_data(idata)
952 378816 : data_tmp = ISHFT(data_tmp, 62)
953 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
954 378816 : pack_tmp = ISHFT(pack_tmp, -2)
955 378816 : idata = idata + 1
956 378816 : data_tmp = full_data(idata)
957 378816 : data_tmp = ISHFT(data_tmp, 62)
958 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
959 378816 : pack_tmp = ISHFT(pack_tmp, -2)
960 378816 : idata = idata + 1
961 378816 : data_tmp = full_data(idata)
962 378816 : data_tmp = ISHFT(data_tmp, 62)
963 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
964 378816 : pack_tmp = ISHFT(pack_tmp, -2)
965 378816 : idata = idata + 1
966 378816 : data_tmp = full_data(idata)
967 378816 : data_tmp = ISHFT(data_tmp, 62)
968 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
969 378816 : pack_tmp = ISHFT(pack_tmp, -2)
970 378816 : idata = idata + 1
971 378816 : data_tmp = full_data(idata)
972 378816 : data_tmp = ISHFT(data_tmp, 62)
973 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
974 378816 : pack_tmp = ISHFT(pack_tmp, -2)
975 378816 : idata = idata + 1
976 378816 : data_tmp = full_data(idata)
977 378816 : data_tmp = ISHFT(data_tmp, 62)
978 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
979 378816 : pack_tmp = ISHFT(pack_tmp, -2)
980 378816 : idata = idata + 1
981 378816 : data_tmp = full_data(idata)
982 378816 : data_tmp = ISHFT(data_tmp, 62)
983 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
984 378816 : pack_tmp = ISHFT(pack_tmp, -2)
985 378816 : idata = idata + 1
986 378816 : data_tmp = full_data(idata)
987 378816 : data_tmp = ISHFT(data_tmp, 62)
988 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
989 378816 : pack_tmp = ISHFT(pack_tmp, -2)
990 378816 : idata = idata + 1
991 378816 : data_tmp = full_data(idata)
992 378816 : data_tmp = ISHFT(data_tmp, 62)
993 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
994 378816 : pack_tmp = ISHFT(pack_tmp, -2)
995 378816 : idata = idata + 1
996 378816 : data_tmp = full_data(idata)
997 378816 : data_tmp = ISHFT(data_tmp, 62)
998 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
999 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1000 378816 : idata = idata + 1
1001 378816 : data_tmp = full_data(idata)
1002 378816 : data_tmp = ISHFT(data_tmp, 62)
1003 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1004 378816 : pack_tmp = ISHFT(pack_tmp, 0)
1005 378816 : idata = idata + 1
1006 378816 : data_tmp = full_data(idata)
1007 : data_tmp = ISHFT(data_tmp, 62)
1008 378816 : data_tmp = IAND(data_tmp, mask_left(0))
1009 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1010 378816 : ipack = ipack + 1
1011 378816 : packed_data(ipack) = pack_tmp
1012 378816 : data_tmp = full_data(idata)
1013 378816 : pack_tmp = ISHFT(data_tmp, 62)
1014 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1015 378816 : idata = idata + 1
1016 378816 : data_tmp = full_data(idata)
1017 378816 : data_tmp = ISHFT(data_tmp, 62)
1018 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1019 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1020 378816 : idata = idata + 1
1021 378816 : data_tmp = full_data(idata)
1022 378816 : data_tmp = ISHFT(data_tmp, 62)
1023 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1024 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1025 378816 : idata = idata + 1
1026 378816 : data_tmp = full_data(idata)
1027 378816 : data_tmp = ISHFT(data_tmp, 62)
1028 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1029 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1030 378816 : idata = idata + 1
1031 378816 : data_tmp = full_data(idata)
1032 378816 : data_tmp = ISHFT(data_tmp, 62)
1033 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1034 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1035 378816 : idata = idata + 1
1036 378816 : data_tmp = full_data(idata)
1037 378816 : data_tmp = ISHFT(data_tmp, 62)
1038 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1039 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1040 378816 : idata = idata + 1
1041 378816 : data_tmp = full_data(idata)
1042 378816 : data_tmp = ISHFT(data_tmp, 62)
1043 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1044 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1045 378816 : idata = idata + 1
1046 378816 : data_tmp = full_data(idata)
1047 378816 : data_tmp = ISHFT(data_tmp, 62)
1048 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1049 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1050 378816 : idata = idata + 1
1051 378816 : data_tmp = full_data(idata)
1052 378816 : data_tmp = ISHFT(data_tmp, 62)
1053 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1054 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1055 378816 : idata = idata + 1
1056 378816 : data_tmp = full_data(idata)
1057 378816 : data_tmp = ISHFT(data_tmp, 62)
1058 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1059 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1060 378816 : idata = idata + 1
1061 378816 : data_tmp = full_data(idata)
1062 378816 : data_tmp = ISHFT(data_tmp, 62)
1063 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1064 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1065 378816 : idata = idata + 1
1066 378816 : data_tmp = full_data(idata)
1067 378816 : data_tmp = ISHFT(data_tmp, 62)
1068 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1069 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1070 378816 : idata = idata + 1
1071 378816 : data_tmp = full_data(idata)
1072 378816 : data_tmp = ISHFT(data_tmp, 62)
1073 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1074 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1075 378816 : idata = idata + 1
1076 378816 : data_tmp = full_data(idata)
1077 378816 : data_tmp = ISHFT(data_tmp, 62)
1078 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1079 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1080 378816 : idata = idata + 1
1081 378816 : data_tmp = full_data(idata)
1082 378816 : data_tmp = ISHFT(data_tmp, 62)
1083 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1084 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1085 378816 : idata = idata + 1
1086 378816 : data_tmp = full_data(idata)
1087 378816 : data_tmp = ISHFT(data_tmp, 62)
1088 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1089 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1090 378816 : idata = idata + 1
1091 378816 : data_tmp = full_data(idata)
1092 378816 : data_tmp = ISHFT(data_tmp, 62)
1093 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1094 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1095 378816 : idata = idata + 1
1096 378816 : data_tmp = full_data(idata)
1097 378816 : data_tmp = ISHFT(data_tmp, 62)
1098 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1099 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1100 378816 : idata = idata + 1
1101 378816 : data_tmp = full_data(idata)
1102 378816 : data_tmp = ISHFT(data_tmp, 62)
1103 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1104 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1105 378816 : idata = idata + 1
1106 378816 : data_tmp = full_data(idata)
1107 378816 : data_tmp = ISHFT(data_tmp, 62)
1108 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1109 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1110 378816 : idata = idata + 1
1111 378816 : data_tmp = full_data(idata)
1112 378816 : data_tmp = ISHFT(data_tmp, 62)
1113 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1114 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1115 378816 : idata = idata + 1
1116 378816 : data_tmp = full_data(idata)
1117 378816 : data_tmp = ISHFT(data_tmp, 62)
1118 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1119 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1120 378816 : idata = idata + 1
1121 378816 : data_tmp = full_data(idata)
1122 378816 : data_tmp = ISHFT(data_tmp, 62)
1123 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1124 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1125 378816 : idata = idata + 1
1126 378816 : data_tmp = full_data(idata)
1127 378816 : data_tmp = ISHFT(data_tmp, 62)
1128 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1129 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1130 378816 : idata = idata + 1
1131 378816 : data_tmp = full_data(idata)
1132 378816 : data_tmp = ISHFT(data_tmp, 62)
1133 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1134 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1135 378816 : idata = idata + 1
1136 378816 : data_tmp = full_data(idata)
1137 378816 : data_tmp = ISHFT(data_tmp, 62)
1138 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1139 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1140 378816 : idata = idata + 1
1141 378816 : data_tmp = full_data(idata)
1142 378816 : data_tmp = ISHFT(data_tmp, 62)
1143 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1144 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1145 378816 : idata = idata + 1
1146 378816 : data_tmp = full_data(idata)
1147 378816 : data_tmp = ISHFT(data_tmp, 62)
1148 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1149 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1150 378816 : idata = idata + 1
1151 378816 : data_tmp = full_data(idata)
1152 378816 : data_tmp = ISHFT(data_tmp, 62)
1153 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1154 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1155 378816 : idata = idata + 1
1156 378816 : data_tmp = full_data(idata)
1157 378816 : data_tmp = ISHFT(data_tmp, 62)
1158 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1159 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1160 378816 : idata = idata + 1
1161 378816 : data_tmp = full_data(idata)
1162 378816 : data_tmp = ISHFT(data_tmp, 62)
1163 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1164 378816 : pack_tmp = ISHFT(pack_tmp, -2)
1165 378816 : idata = idata + 1
1166 378816 : data_tmp = full_data(idata)
1167 378816 : data_tmp = ISHFT(data_tmp, 62)
1168 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
1169 : pack_tmp = ISHFT(pack_tmp, 0)
1170 378816 : pack_tmp = ISHFT(pack_tmp, 0)
1171 378816 : ipack = ipack + 1
1172 378816 : packed_data(ipack) = pack_tmp
1173 : END DO
1174 23676 : 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 23676 : END SUBROUTINE ints2bits_2
1178 :
1179 : ! **************************************************************************************************
1180 : !> \brief ...
1181 : !> \param Ndata ...
1182 : !> \param packed_data ...
1183 : !> \param full_data ...
1184 : ! **************************************************************************************************
1185 95427 : 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 95427 : ipack = 0
1196 95427 : idata = 0
1197 95427 : pack_tmp = 0
1198 95427 : Ndata_rep = (Ndata/64)*64
1199 95427 : DO kdata = 1, Ndata_rep, 64
1200 1526832 : idata = idata + 1
1201 1526832 : data_tmp = ISHFT(pack_tmp, 2)
1202 1526832 : ipack = ipack + 1
1203 1526832 : pack_tmp = packed_data(ipack)
1204 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1205 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
1206 1526832 : idata = idata + 1
1207 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1208 1526832 : full_data(idata) = data_tmp
1209 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1210 1526832 : idata = idata + 1
1211 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1212 1526832 : full_data(idata) = data_tmp
1213 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1214 1526832 : idata = idata + 1
1215 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1216 1526832 : full_data(idata) = data_tmp
1217 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1218 1526832 : idata = idata + 1
1219 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1220 1526832 : full_data(idata) = data_tmp
1221 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1222 1526832 : idata = idata + 1
1223 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1224 1526832 : full_data(idata) = data_tmp
1225 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1226 1526832 : idata = idata + 1
1227 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1228 1526832 : full_data(idata) = data_tmp
1229 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1230 1526832 : idata = idata + 1
1231 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1232 1526832 : full_data(idata) = data_tmp
1233 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1234 1526832 : idata = idata + 1
1235 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1236 1526832 : full_data(idata) = data_tmp
1237 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1238 1526832 : idata = idata + 1
1239 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1240 1526832 : full_data(idata) = data_tmp
1241 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1242 1526832 : idata = idata + 1
1243 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1244 1526832 : full_data(idata) = data_tmp
1245 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1246 1526832 : idata = idata + 1
1247 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1248 1526832 : full_data(idata) = data_tmp
1249 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1250 1526832 : idata = idata + 1
1251 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1252 1526832 : full_data(idata) = data_tmp
1253 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1254 1526832 : idata = idata + 1
1255 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1256 1526832 : full_data(idata) = data_tmp
1257 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1258 1526832 : idata = idata + 1
1259 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1260 1526832 : full_data(idata) = data_tmp
1261 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1262 1526832 : idata = idata + 1
1263 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1264 1526832 : full_data(idata) = data_tmp
1265 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1266 1526832 : idata = idata + 1
1267 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1268 1526832 : full_data(idata) = data_tmp
1269 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1270 1526832 : idata = idata + 1
1271 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1272 1526832 : full_data(idata) = data_tmp
1273 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1274 1526832 : idata = idata + 1
1275 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1276 1526832 : full_data(idata) = data_tmp
1277 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1278 1526832 : idata = idata + 1
1279 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1280 1526832 : full_data(idata) = data_tmp
1281 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1282 1526832 : idata = idata + 1
1283 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1284 1526832 : full_data(idata) = data_tmp
1285 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1286 1526832 : idata = idata + 1
1287 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1288 1526832 : full_data(idata) = data_tmp
1289 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1290 1526832 : idata = idata + 1
1291 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1292 1526832 : full_data(idata) = data_tmp
1293 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1294 1526832 : idata = idata + 1
1295 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1296 1526832 : full_data(idata) = data_tmp
1297 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1298 1526832 : idata = idata + 1
1299 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1300 1526832 : full_data(idata) = data_tmp
1301 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1302 1526832 : idata = idata + 1
1303 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1304 1526832 : full_data(idata) = data_tmp
1305 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1306 1526832 : idata = idata + 1
1307 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1308 1526832 : full_data(idata) = data_tmp
1309 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1310 1526832 : idata = idata + 1
1311 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1312 1526832 : full_data(idata) = data_tmp
1313 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1314 1526832 : idata = idata + 1
1315 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1316 1526832 : full_data(idata) = data_tmp
1317 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1318 1526832 : idata = idata + 1
1319 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1320 1526832 : full_data(idata) = data_tmp
1321 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1322 1526832 : idata = idata + 1
1323 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1324 1526832 : full_data(idata) = data_tmp
1325 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1326 1526832 : idata = idata + 1
1327 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1328 1526832 : full_data(idata) = data_tmp
1329 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1330 1526832 : idata = idata + 1
1331 1526832 : data_tmp = ISHFT(pack_tmp, 2)
1332 1526832 : ipack = ipack + 1
1333 1526832 : pack_tmp = packed_data(ipack)
1334 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1335 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
1336 1526832 : idata = idata + 1
1337 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1338 1526832 : full_data(idata) = data_tmp
1339 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1340 1526832 : idata = idata + 1
1341 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1342 1526832 : full_data(idata) = data_tmp
1343 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1344 1526832 : idata = idata + 1
1345 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1346 1526832 : full_data(idata) = data_tmp
1347 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1348 1526832 : idata = idata + 1
1349 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1350 1526832 : full_data(idata) = data_tmp
1351 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1352 1526832 : idata = idata + 1
1353 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1354 1526832 : full_data(idata) = data_tmp
1355 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1356 1526832 : idata = idata + 1
1357 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1358 1526832 : full_data(idata) = data_tmp
1359 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1360 1526832 : idata = idata + 1
1361 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1362 1526832 : full_data(idata) = data_tmp
1363 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1364 1526832 : idata = idata + 1
1365 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1366 1526832 : full_data(idata) = data_tmp
1367 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1368 1526832 : idata = idata + 1
1369 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1370 1526832 : full_data(idata) = data_tmp
1371 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1372 1526832 : idata = idata + 1
1373 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1374 1526832 : full_data(idata) = data_tmp
1375 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1376 1526832 : idata = idata + 1
1377 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1378 1526832 : full_data(idata) = data_tmp
1379 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1380 1526832 : idata = idata + 1
1381 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1382 1526832 : full_data(idata) = data_tmp
1383 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1384 1526832 : idata = idata + 1
1385 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1386 1526832 : full_data(idata) = data_tmp
1387 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1388 1526832 : idata = idata + 1
1389 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1390 1526832 : full_data(idata) = data_tmp
1391 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1392 1526832 : idata = idata + 1
1393 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1394 1526832 : full_data(idata) = data_tmp
1395 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1396 1526832 : idata = idata + 1
1397 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1398 1526832 : full_data(idata) = data_tmp
1399 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1400 1526832 : idata = idata + 1
1401 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1402 1526832 : full_data(idata) = data_tmp
1403 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1404 1526832 : idata = idata + 1
1405 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1406 1526832 : full_data(idata) = data_tmp
1407 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1408 1526832 : idata = idata + 1
1409 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1410 1526832 : full_data(idata) = data_tmp
1411 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1412 1526832 : idata = idata + 1
1413 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1414 1526832 : full_data(idata) = data_tmp
1415 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1416 1526832 : idata = idata + 1
1417 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1418 1526832 : full_data(idata) = data_tmp
1419 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1420 1526832 : idata = idata + 1
1421 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1422 1526832 : full_data(idata) = data_tmp
1423 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1424 1526832 : idata = idata + 1
1425 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1426 1526832 : full_data(idata) = data_tmp
1427 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1428 1526832 : idata = idata + 1
1429 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1430 1526832 : full_data(idata) = data_tmp
1431 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1432 1526832 : idata = idata + 1
1433 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1434 1526832 : full_data(idata) = data_tmp
1435 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1436 1526832 : idata = idata + 1
1437 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1438 1526832 : full_data(idata) = data_tmp
1439 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1440 1526832 : idata = idata + 1
1441 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1442 1526832 : full_data(idata) = data_tmp
1443 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1444 1526832 : idata = idata + 1
1445 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1446 1526832 : full_data(idata) = data_tmp
1447 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1448 1526832 : idata = idata + 1
1449 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1450 1526832 : full_data(idata) = data_tmp
1451 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1452 1526832 : idata = idata + 1
1453 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1454 1526832 : full_data(idata) = data_tmp
1455 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1456 1526832 : idata = idata + 1
1457 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1458 1526832 : full_data(idata) = data_tmp
1459 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1460 : END DO
1461 95427 : 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 95427 : END SUBROUTINE bits2ints_2
1465 :
1466 : ! **************************************************************************************************
1467 : !> \brief ...
1468 : !> \param Ndata ...
1469 : !> \param packed_data ...
1470 : !> \param full_data ...
1471 : ! **************************************************************************************************
1472 23924 : 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 23924 : idata = 0
1483 23924 : ipack = 0
1484 23924 : Ndata_rep = (Ndata/64)*64
1485 23924 : DO kdata = 1, Ndata_rep, 64
1486 382648 : pack_tmp = 0
1487 382648 : idata = idata + 1
1488 382648 : data_tmp = full_data(idata)
1489 382648 : data_tmp = ISHFT(data_tmp, 61)
1490 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1491 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1492 382648 : idata = idata + 1
1493 382648 : data_tmp = full_data(idata)
1494 382648 : data_tmp = ISHFT(data_tmp, 61)
1495 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1496 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1497 382648 : idata = idata + 1
1498 382648 : data_tmp = full_data(idata)
1499 382648 : data_tmp = ISHFT(data_tmp, 61)
1500 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1501 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1502 382648 : idata = idata + 1
1503 382648 : data_tmp = full_data(idata)
1504 382648 : data_tmp = ISHFT(data_tmp, 61)
1505 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1506 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1507 382648 : idata = idata + 1
1508 382648 : data_tmp = full_data(idata)
1509 382648 : data_tmp = ISHFT(data_tmp, 61)
1510 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1511 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1512 382648 : idata = idata + 1
1513 382648 : data_tmp = full_data(idata)
1514 382648 : data_tmp = ISHFT(data_tmp, 61)
1515 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1516 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1517 382648 : idata = idata + 1
1518 382648 : data_tmp = full_data(idata)
1519 382648 : data_tmp = ISHFT(data_tmp, 61)
1520 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1521 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1522 382648 : idata = idata + 1
1523 382648 : data_tmp = full_data(idata)
1524 382648 : data_tmp = ISHFT(data_tmp, 61)
1525 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1526 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1527 382648 : idata = idata + 1
1528 382648 : data_tmp = full_data(idata)
1529 382648 : data_tmp = ISHFT(data_tmp, 61)
1530 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1531 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1532 382648 : idata = idata + 1
1533 382648 : data_tmp = full_data(idata)
1534 382648 : data_tmp = ISHFT(data_tmp, 61)
1535 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1536 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1537 382648 : idata = idata + 1
1538 382648 : data_tmp = full_data(idata)
1539 382648 : data_tmp = ISHFT(data_tmp, 61)
1540 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1541 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1542 382648 : idata = idata + 1
1543 382648 : data_tmp = full_data(idata)
1544 382648 : data_tmp = ISHFT(data_tmp, 61)
1545 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1546 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1547 382648 : idata = idata + 1
1548 382648 : data_tmp = full_data(idata)
1549 382648 : data_tmp = ISHFT(data_tmp, 61)
1550 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1551 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1552 382648 : idata = idata + 1
1553 382648 : data_tmp = full_data(idata)
1554 382648 : data_tmp = ISHFT(data_tmp, 61)
1555 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1556 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1557 382648 : idata = idata + 1
1558 382648 : data_tmp = full_data(idata)
1559 382648 : data_tmp = ISHFT(data_tmp, 61)
1560 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1561 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1562 382648 : idata = idata + 1
1563 382648 : data_tmp = full_data(idata)
1564 382648 : data_tmp = ISHFT(data_tmp, 61)
1565 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1566 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1567 382648 : idata = idata + 1
1568 382648 : data_tmp = full_data(idata)
1569 382648 : data_tmp = ISHFT(data_tmp, 61)
1570 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1571 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1572 382648 : idata = idata + 1
1573 382648 : data_tmp = full_data(idata)
1574 382648 : data_tmp = ISHFT(data_tmp, 61)
1575 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1576 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1577 382648 : idata = idata + 1
1578 382648 : data_tmp = full_data(idata)
1579 382648 : data_tmp = ISHFT(data_tmp, 61)
1580 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1581 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1582 382648 : idata = idata + 1
1583 382648 : data_tmp = full_data(idata)
1584 382648 : data_tmp = ISHFT(data_tmp, 61)
1585 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1586 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1587 382648 : idata = idata + 1
1588 382648 : data_tmp = full_data(idata)
1589 382648 : data_tmp = ISHFT(data_tmp, 61)
1590 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1591 382648 : pack_tmp = ISHFT(pack_tmp, -1)
1592 382648 : idata = idata + 1
1593 382648 : data_tmp = full_data(idata)
1594 382648 : data_tmp = ISHFT(data_tmp, 61)
1595 382648 : data_tmp = IAND(data_tmp, mask_left(1))
1596 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1597 382648 : ipack = ipack + 1
1598 382648 : packed_data(ipack) = pack_tmp
1599 382648 : data_tmp = full_data(idata)
1600 382648 : pack_tmp = ISHFT(data_tmp, 62)
1601 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1602 382648 : idata = idata + 1
1603 382648 : data_tmp = full_data(idata)
1604 382648 : data_tmp = ISHFT(data_tmp, 61)
1605 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1606 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1607 382648 : idata = idata + 1
1608 382648 : data_tmp = full_data(idata)
1609 382648 : data_tmp = ISHFT(data_tmp, 61)
1610 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1611 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1612 382648 : idata = idata + 1
1613 382648 : data_tmp = full_data(idata)
1614 382648 : data_tmp = ISHFT(data_tmp, 61)
1615 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1616 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1617 382648 : idata = idata + 1
1618 382648 : data_tmp = full_data(idata)
1619 382648 : data_tmp = ISHFT(data_tmp, 61)
1620 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1621 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1622 382648 : idata = idata + 1
1623 382648 : data_tmp = full_data(idata)
1624 382648 : data_tmp = ISHFT(data_tmp, 61)
1625 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1626 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1627 382648 : idata = idata + 1
1628 382648 : data_tmp = full_data(idata)
1629 382648 : data_tmp = ISHFT(data_tmp, 61)
1630 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1631 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1632 382648 : idata = idata + 1
1633 382648 : data_tmp = full_data(idata)
1634 382648 : data_tmp = ISHFT(data_tmp, 61)
1635 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1636 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1637 382648 : idata = idata + 1
1638 382648 : data_tmp = full_data(idata)
1639 382648 : data_tmp = ISHFT(data_tmp, 61)
1640 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1641 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1642 382648 : idata = idata + 1
1643 382648 : data_tmp = full_data(idata)
1644 382648 : data_tmp = ISHFT(data_tmp, 61)
1645 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1646 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1647 382648 : idata = idata + 1
1648 382648 : data_tmp = full_data(idata)
1649 382648 : data_tmp = ISHFT(data_tmp, 61)
1650 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1651 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1652 382648 : idata = idata + 1
1653 382648 : data_tmp = full_data(idata)
1654 382648 : data_tmp = ISHFT(data_tmp, 61)
1655 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1656 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1657 382648 : idata = idata + 1
1658 382648 : data_tmp = full_data(idata)
1659 382648 : data_tmp = ISHFT(data_tmp, 61)
1660 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1661 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1662 382648 : idata = idata + 1
1663 382648 : data_tmp = full_data(idata)
1664 382648 : data_tmp = ISHFT(data_tmp, 61)
1665 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1666 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1667 382648 : idata = idata + 1
1668 382648 : data_tmp = full_data(idata)
1669 382648 : data_tmp = ISHFT(data_tmp, 61)
1670 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1671 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1672 382648 : idata = idata + 1
1673 382648 : data_tmp = full_data(idata)
1674 382648 : data_tmp = ISHFT(data_tmp, 61)
1675 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1676 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1677 382648 : idata = idata + 1
1678 382648 : data_tmp = full_data(idata)
1679 382648 : data_tmp = ISHFT(data_tmp, 61)
1680 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1681 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1682 382648 : idata = idata + 1
1683 382648 : data_tmp = full_data(idata)
1684 382648 : data_tmp = ISHFT(data_tmp, 61)
1685 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1686 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1687 382648 : idata = idata + 1
1688 382648 : data_tmp = full_data(idata)
1689 382648 : data_tmp = ISHFT(data_tmp, 61)
1690 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1691 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1692 382648 : idata = idata + 1
1693 382648 : data_tmp = full_data(idata)
1694 382648 : data_tmp = ISHFT(data_tmp, 61)
1695 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1696 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1697 382648 : idata = idata + 1
1698 382648 : data_tmp = full_data(idata)
1699 382648 : data_tmp = ISHFT(data_tmp, 61)
1700 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1701 382648 : pack_tmp = ISHFT(pack_tmp, -2)
1702 382648 : idata = idata + 1
1703 382648 : data_tmp = full_data(idata)
1704 382648 : data_tmp = ISHFT(data_tmp, 61)
1705 382648 : data_tmp = IAND(data_tmp, mask_left(2))
1706 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1707 382648 : ipack = ipack + 1
1708 382648 : packed_data(ipack) = pack_tmp
1709 382648 : data_tmp = full_data(idata)
1710 382648 : pack_tmp = ISHFT(data_tmp, 63)
1711 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1712 382648 : idata = idata + 1
1713 382648 : data_tmp = full_data(idata)
1714 382648 : data_tmp = ISHFT(data_tmp, 61)
1715 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1716 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1717 382648 : idata = idata + 1
1718 382648 : data_tmp = full_data(idata)
1719 382648 : data_tmp = ISHFT(data_tmp, 61)
1720 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1721 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1722 382648 : idata = idata + 1
1723 382648 : data_tmp = full_data(idata)
1724 382648 : data_tmp = ISHFT(data_tmp, 61)
1725 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1726 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1727 382648 : idata = idata + 1
1728 382648 : data_tmp = full_data(idata)
1729 382648 : data_tmp = ISHFT(data_tmp, 61)
1730 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1731 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1732 382648 : idata = idata + 1
1733 382648 : data_tmp = full_data(idata)
1734 382648 : data_tmp = ISHFT(data_tmp, 61)
1735 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1736 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1737 382648 : idata = idata + 1
1738 382648 : data_tmp = full_data(idata)
1739 382648 : data_tmp = ISHFT(data_tmp, 61)
1740 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1741 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1742 382648 : idata = idata + 1
1743 382648 : data_tmp = full_data(idata)
1744 382648 : data_tmp = ISHFT(data_tmp, 61)
1745 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1746 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1747 382648 : idata = idata + 1
1748 382648 : data_tmp = full_data(idata)
1749 382648 : data_tmp = ISHFT(data_tmp, 61)
1750 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1751 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1752 382648 : idata = idata + 1
1753 382648 : data_tmp = full_data(idata)
1754 382648 : data_tmp = ISHFT(data_tmp, 61)
1755 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1756 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1757 382648 : idata = idata + 1
1758 382648 : data_tmp = full_data(idata)
1759 382648 : data_tmp = ISHFT(data_tmp, 61)
1760 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1761 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1762 382648 : idata = idata + 1
1763 382648 : data_tmp = full_data(idata)
1764 382648 : data_tmp = ISHFT(data_tmp, 61)
1765 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1766 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1767 382648 : idata = idata + 1
1768 382648 : data_tmp = full_data(idata)
1769 382648 : data_tmp = ISHFT(data_tmp, 61)
1770 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1771 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1772 382648 : idata = idata + 1
1773 382648 : data_tmp = full_data(idata)
1774 382648 : data_tmp = ISHFT(data_tmp, 61)
1775 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1776 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1777 382648 : idata = idata + 1
1778 382648 : data_tmp = full_data(idata)
1779 382648 : data_tmp = ISHFT(data_tmp, 61)
1780 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1781 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1782 382648 : idata = idata + 1
1783 382648 : data_tmp = full_data(idata)
1784 382648 : data_tmp = ISHFT(data_tmp, 61)
1785 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1786 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1787 382648 : idata = idata + 1
1788 382648 : data_tmp = full_data(idata)
1789 382648 : data_tmp = ISHFT(data_tmp, 61)
1790 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1791 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1792 382648 : idata = idata + 1
1793 382648 : data_tmp = full_data(idata)
1794 382648 : data_tmp = ISHFT(data_tmp, 61)
1795 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1796 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1797 382648 : idata = idata + 1
1798 382648 : data_tmp = full_data(idata)
1799 382648 : data_tmp = ISHFT(data_tmp, 61)
1800 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1801 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1802 382648 : idata = idata + 1
1803 382648 : data_tmp = full_data(idata)
1804 382648 : data_tmp = ISHFT(data_tmp, 61)
1805 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1806 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1807 382648 : idata = idata + 1
1808 382648 : data_tmp = full_data(idata)
1809 382648 : data_tmp = ISHFT(data_tmp, 61)
1810 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1811 382648 : pack_tmp = ISHFT(pack_tmp, -3)
1812 382648 : idata = idata + 1
1813 382648 : data_tmp = full_data(idata)
1814 382648 : data_tmp = ISHFT(data_tmp, 61)
1815 382648 : pack_tmp = IOR(pack_tmp, data_tmp)
1816 : pack_tmp = ISHFT(pack_tmp, 0)
1817 382648 : pack_tmp = ISHFT(pack_tmp, 0)
1818 382648 : ipack = ipack + 1
1819 382650 : packed_data(ipack) = pack_tmp
1820 : END DO
1821 23924 : 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 23924 : END SUBROUTINE ints2bits_3
1825 :
1826 : ! **************************************************************************************************
1827 : !> \brief ...
1828 : !> \param Ndata ...
1829 : !> \param packed_data ...
1830 : !> \param full_data ...
1831 : ! **************************************************************************************************
1832 96813 : 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 96813 : ipack = 0
1843 96813 : idata = 0
1844 96813 : pack_tmp = 0
1845 96813 : Ndata_rep = (Ndata/64)*64
1846 96813 : DO kdata = 1, Ndata_rep, 64
1847 1548056 : idata = idata + 1
1848 1548056 : data_tmp = ISHFT(pack_tmp, 3)
1849 1548056 : ipack = ipack + 1
1850 1548056 : pack_tmp = packed_data(ipack)
1851 1548056 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
1852 1548056 : pack_tmp = ISHFT(pack_tmp, -3)
1853 1548056 : idata = idata + 1
1854 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1855 1548056 : full_data(idata) = data_tmp
1856 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1857 1548056 : idata = idata + 1
1858 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1859 1548056 : full_data(idata) = data_tmp
1860 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1861 1548056 : idata = idata + 1
1862 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1863 1548056 : full_data(idata) = data_tmp
1864 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1865 1548056 : idata = idata + 1
1866 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1867 1548056 : full_data(idata) = data_tmp
1868 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1869 1548056 : idata = idata + 1
1870 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1871 1548056 : full_data(idata) = data_tmp
1872 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1873 1548056 : idata = idata + 1
1874 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1875 1548056 : full_data(idata) = data_tmp
1876 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1877 1548056 : idata = idata + 1
1878 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1879 1548056 : full_data(idata) = data_tmp
1880 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1881 1548056 : idata = idata + 1
1882 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1883 1548056 : full_data(idata) = data_tmp
1884 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1885 1548056 : idata = idata + 1
1886 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1887 1548056 : full_data(idata) = data_tmp
1888 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1889 1548056 : idata = idata + 1
1890 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1891 1548056 : full_data(idata) = data_tmp
1892 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1893 1548056 : idata = idata + 1
1894 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1895 1548056 : full_data(idata) = data_tmp
1896 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1897 1548056 : idata = idata + 1
1898 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1899 1548056 : full_data(idata) = data_tmp
1900 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1901 1548056 : idata = idata + 1
1902 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1903 1548056 : full_data(idata) = data_tmp
1904 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1905 1548056 : idata = idata + 1
1906 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1907 1548056 : full_data(idata) = data_tmp
1908 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1909 1548056 : idata = idata + 1
1910 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1911 1548056 : full_data(idata) = data_tmp
1912 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1913 1548056 : idata = idata + 1
1914 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1915 1548056 : full_data(idata) = data_tmp
1916 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1917 1548056 : idata = idata + 1
1918 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1919 1548056 : full_data(idata) = data_tmp
1920 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1921 1548056 : idata = idata + 1
1922 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1923 1548056 : full_data(idata) = data_tmp
1924 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1925 1548056 : idata = idata + 1
1926 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1927 1548056 : full_data(idata) = data_tmp
1928 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1929 1548056 : idata = idata + 1
1930 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1931 1548056 : full_data(idata) = data_tmp
1932 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1933 1548056 : idata = idata + 1
1934 1548056 : data_tmp = ISHFT(pack_tmp, 2)
1935 1548056 : ipack = ipack + 1
1936 1548056 : pack_tmp = packed_data(ipack)
1937 1548056 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1938 1548056 : pack_tmp = ISHFT(pack_tmp, -2)
1939 1548056 : idata = idata + 1
1940 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1941 1548056 : full_data(idata) = data_tmp
1942 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1943 1548056 : idata = idata + 1
1944 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1945 1548056 : full_data(idata) = data_tmp
1946 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1947 1548056 : idata = idata + 1
1948 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1949 1548056 : full_data(idata) = data_tmp
1950 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1951 1548056 : idata = idata + 1
1952 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1953 1548056 : full_data(idata) = data_tmp
1954 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1955 1548056 : idata = idata + 1
1956 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1957 1548056 : full_data(idata) = data_tmp
1958 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1959 1548056 : idata = idata + 1
1960 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1961 1548056 : full_data(idata) = data_tmp
1962 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1963 1548056 : idata = idata + 1
1964 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1965 1548056 : full_data(idata) = data_tmp
1966 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1967 1548056 : idata = idata + 1
1968 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1969 1548056 : full_data(idata) = data_tmp
1970 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1971 1548056 : idata = idata + 1
1972 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1973 1548056 : full_data(idata) = data_tmp
1974 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1975 1548056 : idata = idata + 1
1976 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1977 1548056 : full_data(idata) = data_tmp
1978 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1979 1548056 : idata = idata + 1
1980 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1981 1548056 : full_data(idata) = data_tmp
1982 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1983 1548056 : idata = idata + 1
1984 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1985 1548056 : full_data(idata) = data_tmp
1986 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1987 1548056 : idata = idata + 1
1988 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1989 1548056 : full_data(idata) = data_tmp
1990 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1991 1548056 : idata = idata + 1
1992 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1993 1548056 : full_data(idata) = data_tmp
1994 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1995 1548056 : idata = idata + 1
1996 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1997 1548056 : full_data(idata) = data_tmp
1998 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1999 1548056 : idata = idata + 1
2000 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2001 1548056 : full_data(idata) = data_tmp
2002 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2003 1548056 : idata = idata + 1
2004 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2005 1548056 : full_data(idata) = data_tmp
2006 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2007 1548056 : idata = idata + 1
2008 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2009 1548056 : full_data(idata) = data_tmp
2010 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2011 1548056 : idata = idata + 1
2012 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2013 1548056 : full_data(idata) = data_tmp
2014 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2015 1548056 : idata = idata + 1
2016 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2017 1548056 : full_data(idata) = data_tmp
2018 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2019 1548056 : idata = idata + 1
2020 1548056 : data_tmp = ISHFT(pack_tmp, 1)
2021 1548056 : ipack = ipack + 1
2022 1548056 : pack_tmp = packed_data(ipack)
2023 1548056 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
2024 1548056 : pack_tmp = ISHFT(pack_tmp, -1)
2025 1548056 : idata = idata + 1
2026 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2027 1548056 : full_data(idata) = data_tmp
2028 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2029 1548056 : idata = idata + 1
2030 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2031 1548056 : full_data(idata) = data_tmp
2032 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2033 1548056 : idata = idata + 1
2034 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2035 1548056 : full_data(idata) = data_tmp
2036 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2037 1548056 : idata = idata + 1
2038 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2039 1548056 : full_data(idata) = data_tmp
2040 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2041 1548056 : idata = idata + 1
2042 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2043 1548056 : full_data(idata) = data_tmp
2044 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2045 1548056 : idata = idata + 1
2046 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2047 1548056 : full_data(idata) = data_tmp
2048 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2049 1548056 : idata = idata + 1
2050 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2051 1548056 : full_data(idata) = data_tmp
2052 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2053 1548056 : idata = idata + 1
2054 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2055 1548056 : full_data(idata) = data_tmp
2056 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2057 1548056 : idata = idata + 1
2058 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2059 1548056 : full_data(idata) = data_tmp
2060 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2061 1548056 : idata = idata + 1
2062 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2063 1548056 : full_data(idata) = data_tmp
2064 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2065 1548056 : idata = idata + 1
2066 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2067 1548056 : full_data(idata) = data_tmp
2068 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2069 1548056 : idata = idata + 1
2070 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2071 1548056 : full_data(idata) = data_tmp
2072 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2073 1548056 : idata = idata + 1
2074 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2075 1548056 : full_data(idata) = data_tmp
2076 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2077 1548056 : idata = idata + 1
2078 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2079 1548056 : full_data(idata) = data_tmp
2080 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2081 1548056 : idata = idata + 1
2082 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2083 1548056 : full_data(idata) = data_tmp
2084 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2085 1548056 : idata = idata + 1
2086 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2087 1548056 : full_data(idata) = data_tmp
2088 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2089 1548056 : idata = idata + 1
2090 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2091 1548056 : full_data(idata) = data_tmp
2092 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2093 1548056 : idata = idata + 1
2094 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2095 1548056 : full_data(idata) = data_tmp
2096 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2097 1548056 : idata = idata + 1
2098 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2099 1548056 : full_data(idata) = data_tmp
2100 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2101 1548056 : idata = idata + 1
2102 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2103 1548056 : full_data(idata) = data_tmp
2104 1548056 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2105 1548056 : idata = idata + 1
2106 1548056 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2107 1548056 : full_data(idata) = data_tmp
2108 1548070 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2109 : END DO
2110 96813 : 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 96813 : END SUBROUTINE bits2ints_3
2114 :
2115 : ! **************************************************************************************************
2116 : !> \brief ...
2117 : !> \param Ndata ...
2118 : !> \param packed_data ...
2119 : !> \param full_data ...
2120 : ! **************************************************************************************************
2121 24027 : 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 24027 : idata = 0
2132 24027 : ipack = 0
2133 24027 : Ndata_rep = (Ndata/64)*64
2134 24027 : DO kdata = 1, Ndata_rep, 64
2135 384128 : pack_tmp = 0
2136 384128 : idata = idata + 1
2137 384128 : data_tmp = full_data(idata)
2138 384128 : data_tmp = ISHFT(data_tmp, 60)
2139 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2140 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2141 384128 : idata = idata + 1
2142 384128 : data_tmp = full_data(idata)
2143 384128 : data_tmp = ISHFT(data_tmp, 60)
2144 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2145 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2146 384128 : idata = idata + 1
2147 384128 : data_tmp = full_data(idata)
2148 384128 : data_tmp = ISHFT(data_tmp, 60)
2149 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2150 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2151 384128 : idata = idata + 1
2152 384128 : data_tmp = full_data(idata)
2153 384128 : data_tmp = ISHFT(data_tmp, 60)
2154 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2155 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2156 384128 : idata = idata + 1
2157 384128 : data_tmp = full_data(idata)
2158 384128 : data_tmp = ISHFT(data_tmp, 60)
2159 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2160 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2161 384128 : idata = idata + 1
2162 384128 : data_tmp = full_data(idata)
2163 384128 : data_tmp = ISHFT(data_tmp, 60)
2164 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2165 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2166 384128 : idata = idata + 1
2167 384128 : data_tmp = full_data(idata)
2168 384128 : data_tmp = ISHFT(data_tmp, 60)
2169 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2170 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2171 384128 : idata = idata + 1
2172 384128 : data_tmp = full_data(idata)
2173 384128 : data_tmp = ISHFT(data_tmp, 60)
2174 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2175 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2176 384128 : idata = idata + 1
2177 384128 : data_tmp = full_data(idata)
2178 384128 : data_tmp = ISHFT(data_tmp, 60)
2179 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2180 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2181 384128 : idata = idata + 1
2182 384128 : data_tmp = full_data(idata)
2183 384128 : data_tmp = ISHFT(data_tmp, 60)
2184 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2185 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2186 384128 : idata = idata + 1
2187 384128 : data_tmp = full_data(idata)
2188 384128 : data_tmp = ISHFT(data_tmp, 60)
2189 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2190 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2191 384128 : idata = idata + 1
2192 384128 : data_tmp = full_data(idata)
2193 384128 : data_tmp = ISHFT(data_tmp, 60)
2194 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2195 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2196 384128 : idata = idata + 1
2197 384128 : data_tmp = full_data(idata)
2198 384128 : data_tmp = ISHFT(data_tmp, 60)
2199 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2200 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2201 384128 : idata = idata + 1
2202 384128 : data_tmp = full_data(idata)
2203 384128 : data_tmp = ISHFT(data_tmp, 60)
2204 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2205 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2206 384128 : idata = idata + 1
2207 384128 : data_tmp = full_data(idata)
2208 384128 : data_tmp = ISHFT(data_tmp, 60)
2209 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2210 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2211 384128 : idata = idata + 1
2212 384128 : data_tmp = full_data(idata)
2213 384128 : data_tmp = ISHFT(data_tmp, 60)
2214 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2215 384128 : pack_tmp = ISHFT(pack_tmp, 0)
2216 384128 : idata = idata + 1
2217 384128 : data_tmp = full_data(idata)
2218 : data_tmp = ISHFT(data_tmp, 60)
2219 384128 : data_tmp = IAND(data_tmp, mask_left(0))
2220 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2221 384128 : ipack = ipack + 1
2222 384128 : packed_data(ipack) = pack_tmp
2223 384128 : data_tmp = full_data(idata)
2224 384128 : pack_tmp = ISHFT(data_tmp, 60)
2225 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2226 384128 : idata = idata + 1
2227 384128 : data_tmp = full_data(idata)
2228 384128 : data_tmp = ISHFT(data_tmp, 60)
2229 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2230 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2231 384128 : idata = idata + 1
2232 384128 : data_tmp = full_data(idata)
2233 384128 : data_tmp = ISHFT(data_tmp, 60)
2234 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2235 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2236 384128 : idata = idata + 1
2237 384128 : data_tmp = full_data(idata)
2238 384128 : data_tmp = ISHFT(data_tmp, 60)
2239 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2240 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2241 384128 : idata = idata + 1
2242 384128 : data_tmp = full_data(idata)
2243 384128 : data_tmp = ISHFT(data_tmp, 60)
2244 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2245 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2246 384128 : idata = idata + 1
2247 384128 : data_tmp = full_data(idata)
2248 384128 : data_tmp = ISHFT(data_tmp, 60)
2249 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2250 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2251 384128 : idata = idata + 1
2252 384128 : data_tmp = full_data(idata)
2253 384128 : data_tmp = ISHFT(data_tmp, 60)
2254 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2255 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2256 384128 : idata = idata + 1
2257 384128 : data_tmp = full_data(idata)
2258 384128 : data_tmp = ISHFT(data_tmp, 60)
2259 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2260 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2261 384128 : idata = idata + 1
2262 384128 : data_tmp = full_data(idata)
2263 384128 : data_tmp = ISHFT(data_tmp, 60)
2264 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2265 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2266 384128 : idata = idata + 1
2267 384128 : data_tmp = full_data(idata)
2268 384128 : data_tmp = ISHFT(data_tmp, 60)
2269 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2270 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2271 384128 : idata = idata + 1
2272 384128 : data_tmp = full_data(idata)
2273 384128 : data_tmp = ISHFT(data_tmp, 60)
2274 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2275 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2276 384128 : idata = idata + 1
2277 384128 : data_tmp = full_data(idata)
2278 384128 : data_tmp = ISHFT(data_tmp, 60)
2279 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2280 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2281 384128 : idata = idata + 1
2282 384128 : data_tmp = full_data(idata)
2283 384128 : data_tmp = ISHFT(data_tmp, 60)
2284 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2285 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2286 384128 : idata = idata + 1
2287 384128 : data_tmp = full_data(idata)
2288 384128 : data_tmp = ISHFT(data_tmp, 60)
2289 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2290 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2291 384128 : idata = idata + 1
2292 384128 : data_tmp = full_data(idata)
2293 384128 : data_tmp = ISHFT(data_tmp, 60)
2294 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2295 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2296 384128 : idata = idata + 1
2297 384128 : data_tmp = full_data(idata)
2298 384128 : data_tmp = ISHFT(data_tmp, 60)
2299 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2300 384128 : pack_tmp = ISHFT(pack_tmp, 0)
2301 384128 : idata = idata + 1
2302 384128 : data_tmp = full_data(idata)
2303 : data_tmp = ISHFT(data_tmp, 60)
2304 384128 : data_tmp = IAND(data_tmp, mask_left(0))
2305 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2306 384128 : ipack = ipack + 1
2307 384128 : packed_data(ipack) = pack_tmp
2308 384128 : data_tmp = full_data(idata)
2309 384128 : pack_tmp = ISHFT(data_tmp, 60)
2310 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2311 384128 : idata = idata + 1
2312 384128 : data_tmp = full_data(idata)
2313 384128 : data_tmp = ISHFT(data_tmp, 60)
2314 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2315 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2316 384128 : idata = idata + 1
2317 384128 : data_tmp = full_data(idata)
2318 384128 : data_tmp = ISHFT(data_tmp, 60)
2319 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2320 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2321 384128 : idata = idata + 1
2322 384128 : data_tmp = full_data(idata)
2323 384128 : data_tmp = ISHFT(data_tmp, 60)
2324 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2325 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2326 384128 : idata = idata + 1
2327 384128 : data_tmp = full_data(idata)
2328 384128 : data_tmp = ISHFT(data_tmp, 60)
2329 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2330 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2331 384128 : idata = idata + 1
2332 384128 : data_tmp = full_data(idata)
2333 384128 : data_tmp = ISHFT(data_tmp, 60)
2334 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2335 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2336 384128 : idata = idata + 1
2337 384128 : data_tmp = full_data(idata)
2338 384128 : data_tmp = ISHFT(data_tmp, 60)
2339 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2340 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2341 384128 : idata = idata + 1
2342 384128 : data_tmp = full_data(idata)
2343 384128 : data_tmp = ISHFT(data_tmp, 60)
2344 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2345 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2346 384128 : idata = idata + 1
2347 384128 : data_tmp = full_data(idata)
2348 384128 : data_tmp = ISHFT(data_tmp, 60)
2349 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2350 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2351 384128 : idata = idata + 1
2352 384128 : data_tmp = full_data(idata)
2353 384128 : data_tmp = ISHFT(data_tmp, 60)
2354 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2355 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2356 384128 : idata = idata + 1
2357 384128 : data_tmp = full_data(idata)
2358 384128 : data_tmp = ISHFT(data_tmp, 60)
2359 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2360 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2361 384128 : idata = idata + 1
2362 384128 : data_tmp = full_data(idata)
2363 384128 : data_tmp = ISHFT(data_tmp, 60)
2364 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2365 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2366 384128 : idata = idata + 1
2367 384128 : data_tmp = full_data(idata)
2368 384128 : data_tmp = ISHFT(data_tmp, 60)
2369 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2370 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2371 384128 : idata = idata + 1
2372 384128 : data_tmp = full_data(idata)
2373 384128 : data_tmp = ISHFT(data_tmp, 60)
2374 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2375 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2376 384128 : idata = idata + 1
2377 384128 : data_tmp = full_data(idata)
2378 384128 : data_tmp = ISHFT(data_tmp, 60)
2379 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2380 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2381 384128 : idata = idata + 1
2382 384128 : data_tmp = full_data(idata)
2383 384128 : data_tmp = ISHFT(data_tmp, 60)
2384 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2385 384128 : pack_tmp = ISHFT(pack_tmp, 0)
2386 384128 : idata = idata + 1
2387 384128 : data_tmp = full_data(idata)
2388 : data_tmp = ISHFT(data_tmp, 60)
2389 384128 : data_tmp = IAND(data_tmp, mask_left(0))
2390 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2391 384128 : ipack = ipack + 1
2392 384128 : packed_data(ipack) = pack_tmp
2393 384128 : data_tmp = full_data(idata)
2394 384128 : pack_tmp = ISHFT(data_tmp, 60)
2395 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2396 384128 : idata = idata + 1
2397 384128 : data_tmp = full_data(idata)
2398 384128 : data_tmp = ISHFT(data_tmp, 60)
2399 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2400 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2401 384128 : idata = idata + 1
2402 384128 : data_tmp = full_data(idata)
2403 384128 : data_tmp = ISHFT(data_tmp, 60)
2404 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2405 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2406 384128 : idata = idata + 1
2407 384128 : data_tmp = full_data(idata)
2408 384128 : data_tmp = ISHFT(data_tmp, 60)
2409 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2410 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2411 384128 : idata = idata + 1
2412 384128 : data_tmp = full_data(idata)
2413 384128 : data_tmp = ISHFT(data_tmp, 60)
2414 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2415 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2416 384128 : idata = idata + 1
2417 384128 : data_tmp = full_data(idata)
2418 384128 : data_tmp = ISHFT(data_tmp, 60)
2419 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2420 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2421 384128 : idata = idata + 1
2422 384128 : data_tmp = full_data(idata)
2423 384128 : data_tmp = ISHFT(data_tmp, 60)
2424 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2425 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2426 384128 : idata = idata + 1
2427 384128 : data_tmp = full_data(idata)
2428 384128 : data_tmp = ISHFT(data_tmp, 60)
2429 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2430 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2431 384128 : idata = idata + 1
2432 384128 : data_tmp = full_data(idata)
2433 384128 : data_tmp = ISHFT(data_tmp, 60)
2434 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2435 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2436 384128 : idata = idata + 1
2437 384128 : data_tmp = full_data(idata)
2438 384128 : data_tmp = ISHFT(data_tmp, 60)
2439 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2440 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2441 384128 : idata = idata + 1
2442 384128 : data_tmp = full_data(idata)
2443 384128 : data_tmp = ISHFT(data_tmp, 60)
2444 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2445 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2446 384128 : idata = idata + 1
2447 384128 : data_tmp = full_data(idata)
2448 384128 : data_tmp = ISHFT(data_tmp, 60)
2449 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2450 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2451 384128 : idata = idata + 1
2452 384128 : data_tmp = full_data(idata)
2453 384128 : data_tmp = ISHFT(data_tmp, 60)
2454 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2455 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2456 384128 : idata = idata + 1
2457 384128 : data_tmp = full_data(idata)
2458 384128 : data_tmp = ISHFT(data_tmp, 60)
2459 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2460 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2461 384128 : idata = idata + 1
2462 384128 : data_tmp = full_data(idata)
2463 384128 : data_tmp = ISHFT(data_tmp, 60)
2464 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2465 384128 : pack_tmp = ISHFT(pack_tmp, -4)
2466 384128 : idata = idata + 1
2467 384128 : data_tmp = full_data(idata)
2468 384128 : data_tmp = ISHFT(data_tmp, 60)
2469 384128 : pack_tmp = IOR(pack_tmp, data_tmp)
2470 : pack_tmp = ISHFT(pack_tmp, 0)
2471 384128 : pack_tmp = ISHFT(pack_tmp, 0)
2472 384128 : ipack = ipack + 1
2473 384147 : packed_data(ipack) = pack_tmp
2474 : END DO
2475 24027 : 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 24027 : END SUBROUTINE ints2bits_4
2479 :
2480 : ! **************************************************************************************************
2481 : !> \brief ...
2482 : !> \param Ndata ...
2483 : !> \param packed_data ...
2484 : !> \param full_data ...
2485 : ! **************************************************************************************************
2486 97628 : 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 97628 : ipack = 0
2497 97628 : idata = 0
2498 97628 : pack_tmp = 0
2499 97628 : Ndata_rep = (Ndata/64)*64
2500 97628 : DO kdata = 1, Ndata_rep, 64
2501 1560144 : idata = idata + 1
2502 1560144 : data_tmp = ISHFT(pack_tmp, 4)
2503 1560144 : ipack = ipack + 1
2504 1560144 : pack_tmp = packed_data(ipack)
2505 1560144 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2506 1560144 : pack_tmp = ISHFT(pack_tmp, -4)
2507 1560144 : idata = idata + 1
2508 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2509 1560144 : full_data(idata) = data_tmp
2510 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2511 1560144 : idata = idata + 1
2512 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2513 1560144 : full_data(idata) = data_tmp
2514 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2515 1560144 : idata = idata + 1
2516 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2517 1560144 : full_data(idata) = data_tmp
2518 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2519 1560144 : idata = idata + 1
2520 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2521 1560144 : full_data(idata) = data_tmp
2522 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2523 1560144 : idata = idata + 1
2524 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2525 1560144 : full_data(idata) = data_tmp
2526 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2527 1560144 : idata = idata + 1
2528 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2529 1560144 : full_data(idata) = data_tmp
2530 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2531 1560144 : idata = idata + 1
2532 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2533 1560144 : full_data(idata) = data_tmp
2534 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2535 1560144 : idata = idata + 1
2536 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2537 1560144 : full_data(idata) = data_tmp
2538 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2539 1560144 : idata = idata + 1
2540 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2541 1560144 : full_data(idata) = data_tmp
2542 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2543 1560144 : idata = idata + 1
2544 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2545 1560144 : full_data(idata) = data_tmp
2546 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2547 1560144 : idata = idata + 1
2548 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2549 1560144 : full_data(idata) = data_tmp
2550 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2551 1560144 : idata = idata + 1
2552 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2553 1560144 : full_data(idata) = data_tmp
2554 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2555 1560144 : idata = idata + 1
2556 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2557 1560144 : full_data(idata) = data_tmp
2558 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2559 1560144 : idata = idata + 1
2560 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2561 1560144 : full_data(idata) = data_tmp
2562 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2563 1560144 : idata = idata + 1
2564 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2565 1560144 : full_data(idata) = data_tmp
2566 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2567 1560144 : idata = idata + 1
2568 1560144 : data_tmp = ISHFT(pack_tmp, 4)
2569 1560144 : ipack = ipack + 1
2570 1560144 : pack_tmp = packed_data(ipack)
2571 1560144 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2572 1560144 : pack_tmp = ISHFT(pack_tmp, -4)
2573 1560144 : idata = idata + 1
2574 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2575 1560144 : full_data(idata) = data_tmp
2576 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2577 1560144 : idata = idata + 1
2578 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2579 1560144 : full_data(idata) = data_tmp
2580 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2581 1560144 : idata = idata + 1
2582 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2583 1560144 : full_data(idata) = data_tmp
2584 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2585 1560144 : idata = idata + 1
2586 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2587 1560144 : full_data(idata) = data_tmp
2588 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2589 1560144 : idata = idata + 1
2590 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2591 1560144 : full_data(idata) = data_tmp
2592 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2593 1560144 : idata = idata + 1
2594 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2595 1560144 : full_data(idata) = data_tmp
2596 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2597 1560144 : idata = idata + 1
2598 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2599 1560144 : full_data(idata) = data_tmp
2600 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2601 1560144 : idata = idata + 1
2602 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2603 1560144 : full_data(idata) = data_tmp
2604 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2605 1560144 : idata = idata + 1
2606 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2607 1560144 : full_data(idata) = data_tmp
2608 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2609 1560144 : idata = idata + 1
2610 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2611 1560144 : full_data(idata) = data_tmp
2612 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2613 1560144 : idata = idata + 1
2614 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2615 1560144 : full_data(idata) = data_tmp
2616 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2617 1560144 : idata = idata + 1
2618 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2619 1560144 : full_data(idata) = data_tmp
2620 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2621 1560144 : idata = idata + 1
2622 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2623 1560144 : full_data(idata) = data_tmp
2624 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2625 1560144 : idata = idata + 1
2626 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2627 1560144 : full_data(idata) = data_tmp
2628 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2629 1560144 : idata = idata + 1
2630 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2631 1560144 : full_data(idata) = data_tmp
2632 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2633 1560144 : idata = idata + 1
2634 1560144 : data_tmp = ISHFT(pack_tmp, 4)
2635 1560144 : ipack = ipack + 1
2636 1560144 : pack_tmp = packed_data(ipack)
2637 1560144 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2638 1560144 : pack_tmp = ISHFT(pack_tmp, -4)
2639 1560144 : idata = idata + 1
2640 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2641 1560144 : full_data(idata) = data_tmp
2642 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2643 1560144 : idata = idata + 1
2644 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2645 1560144 : full_data(idata) = data_tmp
2646 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2647 1560144 : idata = idata + 1
2648 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2649 1560144 : full_data(idata) = data_tmp
2650 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2651 1560144 : idata = idata + 1
2652 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2653 1560144 : full_data(idata) = data_tmp
2654 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2655 1560144 : idata = idata + 1
2656 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2657 1560144 : full_data(idata) = data_tmp
2658 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2659 1560144 : idata = idata + 1
2660 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2661 1560144 : full_data(idata) = data_tmp
2662 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2663 1560144 : idata = idata + 1
2664 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2665 1560144 : full_data(idata) = data_tmp
2666 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2667 1560144 : idata = idata + 1
2668 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2669 1560144 : full_data(idata) = data_tmp
2670 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2671 1560144 : idata = idata + 1
2672 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2673 1560144 : full_data(idata) = data_tmp
2674 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2675 1560144 : idata = idata + 1
2676 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2677 1560144 : full_data(idata) = data_tmp
2678 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2679 1560144 : idata = idata + 1
2680 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2681 1560144 : full_data(idata) = data_tmp
2682 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2683 1560144 : idata = idata + 1
2684 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2685 1560144 : full_data(idata) = data_tmp
2686 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2687 1560144 : idata = idata + 1
2688 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2689 1560144 : full_data(idata) = data_tmp
2690 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2691 1560144 : idata = idata + 1
2692 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2693 1560144 : full_data(idata) = data_tmp
2694 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2695 1560144 : idata = idata + 1
2696 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2697 1560144 : full_data(idata) = data_tmp
2698 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2699 1560144 : idata = idata + 1
2700 1560144 : data_tmp = ISHFT(pack_tmp, 4)
2701 1560144 : ipack = ipack + 1
2702 1560144 : pack_tmp = packed_data(ipack)
2703 1560144 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2704 1560144 : pack_tmp = ISHFT(pack_tmp, -4)
2705 1560144 : idata = idata + 1
2706 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2707 1560144 : full_data(idata) = data_tmp
2708 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2709 1560144 : idata = idata + 1
2710 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2711 1560144 : full_data(idata) = data_tmp
2712 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2713 1560144 : idata = idata + 1
2714 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2715 1560144 : full_data(idata) = data_tmp
2716 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2717 1560144 : idata = idata + 1
2718 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2719 1560144 : full_data(idata) = data_tmp
2720 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2721 1560144 : idata = idata + 1
2722 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2723 1560144 : full_data(idata) = data_tmp
2724 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2725 1560144 : idata = idata + 1
2726 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2727 1560144 : full_data(idata) = data_tmp
2728 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2729 1560144 : idata = idata + 1
2730 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2731 1560144 : full_data(idata) = data_tmp
2732 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2733 1560144 : idata = idata + 1
2734 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2735 1560144 : full_data(idata) = data_tmp
2736 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2737 1560144 : idata = idata + 1
2738 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2739 1560144 : full_data(idata) = data_tmp
2740 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2741 1560144 : idata = idata + 1
2742 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2743 1560144 : full_data(idata) = data_tmp
2744 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2745 1560144 : idata = idata + 1
2746 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2747 1560144 : full_data(idata) = data_tmp
2748 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2749 1560144 : idata = idata + 1
2750 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2751 1560144 : full_data(idata) = data_tmp
2752 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2753 1560144 : idata = idata + 1
2754 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2755 1560144 : full_data(idata) = data_tmp
2756 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2757 1560144 : idata = idata + 1
2758 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2759 1560144 : full_data(idata) = data_tmp
2760 1560144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2761 1560144 : idata = idata + 1
2762 1560144 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2763 1560144 : full_data(idata) = data_tmp
2764 1560263 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2765 : END DO
2766 97628 : 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 97628 : END SUBROUTINE bits2ints_4
2770 :
2771 : ! **************************************************************************************************
2772 : !> \brief ...
2773 : !> \param Ndata ...
2774 : !> \param packed_data ...
2775 : !> \param full_data ...
2776 : ! **************************************************************************************************
2777 23911 : 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 23911 : idata = 0
2788 23911 : ipack = 0
2789 23911 : Ndata_rep = (Ndata/64)*64
2790 23911 : DO kdata = 1, Ndata_rep, 64
2791 382357 : pack_tmp = 0
2792 382357 : idata = idata + 1
2793 382357 : data_tmp = full_data(idata)
2794 382357 : data_tmp = ISHFT(data_tmp, 59)
2795 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2796 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2797 382357 : idata = idata + 1
2798 382357 : data_tmp = full_data(idata)
2799 382357 : data_tmp = ISHFT(data_tmp, 59)
2800 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2801 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2802 382357 : idata = idata + 1
2803 382357 : data_tmp = full_data(idata)
2804 382357 : data_tmp = ISHFT(data_tmp, 59)
2805 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2806 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2807 382357 : idata = idata + 1
2808 382357 : data_tmp = full_data(idata)
2809 382357 : data_tmp = ISHFT(data_tmp, 59)
2810 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2811 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2812 382357 : idata = idata + 1
2813 382357 : data_tmp = full_data(idata)
2814 382357 : data_tmp = ISHFT(data_tmp, 59)
2815 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2816 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2817 382357 : idata = idata + 1
2818 382357 : data_tmp = full_data(idata)
2819 382357 : data_tmp = ISHFT(data_tmp, 59)
2820 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2821 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2822 382357 : idata = idata + 1
2823 382357 : data_tmp = full_data(idata)
2824 382357 : data_tmp = ISHFT(data_tmp, 59)
2825 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2826 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2827 382357 : idata = idata + 1
2828 382357 : data_tmp = full_data(idata)
2829 382357 : data_tmp = ISHFT(data_tmp, 59)
2830 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2831 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2832 382357 : idata = idata + 1
2833 382357 : data_tmp = full_data(idata)
2834 382357 : data_tmp = ISHFT(data_tmp, 59)
2835 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2836 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2837 382357 : idata = idata + 1
2838 382357 : data_tmp = full_data(idata)
2839 382357 : data_tmp = ISHFT(data_tmp, 59)
2840 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2841 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2842 382357 : idata = idata + 1
2843 382357 : data_tmp = full_data(idata)
2844 382357 : data_tmp = ISHFT(data_tmp, 59)
2845 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2846 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2847 382357 : idata = idata + 1
2848 382357 : data_tmp = full_data(idata)
2849 382357 : data_tmp = ISHFT(data_tmp, 59)
2850 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2851 382357 : pack_tmp = ISHFT(pack_tmp, -4)
2852 382357 : idata = idata + 1
2853 382357 : data_tmp = full_data(idata)
2854 382357 : data_tmp = ISHFT(data_tmp, 59)
2855 382357 : data_tmp = IAND(data_tmp, mask_left(4))
2856 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2857 382357 : ipack = ipack + 1
2858 382357 : packed_data(ipack) = pack_tmp
2859 382357 : data_tmp = full_data(idata)
2860 382357 : pack_tmp = ISHFT(data_tmp, 63)
2861 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2862 382357 : idata = idata + 1
2863 382357 : data_tmp = full_data(idata)
2864 382357 : data_tmp = ISHFT(data_tmp, 59)
2865 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2866 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2867 382357 : idata = idata + 1
2868 382357 : data_tmp = full_data(idata)
2869 382357 : data_tmp = ISHFT(data_tmp, 59)
2870 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2871 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2872 382357 : idata = idata + 1
2873 382357 : data_tmp = full_data(idata)
2874 382357 : data_tmp = ISHFT(data_tmp, 59)
2875 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2876 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2877 382357 : idata = idata + 1
2878 382357 : data_tmp = full_data(idata)
2879 382357 : data_tmp = ISHFT(data_tmp, 59)
2880 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2881 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2882 382357 : idata = idata + 1
2883 382357 : data_tmp = full_data(idata)
2884 382357 : data_tmp = ISHFT(data_tmp, 59)
2885 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2886 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2887 382357 : idata = idata + 1
2888 382357 : data_tmp = full_data(idata)
2889 382357 : data_tmp = ISHFT(data_tmp, 59)
2890 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2891 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2892 382357 : idata = idata + 1
2893 382357 : data_tmp = full_data(idata)
2894 382357 : data_tmp = ISHFT(data_tmp, 59)
2895 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2896 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2897 382357 : idata = idata + 1
2898 382357 : data_tmp = full_data(idata)
2899 382357 : data_tmp = ISHFT(data_tmp, 59)
2900 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2901 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2902 382357 : idata = idata + 1
2903 382357 : data_tmp = full_data(idata)
2904 382357 : data_tmp = ISHFT(data_tmp, 59)
2905 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2906 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2907 382357 : idata = idata + 1
2908 382357 : data_tmp = full_data(idata)
2909 382357 : data_tmp = ISHFT(data_tmp, 59)
2910 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2911 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2912 382357 : idata = idata + 1
2913 382357 : data_tmp = full_data(idata)
2914 382357 : data_tmp = ISHFT(data_tmp, 59)
2915 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2916 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2917 382357 : idata = idata + 1
2918 382357 : data_tmp = full_data(idata)
2919 382357 : data_tmp = ISHFT(data_tmp, 59)
2920 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2921 382357 : pack_tmp = ISHFT(pack_tmp, -3)
2922 382357 : idata = idata + 1
2923 382357 : data_tmp = full_data(idata)
2924 382357 : data_tmp = ISHFT(data_tmp, 59)
2925 382357 : data_tmp = IAND(data_tmp, mask_left(3))
2926 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2927 382357 : ipack = ipack + 1
2928 382357 : packed_data(ipack) = pack_tmp
2929 382357 : data_tmp = full_data(idata)
2930 382357 : pack_tmp = ISHFT(data_tmp, 62)
2931 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2932 382357 : idata = idata + 1
2933 382357 : data_tmp = full_data(idata)
2934 382357 : data_tmp = ISHFT(data_tmp, 59)
2935 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2936 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2937 382357 : idata = idata + 1
2938 382357 : data_tmp = full_data(idata)
2939 382357 : data_tmp = ISHFT(data_tmp, 59)
2940 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2941 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2942 382357 : idata = idata + 1
2943 382357 : data_tmp = full_data(idata)
2944 382357 : data_tmp = ISHFT(data_tmp, 59)
2945 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2946 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2947 382357 : idata = idata + 1
2948 382357 : data_tmp = full_data(idata)
2949 382357 : data_tmp = ISHFT(data_tmp, 59)
2950 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2951 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2952 382357 : idata = idata + 1
2953 382357 : data_tmp = full_data(idata)
2954 382357 : data_tmp = ISHFT(data_tmp, 59)
2955 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2956 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2957 382357 : idata = idata + 1
2958 382357 : data_tmp = full_data(idata)
2959 382357 : data_tmp = ISHFT(data_tmp, 59)
2960 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2961 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2962 382357 : idata = idata + 1
2963 382357 : data_tmp = full_data(idata)
2964 382357 : data_tmp = ISHFT(data_tmp, 59)
2965 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2966 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2967 382357 : idata = idata + 1
2968 382357 : data_tmp = full_data(idata)
2969 382357 : data_tmp = ISHFT(data_tmp, 59)
2970 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2971 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2972 382357 : idata = idata + 1
2973 382357 : data_tmp = full_data(idata)
2974 382357 : data_tmp = ISHFT(data_tmp, 59)
2975 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2976 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2977 382357 : idata = idata + 1
2978 382357 : data_tmp = full_data(idata)
2979 382357 : data_tmp = ISHFT(data_tmp, 59)
2980 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2981 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2982 382357 : idata = idata + 1
2983 382357 : data_tmp = full_data(idata)
2984 382357 : data_tmp = ISHFT(data_tmp, 59)
2985 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2986 382357 : pack_tmp = ISHFT(pack_tmp, -5)
2987 382357 : idata = idata + 1
2988 382357 : data_tmp = full_data(idata)
2989 382357 : data_tmp = ISHFT(data_tmp, 59)
2990 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2991 382357 : pack_tmp = ISHFT(pack_tmp, -2)
2992 382357 : idata = idata + 1
2993 382357 : data_tmp = full_data(idata)
2994 382357 : data_tmp = ISHFT(data_tmp, 59)
2995 382357 : data_tmp = IAND(data_tmp, mask_left(2))
2996 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
2997 382357 : ipack = ipack + 1
2998 382357 : packed_data(ipack) = pack_tmp
2999 382357 : data_tmp = full_data(idata)
3000 382357 : pack_tmp = ISHFT(data_tmp, 61)
3001 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3002 382357 : idata = idata + 1
3003 382357 : data_tmp = full_data(idata)
3004 382357 : data_tmp = ISHFT(data_tmp, 59)
3005 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3006 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3007 382357 : idata = idata + 1
3008 382357 : data_tmp = full_data(idata)
3009 382357 : data_tmp = ISHFT(data_tmp, 59)
3010 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3011 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3012 382357 : idata = idata + 1
3013 382357 : data_tmp = full_data(idata)
3014 382357 : data_tmp = ISHFT(data_tmp, 59)
3015 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3016 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3017 382357 : idata = idata + 1
3018 382357 : data_tmp = full_data(idata)
3019 382357 : data_tmp = ISHFT(data_tmp, 59)
3020 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3021 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3022 382357 : idata = idata + 1
3023 382357 : data_tmp = full_data(idata)
3024 382357 : data_tmp = ISHFT(data_tmp, 59)
3025 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3026 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3027 382357 : idata = idata + 1
3028 382357 : data_tmp = full_data(idata)
3029 382357 : data_tmp = ISHFT(data_tmp, 59)
3030 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3031 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3032 382357 : idata = idata + 1
3033 382357 : data_tmp = full_data(idata)
3034 382357 : data_tmp = ISHFT(data_tmp, 59)
3035 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3036 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3037 382357 : idata = idata + 1
3038 382357 : data_tmp = full_data(idata)
3039 382357 : data_tmp = ISHFT(data_tmp, 59)
3040 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3041 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3042 382357 : idata = idata + 1
3043 382357 : data_tmp = full_data(idata)
3044 382357 : data_tmp = ISHFT(data_tmp, 59)
3045 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3046 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3047 382357 : idata = idata + 1
3048 382357 : data_tmp = full_data(idata)
3049 382357 : data_tmp = ISHFT(data_tmp, 59)
3050 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3051 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3052 382357 : idata = idata + 1
3053 382357 : data_tmp = full_data(idata)
3054 382357 : data_tmp = ISHFT(data_tmp, 59)
3055 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3056 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3057 382357 : idata = idata + 1
3058 382357 : data_tmp = full_data(idata)
3059 382357 : data_tmp = ISHFT(data_tmp, 59)
3060 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3061 382357 : pack_tmp = ISHFT(pack_tmp, -1)
3062 382357 : idata = idata + 1
3063 382357 : data_tmp = full_data(idata)
3064 382357 : data_tmp = ISHFT(data_tmp, 59)
3065 382357 : data_tmp = IAND(data_tmp, mask_left(1))
3066 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3067 382357 : ipack = ipack + 1
3068 382357 : packed_data(ipack) = pack_tmp
3069 382357 : data_tmp = full_data(idata)
3070 382357 : pack_tmp = ISHFT(data_tmp, 60)
3071 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3072 382357 : idata = idata + 1
3073 382357 : data_tmp = full_data(idata)
3074 382357 : data_tmp = ISHFT(data_tmp, 59)
3075 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3076 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3077 382357 : idata = idata + 1
3078 382357 : data_tmp = full_data(idata)
3079 382357 : data_tmp = ISHFT(data_tmp, 59)
3080 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3081 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3082 382357 : idata = idata + 1
3083 382357 : data_tmp = full_data(idata)
3084 382357 : data_tmp = ISHFT(data_tmp, 59)
3085 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3086 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3087 382357 : idata = idata + 1
3088 382357 : data_tmp = full_data(idata)
3089 382357 : data_tmp = ISHFT(data_tmp, 59)
3090 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3091 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3092 382357 : idata = idata + 1
3093 382357 : data_tmp = full_data(idata)
3094 382357 : data_tmp = ISHFT(data_tmp, 59)
3095 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3096 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3097 382357 : idata = idata + 1
3098 382357 : data_tmp = full_data(idata)
3099 382357 : data_tmp = ISHFT(data_tmp, 59)
3100 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3101 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3102 382357 : idata = idata + 1
3103 382357 : data_tmp = full_data(idata)
3104 382357 : data_tmp = ISHFT(data_tmp, 59)
3105 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3106 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3107 382357 : idata = idata + 1
3108 382357 : data_tmp = full_data(idata)
3109 382357 : data_tmp = ISHFT(data_tmp, 59)
3110 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3111 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3112 382357 : idata = idata + 1
3113 382357 : data_tmp = full_data(idata)
3114 382357 : data_tmp = ISHFT(data_tmp, 59)
3115 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3116 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3117 382357 : idata = idata + 1
3118 382357 : data_tmp = full_data(idata)
3119 382357 : data_tmp = ISHFT(data_tmp, 59)
3120 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3121 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3122 382357 : idata = idata + 1
3123 382357 : data_tmp = full_data(idata)
3124 382357 : data_tmp = ISHFT(data_tmp, 59)
3125 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3126 382357 : pack_tmp = ISHFT(pack_tmp, -5)
3127 382357 : idata = idata + 1
3128 382357 : data_tmp = full_data(idata)
3129 382357 : data_tmp = ISHFT(data_tmp, 59)
3130 382357 : pack_tmp = IOR(pack_tmp, data_tmp)
3131 : pack_tmp = ISHFT(pack_tmp, 0)
3132 382357 : pack_tmp = ISHFT(pack_tmp, 0)
3133 382357 : ipack = ipack + 1
3134 382358 : packed_data(ipack) = pack_tmp
3135 : END DO
3136 23911 : 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 23911 : END SUBROUTINE ints2bits_5
3140 :
3141 : ! **************************************************************************************************
3142 : !> \brief ...
3143 : !> \param Ndata ...
3144 : !> \param packed_data ...
3145 : !> \param full_data ...
3146 : ! **************************************************************************************************
3147 96652 : 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 96652 : ipack = 0
3158 96652 : idata = 0
3159 96652 : pack_tmp = 0
3160 96652 : Ndata_rep = (Ndata/64)*64
3161 96652 : DO kdata = 1, Ndata_rep, 64
3162 1545324 : idata = idata + 1
3163 1545324 : data_tmp = ISHFT(pack_tmp, 5)
3164 1545324 : ipack = ipack + 1
3165 1545324 : pack_tmp = packed_data(ipack)
3166 1545324 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
3167 1545324 : pack_tmp = ISHFT(pack_tmp, -5)
3168 1545324 : idata = idata + 1
3169 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3170 1545324 : full_data(idata) = data_tmp
3171 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3172 1545324 : idata = idata + 1
3173 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3174 1545324 : full_data(idata) = data_tmp
3175 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3176 1545324 : idata = idata + 1
3177 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3178 1545324 : full_data(idata) = data_tmp
3179 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3180 1545324 : idata = idata + 1
3181 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3182 1545324 : full_data(idata) = data_tmp
3183 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3184 1545324 : idata = idata + 1
3185 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3186 1545324 : full_data(idata) = data_tmp
3187 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3188 1545324 : idata = idata + 1
3189 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3190 1545324 : full_data(idata) = data_tmp
3191 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3192 1545324 : idata = idata + 1
3193 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3194 1545324 : full_data(idata) = data_tmp
3195 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3196 1545324 : idata = idata + 1
3197 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3198 1545324 : full_data(idata) = data_tmp
3199 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3200 1545324 : idata = idata + 1
3201 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3202 1545324 : full_data(idata) = data_tmp
3203 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3204 1545324 : idata = idata + 1
3205 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3206 1545324 : full_data(idata) = data_tmp
3207 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3208 1545324 : idata = idata + 1
3209 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3210 1545324 : full_data(idata) = data_tmp
3211 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3212 1545324 : idata = idata + 1
3213 1545324 : data_tmp = ISHFT(pack_tmp, 1)
3214 1545324 : ipack = ipack + 1
3215 1545324 : pack_tmp = packed_data(ipack)
3216 1545324 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
3217 1545324 : pack_tmp = ISHFT(pack_tmp, -1)
3218 1545324 : idata = idata + 1
3219 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3220 1545324 : full_data(idata) = data_tmp
3221 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3222 1545324 : idata = idata + 1
3223 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3224 1545324 : full_data(idata) = data_tmp
3225 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3226 1545324 : idata = idata + 1
3227 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3228 1545324 : full_data(idata) = data_tmp
3229 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3230 1545324 : idata = idata + 1
3231 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3232 1545324 : full_data(idata) = data_tmp
3233 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3234 1545324 : idata = idata + 1
3235 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3236 1545324 : full_data(idata) = data_tmp
3237 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3238 1545324 : idata = idata + 1
3239 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3240 1545324 : full_data(idata) = data_tmp
3241 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3242 1545324 : idata = idata + 1
3243 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3244 1545324 : full_data(idata) = data_tmp
3245 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3246 1545324 : idata = idata + 1
3247 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3248 1545324 : full_data(idata) = data_tmp
3249 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3250 1545324 : idata = idata + 1
3251 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3252 1545324 : full_data(idata) = data_tmp
3253 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3254 1545324 : idata = idata + 1
3255 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3256 1545324 : full_data(idata) = data_tmp
3257 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3258 1545324 : idata = idata + 1
3259 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3260 1545324 : full_data(idata) = data_tmp
3261 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3262 1545324 : idata = idata + 1
3263 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3264 1545324 : full_data(idata) = data_tmp
3265 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3266 1545324 : idata = idata + 1
3267 1545324 : data_tmp = ISHFT(pack_tmp, 2)
3268 1545324 : ipack = ipack + 1
3269 1545324 : pack_tmp = packed_data(ipack)
3270 1545324 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
3271 1545324 : pack_tmp = ISHFT(pack_tmp, -2)
3272 1545324 : idata = idata + 1
3273 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3274 1545324 : full_data(idata) = data_tmp
3275 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3276 1545324 : idata = idata + 1
3277 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3278 1545324 : full_data(idata) = data_tmp
3279 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3280 1545324 : idata = idata + 1
3281 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3282 1545324 : full_data(idata) = data_tmp
3283 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3284 1545324 : idata = idata + 1
3285 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3286 1545324 : full_data(idata) = data_tmp
3287 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3288 1545324 : idata = idata + 1
3289 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3290 1545324 : full_data(idata) = data_tmp
3291 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3292 1545324 : idata = idata + 1
3293 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3294 1545324 : full_data(idata) = data_tmp
3295 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3296 1545324 : idata = idata + 1
3297 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3298 1545324 : full_data(idata) = data_tmp
3299 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3300 1545324 : idata = idata + 1
3301 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3302 1545324 : full_data(idata) = data_tmp
3303 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3304 1545324 : idata = idata + 1
3305 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3306 1545324 : full_data(idata) = data_tmp
3307 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3308 1545324 : idata = idata + 1
3309 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3310 1545324 : full_data(idata) = data_tmp
3311 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3312 1545324 : idata = idata + 1
3313 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3314 1545324 : full_data(idata) = data_tmp
3315 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3316 1545324 : idata = idata + 1
3317 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3318 1545324 : full_data(idata) = data_tmp
3319 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3320 1545324 : idata = idata + 1
3321 1545324 : data_tmp = ISHFT(pack_tmp, 3)
3322 1545324 : ipack = ipack + 1
3323 1545324 : pack_tmp = packed_data(ipack)
3324 1545324 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
3325 1545324 : pack_tmp = ISHFT(pack_tmp, -3)
3326 1545324 : idata = idata + 1
3327 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3328 1545324 : full_data(idata) = data_tmp
3329 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3330 1545324 : idata = idata + 1
3331 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3332 1545324 : full_data(idata) = data_tmp
3333 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3334 1545324 : idata = idata + 1
3335 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3336 1545324 : full_data(idata) = data_tmp
3337 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3338 1545324 : idata = idata + 1
3339 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3340 1545324 : full_data(idata) = data_tmp
3341 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3342 1545324 : idata = idata + 1
3343 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3344 1545324 : full_data(idata) = data_tmp
3345 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3346 1545324 : idata = idata + 1
3347 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3348 1545324 : full_data(idata) = data_tmp
3349 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3350 1545324 : idata = idata + 1
3351 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3352 1545324 : full_data(idata) = data_tmp
3353 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3354 1545324 : idata = idata + 1
3355 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3356 1545324 : full_data(idata) = data_tmp
3357 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3358 1545324 : idata = idata + 1
3359 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3360 1545324 : full_data(idata) = data_tmp
3361 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3362 1545324 : idata = idata + 1
3363 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3364 1545324 : full_data(idata) = data_tmp
3365 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3366 1545324 : idata = idata + 1
3367 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3368 1545324 : full_data(idata) = data_tmp
3369 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3370 1545324 : idata = idata + 1
3371 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3372 1545324 : full_data(idata) = data_tmp
3373 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3374 1545324 : idata = idata + 1
3375 1545324 : data_tmp = ISHFT(pack_tmp, 4)
3376 1545324 : ipack = ipack + 1
3377 1545324 : pack_tmp = packed_data(ipack)
3378 1545324 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
3379 1545324 : pack_tmp = ISHFT(pack_tmp, -4)
3380 1545324 : idata = idata + 1
3381 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3382 1545324 : full_data(idata) = data_tmp
3383 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3384 1545324 : idata = idata + 1
3385 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3386 1545324 : full_data(idata) = data_tmp
3387 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3388 1545324 : idata = idata + 1
3389 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3390 1545324 : full_data(idata) = data_tmp
3391 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3392 1545324 : idata = idata + 1
3393 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3394 1545324 : full_data(idata) = data_tmp
3395 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3396 1545324 : idata = idata + 1
3397 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3398 1545324 : full_data(idata) = data_tmp
3399 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3400 1545324 : idata = idata + 1
3401 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3402 1545324 : full_data(idata) = data_tmp
3403 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3404 1545324 : idata = idata + 1
3405 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3406 1545324 : full_data(idata) = data_tmp
3407 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3408 1545324 : idata = idata + 1
3409 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3410 1545324 : full_data(idata) = data_tmp
3411 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3412 1545324 : idata = idata + 1
3413 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3414 1545324 : full_data(idata) = data_tmp
3415 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3416 1545324 : idata = idata + 1
3417 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3418 1545324 : full_data(idata) = data_tmp
3419 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3420 1545324 : idata = idata + 1
3421 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3422 1545324 : full_data(idata) = data_tmp
3423 1545324 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3424 1545324 : idata = idata + 1
3425 1545324 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3426 1545324 : full_data(idata) = data_tmp
3427 1545331 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3428 : END DO
3429 96652 : 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 96652 : END SUBROUTINE bits2ints_5
3433 :
3434 : ! **************************************************************************************************
3435 : !> \brief ...
3436 : !> \param Ndata ...
3437 : !> \param packed_data ...
3438 : !> \param full_data ...
3439 : ! **************************************************************************************************
3440 51506 : 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 51506 : idata = 0
3451 51506 : ipack = 0
3452 51506 : Ndata_rep = (Ndata/64)*64
3453 51506 : DO kdata = 1, Ndata_rep, 64
3454 820356 : pack_tmp = 0
3455 820356 : idata = idata + 1
3456 820356 : data_tmp = full_data(idata)
3457 820356 : data_tmp = ISHFT(data_tmp, 58)
3458 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3459 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3460 820356 : idata = idata + 1
3461 820356 : data_tmp = full_data(idata)
3462 820356 : data_tmp = ISHFT(data_tmp, 58)
3463 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3464 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3465 820356 : idata = idata + 1
3466 820356 : data_tmp = full_data(idata)
3467 820356 : data_tmp = ISHFT(data_tmp, 58)
3468 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3469 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3470 820356 : idata = idata + 1
3471 820356 : data_tmp = full_data(idata)
3472 820356 : data_tmp = ISHFT(data_tmp, 58)
3473 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3474 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3475 820356 : idata = idata + 1
3476 820356 : data_tmp = full_data(idata)
3477 820356 : data_tmp = ISHFT(data_tmp, 58)
3478 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3479 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3480 820356 : idata = idata + 1
3481 820356 : data_tmp = full_data(idata)
3482 820356 : data_tmp = ISHFT(data_tmp, 58)
3483 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3484 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3485 820356 : idata = idata + 1
3486 820356 : data_tmp = full_data(idata)
3487 820356 : data_tmp = ISHFT(data_tmp, 58)
3488 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3489 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3490 820356 : idata = idata + 1
3491 820356 : data_tmp = full_data(idata)
3492 820356 : data_tmp = ISHFT(data_tmp, 58)
3493 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3494 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3495 820356 : idata = idata + 1
3496 820356 : data_tmp = full_data(idata)
3497 820356 : data_tmp = ISHFT(data_tmp, 58)
3498 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3499 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3500 820356 : idata = idata + 1
3501 820356 : data_tmp = full_data(idata)
3502 820356 : data_tmp = ISHFT(data_tmp, 58)
3503 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3504 820356 : pack_tmp = ISHFT(pack_tmp, -4)
3505 820356 : idata = idata + 1
3506 820356 : data_tmp = full_data(idata)
3507 820356 : data_tmp = ISHFT(data_tmp, 58)
3508 820356 : data_tmp = IAND(data_tmp, mask_left(4))
3509 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3510 820356 : ipack = ipack + 1
3511 820356 : packed_data(ipack) = pack_tmp
3512 820356 : data_tmp = full_data(idata)
3513 820356 : pack_tmp = ISHFT(data_tmp, 62)
3514 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3515 820356 : idata = idata + 1
3516 820356 : data_tmp = full_data(idata)
3517 820356 : data_tmp = ISHFT(data_tmp, 58)
3518 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3519 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3520 820356 : idata = idata + 1
3521 820356 : data_tmp = full_data(idata)
3522 820356 : data_tmp = ISHFT(data_tmp, 58)
3523 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3524 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3525 820356 : idata = idata + 1
3526 820356 : data_tmp = full_data(idata)
3527 820356 : data_tmp = ISHFT(data_tmp, 58)
3528 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3529 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3530 820356 : idata = idata + 1
3531 820356 : data_tmp = full_data(idata)
3532 820356 : data_tmp = ISHFT(data_tmp, 58)
3533 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3534 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3535 820356 : idata = idata + 1
3536 820356 : data_tmp = full_data(idata)
3537 820356 : data_tmp = ISHFT(data_tmp, 58)
3538 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3539 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3540 820356 : idata = idata + 1
3541 820356 : data_tmp = full_data(idata)
3542 820356 : data_tmp = ISHFT(data_tmp, 58)
3543 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3544 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3545 820356 : idata = idata + 1
3546 820356 : data_tmp = full_data(idata)
3547 820356 : data_tmp = ISHFT(data_tmp, 58)
3548 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3549 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3550 820356 : idata = idata + 1
3551 820356 : data_tmp = full_data(idata)
3552 820356 : data_tmp = ISHFT(data_tmp, 58)
3553 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3554 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3555 820356 : idata = idata + 1
3556 820356 : data_tmp = full_data(idata)
3557 820356 : data_tmp = ISHFT(data_tmp, 58)
3558 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3559 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3560 820356 : idata = idata + 1
3561 820356 : data_tmp = full_data(idata)
3562 820356 : data_tmp = ISHFT(data_tmp, 58)
3563 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3564 820356 : pack_tmp = ISHFT(pack_tmp, -2)
3565 820356 : idata = idata + 1
3566 820356 : data_tmp = full_data(idata)
3567 820356 : data_tmp = ISHFT(data_tmp, 58)
3568 820356 : data_tmp = IAND(data_tmp, mask_left(2))
3569 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3570 820356 : ipack = ipack + 1
3571 820356 : packed_data(ipack) = pack_tmp
3572 820356 : data_tmp = full_data(idata)
3573 820356 : pack_tmp = ISHFT(data_tmp, 60)
3574 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3575 820356 : idata = idata + 1
3576 820356 : data_tmp = full_data(idata)
3577 820356 : data_tmp = ISHFT(data_tmp, 58)
3578 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3579 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3580 820356 : idata = idata + 1
3581 820356 : data_tmp = full_data(idata)
3582 820356 : data_tmp = ISHFT(data_tmp, 58)
3583 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3584 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3585 820356 : idata = idata + 1
3586 820356 : data_tmp = full_data(idata)
3587 820356 : data_tmp = ISHFT(data_tmp, 58)
3588 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3589 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3590 820356 : idata = idata + 1
3591 820356 : data_tmp = full_data(idata)
3592 820356 : data_tmp = ISHFT(data_tmp, 58)
3593 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3594 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3595 820356 : idata = idata + 1
3596 820356 : data_tmp = full_data(idata)
3597 820356 : data_tmp = ISHFT(data_tmp, 58)
3598 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3599 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3600 820356 : idata = idata + 1
3601 820356 : data_tmp = full_data(idata)
3602 820356 : data_tmp = ISHFT(data_tmp, 58)
3603 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3604 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3605 820356 : idata = idata + 1
3606 820356 : data_tmp = full_data(idata)
3607 820356 : data_tmp = ISHFT(data_tmp, 58)
3608 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3609 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3610 820356 : idata = idata + 1
3611 820356 : data_tmp = full_data(idata)
3612 820356 : data_tmp = ISHFT(data_tmp, 58)
3613 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3614 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3615 820356 : idata = idata + 1
3616 820356 : data_tmp = full_data(idata)
3617 820356 : data_tmp = ISHFT(data_tmp, 58)
3618 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3619 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3620 820356 : idata = idata + 1
3621 820356 : data_tmp = full_data(idata)
3622 820356 : data_tmp = ISHFT(data_tmp, 58)
3623 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3624 820356 : pack_tmp = ISHFT(pack_tmp, 0)
3625 820356 : idata = idata + 1
3626 820356 : data_tmp = full_data(idata)
3627 : data_tmp = ISHFT(data_tmp, 58)
3628 820356 : data_tmp = IAND(data_tmp, mask_left(0))
3629 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3630 820356 : ipack = ipack + 1
3631 820356 : packed_data(ipack) = pack_tmp
3632 820356 : data_tmp = full_data(idata)
3633 820356 : pack_tmp = ISHFT(data_tmp, 58)
3634 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3635 820356 : idata = idata + 1
3636 820356 : data_tmp = full_data(idata)
3637 820356 : data_tmp = ISHFT(data_tmp, 58)
3638 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3639 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3640 820356 : idata = idata + 1
3641 820356 : data_tmp = full_data(idata)
3642 820356 : data_tmp = ISHFT(data_tmp, 58)
3643 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3644 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3645 820356 : idata = idata + 1
3646 820356 : data_tmp = full_data(idata)
3647 820356 : data_tmp = ISHFT(data_tmp, 58)
3648 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3649 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3650 820356 : idata = idata + 1
3651 820356 : data_tmp = full_data(idata)
3652 820356 : data_tmp = ISHFT(data_tmp, 58)
3653 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3654 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3655 820356 : idata = idata + 1
3656 820356 : data_tmp = full_data(idata)
3657 820356 : data_tmp = ISHFT(data_tmp, 58)
3658 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3659 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3660 820356 : idata = idata + 1
3661 820356 : data_tmp = full_data(idata)
3662 820356 : data_tmp = ISHFT(data_tmp, 58)
3663 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3664 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3665 820356 : idata = idata + 1
3666 820356 : data_tmp = full_data(idata)
3667 820356 : data_tmp = ISHFT(data_tmp, 58)
3668 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3669 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3670 820356 : idata = idata + 1
3671 820356 : data_tmp = full_data(idata)
3672 820356 : data_tmp = ISHFT(data_tmp, 58)
3673 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3674 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3675 820356 : idata = idata + 1
3676 820356 : data_tmp = full_data(idata)
3677 820356 : data_tmp = ISHFT(data_tmp, 58)
3678 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3679 820356 : pack_tmp = ISHFT(pack_tmp, -4)
3680 820356 : idata = idata + 1
3681 820356 : data_tmp = full_data(idata)
3682 820356 : data_tmp = ISHFT(data_tmp, 58)
3683 820356 : data_tmp = IAND(data_tmp, mask_left(4))
3684 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3685 820356 : ipack = ipack + 1
3686 820356 : packed_data(ipack) = pack_tmp
3687 820356 : data_tmp = full_data(idata)
3688 820356 : pack_tmp = ISHFT(data_tmp, 62)
3689 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3690 820356 : idata = idata + 1
3691 820356 : data_tmp = full_data(idata)
3692 820356 : data_tmp = ISHFT(data_tmp, 58)
3693 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3694 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3695 820356 : idata = idata + 1
3696 820356 : data_tmp = full_data(idata)
3697 820356 : data_tmp = ISHFT(data_tmp, 58)
3698 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3699 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3700 820356 : idata = idata + 1
3701 820356 : data_tmp = full_data(idata)
3702 820356 : data_tmp = ISHFT(data_tmp, 58)
3703 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3704 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3705 820356 : idata = idata + 1
3706 820356 : data_tmp = full_data(idata)
3707 820356 : data_tmp = ISHFT(data_tmp, 58)
3708 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3709 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3710 820356 : idata = idata + 1
3711 820356 : data_tmp = full_data(idata)
3712 820356 : data_tmp = ISHFT(data_tmp, 58)
3713 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3714 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3715 820356 : idata = idata + 1
3716 820356 : data_tmp = full_data(idata)
3717 820356 : data_tmp = ISHFT(data_tmp, 58)
3718 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3719 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3720 820356 : idata = idata + 1
3721 820356 : data_tmp = full_data(idata)
3722 820356 : data_tmp = ISHFT(data_tmp, 58)
3723 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3724 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3725 820356 : idata = idata + 1
3726 820356 : data_tmp = full_data(idata)
3727 820356 : data_tmp = ISHFT(data_tmp, 58)
3728 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3729 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3730 820356 : idata = idata + 1
3731 820356 : data_tmp = full_data(idata)
3732 820356 : data_tmp = ISHFT(data_tmp, 58)
3733 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3734 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3735 820356 : idata = idata + 1
3736 820356 : data_tmp = full_data(idata)
3737 820356 : data_tmp = ISHFT(data_tmp, 58)
3738 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3739 820356 : pack_tmp = ISHFT(pack_tmp, -2)
3740 820356 : idata = idata + 1
3741 820356 : data_tmp = full_data(idata)
3742 820356 : data_tmp = ISHFT(data_tmp, 58)
3743 820356 : data_tmp = IAND(data_tmp, mask_left(2))
3744 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3745 820356 : ipack = ipack + 1
3746 820356 : packed_data(ipack) = pack_tmp
3747 820356 : data_tmp = full_data(idata)
3748 820356 : pack_tmp = ISHFT(data_tmp, 60)
3749 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3750 820356 : idata = idata + 1
3751 820356 : data_tmp = full_data(idata)
3752 820356 : data_tmp = ISHFT(data_tmp, 58)
3753 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3754 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3755 820356 : idata = idata + 1
3756 820356 : data_tmp = full_data(idata)
3757 820356 : data_tmp = ISHFT(data_tmp, 58)
3758 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3759 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3760 820356 : idata = idata + 1
3761 820356 : data_tmp = full_data(idata)
3762 820356 : data_tmp = ISHFT(data_tmp, 58)
3763 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3764 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3765 820356 : idata = idata + 1
3766 820356 : data_tmp = full_data(idata)
3767 820356 : data_tmp = ISHFT(data_tmp, 58)
3768 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3769 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3770 820356 : idata = idata + 1
3771 820356 : data_tmp = full_data(idata)
3772 820356 : data_tmp = ISHFT(data_tmp, 58)
3773 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3774 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3775 820356 : idata = idata + 1
3776 820356 : data_tmp = full_data(idata)
3777 820356 : data_tmp = ISHFT(data_tmp, 58)
3778 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3779 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3780 820356 : idata = idata + 1
3781 820356 : data_tmp = full_data(idata)
3782 820356 : data_tmp = ISHFT(data_tmp, 58)
3783 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3784 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3785 820356 : idata = idata + 1
3786 820356 : data_tmp = full_data(idata)
3787 820356 : data_tmp = ISHFT(data_tmp, 58)
3788 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3789 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3790 820356 : idata = idata + 1
3791 820356 : data_tmp = full_data(idata)
3792 820356 : data_tmp = ISHFT(data_tmp, 58)
3793 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3794 820356 : pack_tmp = ISHFT(pack_tmp, -6)
3795 820356 : idata = idata + 1
3796 820356 : data_tmp = full_data(idata)
3797 820356 : data_tmp = ISHFT(data_tmp, 58)
3798 820356 : pack_tmp = IOR(pack_tmp, data_tmp)
3799 : pack_tmp = ISHFT(pack_tmp, 0)
3800 820356 : pack_tmp = ISHFT(pack_tmp, 0)
3801 820356 : ipack = ipack + 1
3802 820385 : packed_data(ipack) = pack_tmp
3803 : END DO
3804 51506 : IF (Ndata_rep < Ndata) THEN
3805 440 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
3806 : END IF
3807 51506 : END SUBROUTINE ints2bits_6
3808 :
3809 : ! **************************************************************************************************
3810 : !> \brief ...
3811 : !> \param Ndata ...
3812 : !> \param packed_data ...
3813 : !> \param full_data ...
3814 : ! **************************************************************************************************
3815 245676 : 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 245676 : ipack = 0
3826 245676 : idata = 0
3827 245676 : pack_tmp = 0
3828 245676 : Ndata_rep = (Ndata/64)*64
3829 245676 : DO kdata = 1, Ndata_rep, 64
3830 3897547 : idata = idata + 1
3831 3897547 : data_tmp = ISHFT(pack_tmp, 6)
3832 3897547 : ipack = ipack + 1
3833 3897547 : pack_tmp = packed_data(ipack)
3834 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3835 3897547 : pack_tmp = ISHFT(pack_tmp, -6)
3836 3897547 : idata = idata + 1
3837 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3838 3897547 : full_data(idata) = data_tmp
3839 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3840 3897547 : idata = idata + 1
3841 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3842 3897547 : full_data(idata) = data_tmp
3843 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3844 3897547 : idata = idata + 1
3845 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3846 3897547 : full_data(idata) = data_tmp
3847 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3848 3897547 : idata = idata + 1
3849 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3850 3897547 : full_data(idata) = data_tmp
3851 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3852 3897547 : idata = idata + 1
3853 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3854 3897547 : full_data(idata) = data_tmp
3855 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3856 3897547 : idata = idata + 1
3857 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3858 3897547 : full_data(idata) = data_tmp
3859 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3860 3897547 : idata = idata + 1
3861 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3862 3897547 : full_data(idata) = data_tmp
3863 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3864 3897547 : idata = idata + 1
3865 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3866 3897547 : full_data(idata) = data_tmp
3867 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3868 3897547 : idata = idata + 1
3869 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3870 3897547 : full_data(idata) = data_tmp
3871 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3872 3897547 : idata = idata + 1
3873 3897547 : data_tmp = ISHFT(pack_tmp, 2)
3874 3897547 : ipack = ipack + 1
3875 3897547 : pack_tmp = packed_data(ipack)
3876 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
3877 3897547 : pack_tmp = ISHFT(pack_tmp, -2)
3878 3897547 : idata = idata + 1
3879 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3880 3897547 : full_data(idata) = data_tmp
3881 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3882 3897547 : idata = idata + 1
3883 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3884 3897547 : full_data(idata) = data_tmp
3885 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3886 3897547 : idata = idata + 1
3887 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3888 3897547 : full_data(idata) = data_tmp
3889 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3890 3897547 : idata = idata + 1
3891 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3892 3897547 : full_data(idata) = data_tmp
3893 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3894 3897547 : idata = idata + 1
3895 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3896 3897547 : full_data(idata) = data_tmp
3897 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3898 3897547 : idata = idata + 1
3899 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3900 3897547 : full_data(idata) = data_tmp
3901 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3902 3897547 : idata = idata + 1
3903 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3904 3897547 : full_data(idata) = data_tmp
3905 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3906 3897547 : idata = idata + 1
3907 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3908 3897547 : full_data(idata) = data_tmp
3909 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3910 3897547 : idata = idata + 1
3911 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3912 3897547 : full_data(idata) = data_tmp
3913 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3914 3897547 : idata = idata + 1
3915 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3916 3897547 : full_data(idata) = data_tmp
3917 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3918 3897547 : idata = idata + 1
3919 3897547 : data_tmp = ISHFT(pack_tmp, 4)
3920 3897547 : ipack = ipack + 1
3921 3897547 : pack_tmp = packed_data(ipack)
3922 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
3923 3897547 : pack_tmp = ISHFT(pack_tmp, -4)
3924 3897547 : idata = idata + 1
3925 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3926 3897547 : full_data(idata) = data_tmp
3927 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3928 3897547 : idata = idata + 1
3929 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3930 3897547 : full_data(idata) = data_tmp
3931 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3932 3897547 : idata = idata + 1
3933 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3934 3897547 : full_data(idata) = data_tmp
3935 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3936 3897547 : idata = idata + 1
3937 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3938 3897547 : full_data(idata) = data_tmp
3939 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3940 3897547 : idata = idata + 1
3941 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3942 3897547 : full_data(idata) = data_tmp
3943 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3944 3897547 : idata = idata + 1
3945 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3946 3897547 : full_data(idata) = data_tmp
3947 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3948 3897547 : idata = idata + 1
3949 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3950 3897547 : full_data(idata) = data_tmp
3951 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3952 3897547 : idata = idata + 1
3953 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3954 3897547 : full_data(idata) = data_tmp
3955 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3956 3897547 : idata = idata + 1
3957 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3958 3897547 : full_data(idata) = data_tmp
3959 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3960 3897547 : idata = idata + 1
3961 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3962 3897547 : full_data(idata) = data_tmp
3963 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3964 3897547 : idata = idata + 1
3965 3897547 : data_tmp = ISHFT(pack_tmp, 6)
3966 3897547 : ipack = ipack + 1
3967 3897547 : pack_tmp = packed_data(ipack)
3968 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3969 3897547 : pack_tmp = ISHFT(pack_tmp, -6)
3970 3897547 : idata = idata + 1
3971 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3972 3897547 : full_data(idata) = data_tmp
3973 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3974 3897547 : idata = idata + 1
3975 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3976 3897547 : full_data(idata) = data_tmp
3977 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3978 3897547 : idata = idata + 1
3979 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3980 3897547 : full_data(idata) = data_tmp
3981 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3982 3897547 : idata = idata + 1
3983 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3984 3897547 : full_data(idata) = data_tmp
3985 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3986 3897547 : idata = idata + 1
3987 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3988 3897547 : full_data(idata) = data_tmp
3989 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3990 3897547 : idata = idata + 1
3991 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3992 3897547 : full_data(idata) = data_tmp
3993 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3994 3897547 : idata = idata + 1
3995 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3996 3897547 : full_data(idata) = data_tmp
3997 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3998 3897547 : idata = idata + 1
3999 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4000 3897547 : full_data(idata) = data_tmp
4001 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4002 3897547 : idata = idata + 1
4003 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4004 3897547 : full_data(idata) = data_tmp
4005 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4006 3897547 : idata = idata + 1
4007 3897547 : data_tmp = ISHFT(pack_tmp, 2)
4008 3897547 : ipack = ipack + 1
4009 3897547 : pack_tmp = packed_data(ipack)
4010 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
4011 3897547 : pack_tmp = ISHFT(pack_tmp, -2)
4012 3897547 : idata = idata + 1
4013 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4014 3897547 : full_data(idata) = data_tmp
4015 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4016 3897547 : idata = idata + 1
4017 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4018 3897547 : full_data(idata) = data_tmp
4019 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4020 3897547 : idata = idata + 1
4021 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4022 3897547 : full_data(idata) = data_tmp
4023 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4024 3897547 : idata = idata + 1
4025 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4026 3897547 : full_data(idata) = data_tmp
4027 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4028 3897547 : idata = idata + 1
4029 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4030 3897547 : full_data(idata) = data_tmp
4031 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4032 3897547 : idata = idata + 1
4033 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4034 3897547 : full_data(idata) = data_tmp
4035 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4036 3897547 : idata = idata + 1
4037 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4038 3897547 : full_data(idata) = data_tmp
4039 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4040 3897547 : idata = idata + 1
4041 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4042 3897547 : full_data(idata) = data_tmp
4043 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4044 3897547 : idata = idata + 1
4045 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4046 3897547 : full_data(idata) = data_tmp
4047 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4048 3897547 : idata = idata + 1
4049 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4050 3897547 : full_data(idata) = data_tmp
4051 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4052 3897547 : idata = idata + 1
4053 3897547 : data_tmp = ISHFT(pack_tmp, 4)
4054 3897547 : ipack = ipack + 1
4055 3897547 : pack_tmp = packed_data(ipack)
4056 3897547 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
4057 3897547 : pack_tmp = ISHFT(pack_tmp, -4)
4058 3897547 : idata = idata + 1
4059 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4060 3897547 : full_data(idata) = data_tmp
4061 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4062 3897547 : idata = idata + 1
4063 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4064 3897547 : full_data(idata) = data_tmp
4065 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4066 3897547 : idata = idata + 1
4067 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4068 3897547 : full_data(idata) = data_tmp
4069 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4070 3897547 : idata = idata + 1
4071 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4072 3897547 : full_data(idata) = data_tmp
4073 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4074 3897547 : idata = idata + 1
4075 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4076 3897547 : full_data(idata) = data_tmp
4077 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4078 3897547 : idata = idata + 1
4079 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4080 3897547 : full_data(idata) = data_tmp
4081 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4082 3897547 : idata = idata + 1
4083 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4084 3897547 : full_data(idata) = data_tmp
4085 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4086 3897547 : idata = idata + 1
4087 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4088 3897547 : full_data(idata) = data_tmp
4089 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4090 3897547 : idata = idata + 1
4091 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4092 3897547 : full_data(idata) = data_tmp
4093 3897547 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4094 3897547 : idata = idata + 1
4095 3897547 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4096 3897547 : full_data(idata) = data_tmp
4097 3897760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4098 : END DO
4099 245676 : IF (Ndata_rep < Ndata) THEN
4100 3914 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
4101 : END IF
4102 245676 : END SUBROUTINE bits2ints_6
4103 :
4104 : ! **************************************************************************************************
4105 : !> \brief ...
4106 : !> \param Ndata ...
4107 : !> \param packed_data ...
4108 : !> \param full_data ...
4109 : ! **************************************************************************************************
4110 24032 : 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 24032 : idata = 0
4121 24032 : ipack = 0
4122 24032 : Ndata_rep = (Ndata/64)*64
4123 24032 : DO kdata = 1, Ndata_rep, 64
4124 383970 : pack_tmp = 0
4125 383970 : idata = idata + 1
4126 383970 : data_tmp = full_data(idata)
4127 383970 : data_tmp = ISHFT(data_tmp, 57)
4128 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4129 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4130 383970 : idata = idata + 1
4131 383970 : data_tmp = full_data(idata)
4132 383970 : data_tmp = ISHFT(data_tmp, 57)
4133 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4134 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4135 383970 : idata = idata + 1
4136 383970 : data_tmp = full_data(idata)
4137 383970 : data_tmp = ISHFT(data_tmp, 57)
4138 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4139 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4140 383970 : idata = idata + 1
4141 383970 : data_tmp = full_data(idata)
4142 383970 : data_tmp = ISHFT(data_tmp, 57)
4143 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4144 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4145 383970 : idata = idata + 1
4146 383970 : data_tmp = full_data(idata)
4147 383970 : data_tmp = ISHFT(data_tmp, 57)
4148 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4149 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4150 383970 : idata = idata + 1
4151 383970 : data_tmp = full_data(idata)
4152 383970 : data_tmp = ISHFT(data_tmp, 57)
4153 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4154 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4155 383970 : idata = idata + 1
4156 383970 : data_tmp = full_data(idata)
4157 383970 : data_tmp = ISHFT(data_tmp, 57)
4158 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4159 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4160 383970 : idata = idata + 1
4161 383970 : data_tmp = full_data(idata)
4162 383970 : data_tmp = ISHFT(data_tmp, 57)
4163 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4164 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4165 383970 : idata = idata + 1
4166 383970 : data_tmp = full_data(idata)
4167 383970 : data_tmp = ISHFT(data_tmp, 57)
4168 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4169 383970 : pack_tmp = ISHFT(pack_tmp, -1)
4170 383970 : idata = idata + 1
4171 383970 : data_tmp = full_data(idata)
4172 383970 : data_tmp = ISHFT(data_tmp, 57)
4173 383970 : data_tmp = IAND(data_tmp, mask_left(1))
4174 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4175 383970 : ipack = ipack + 1
4176 383970 : packed_data(ipack) = pack_tmp
4177 383970 : data_tmp = full_data(idata)
4178 383970 : pack_tmp = ISHFT(data_tmp, 58)
4179 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4180 383970 : idata = idata + 1
4181 383970 : data_tmp = full_data(idata)
4182 383970 : data_tmp = ISHFT(data_tmp, 57)
4183 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4184 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4185 383970 : idata = idata + 1
4186 383970 : data_tmp = full_data(idata)
4187 383970 : data_tmp = ISHFT(data_tmp, 57)
4188 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4189 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4190 383970 : idata = idata + 1
4191 383970 : data_tmp = full_data(idata)
4192 383970 : data_tmp = ISHFT(data_tmp, 57)
4193 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4194 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4195 383970 : idata = idata + 1
4196 383970 : data_tmp = full_data(idata)
4197 383970 : data_tmp = ISHFT(data_tmp, 57)
4198 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4199 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4200 383970 : idata = idata + 1
4201 383970 : data_tmp = full_data(idata)
4202 383970 : data_tmp = ISHFT(data_tmp, 57)
4203 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4204 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4205 383970 : idata = idata + 1
4206 383970 : data_tmp = full_data(idata)
4207 383970 : data_tmp = ISHFT(data_tmp, 57)
4208 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4209 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4210 383970 : idata = idata + 1
4211 383970 : data_tmp = full_data(idata)
4212 383970 : data_tmp = ISHFT(data_tmp, 57)
4213 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4214 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4215 383970 : idata = idata + 1
4216 383970 : data_tmp = full_data(idata)
4217 383970 : data_tmp = ISHFT(data_tmp, 57)
4218 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4219 383970 : pack_tmp = ISHFT(pack_tmp, -2)
4220 383970 : idata = idata + 1
4221 383970 : data_tmp = full_data(idata)
4222 383970 : data_tmp = ISHFT(data_tmp, 57)
4223 383970 : data_tmp = IAND(data_tmp, mask_left(2))
4224 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4225 383970 : ipack = ipack + 1
4226 383970 : packed_data(ipack) = pack_tmp
4227 383970 : data_tmp = full_data(idata)
4228 383970 : pack_tmp = ISHFT(data_tmp, 59)
4229 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4230 383970 : idata = idata + 1
4231 383970 : data_tmp = full_data(idata)
4232 383970 : data_tmp = ISHFT(data_tmp, 57)
4233 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4234 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4235 383970 : idata = idata + 1
4236 383970 : data_tmp = full_data(idata)
4237 383970 : data_tmp = ISHFT(data_tmp, 57)
4238 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4239 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4240 383970 : idata = idata + 1
4241 383970 : data_tmp = full_data(idata)
4242 383970 : data_tmp = ISHFT(data_tmp, 57)
4243 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4244 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4245 383970 : idata = idata + 1
4246 383970 : data_tmp = full_data(idata)
4247 383970 : data_tmp = ISHFT(data_tmp, 57)
4248 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4249 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4250 383970 : idata = idata + 1
4251 383970 : data_tmp = full_data(idata)
4252 383970 : data_tmp = ISHFT(data_tmp, 57)
4253 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4254 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4255 383970 : idata = idata + 1
4256 383970 : data_tmp = full_data(idata)
4257 383970 : data_tmp = ISHFT(data_tmp, 57)
4258 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4259 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4260 383970 : idata = idata + 1
4261 383970 : data_tmp = full_data(idata)
4262 383970 : data_tmp = ISHFT(data_tmp, 57)
4263 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4264 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4265 383970 : idata = idata + 1
4266 383970 : data_tmp = full_data(idata)
4267 383970 : data_tmp = ISHFT(data_tmp, 57)
4268 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4269 383970 : pack_tmp = ISHFT(pack_tmp, -3)
4270 383970 : idata = idata + 1
4271 383970 : data_tmp = full_data(idata)
4272 383970 : data_tmp = ISHFT(data_tmp, 57)
4273 383970 : data_tmp = IAND(data_tmp, mask_left(3))
4274 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4275 383970 : ipack = ipack + 1
4276 383970 : packed_data(ipack) = pack_tmp
4277 383970 : data_tmp = full_data(idata)
4278 383970 : pack_tmp = ISHFT(data_tmp, 60)
4279 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4280 383970 : idata = idata + 1
4281 383970 : data_tmp = full_data(idata)
4282 383970 : data_tmp = ISHFT(data_tmp, 57)
4283 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4284 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4285 383970 : idata = idata + 1
4286 383970 : data_tmp = full_data(idata)
4287 383970 : data_tmp = ISHFT(data_tmp, 57)
4288 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4289 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4290 383970 : idata = idata + 1
4291 383970 : data_tmp = full_data(idata)
4292 383970 : data_tmp = ISHFT(data_tmp, 57)
4293 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4294 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4295 383970 : idata = idata + 1
4296 383970 : data_tmp = full_data(idata)
4297 383970 : data_tmp = ISHFT(data_tmp, 57)
4298 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4299 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4300 383970 : idata = idata + 1
4301 383970 : data_tmp = full_data(idata)
4302 383970 : data_tmp = ISHFT(data_tmp, 57)
4303 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4304 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4305 383970 : idata = idata + 1
4306 383970 : data_tmp = full_data(idata)
4307 383970 : data_tmp = ISHFT(data_tmp, 57)
4308 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4309 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4310 383970 : idata = idata + 1
4311 383970 : data_tmp = full_data(idata)
4312 383970 : data_tmp = ISHFT(data_tmp, 57)
4313 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4314 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4315 383970 : idata = idata + 1
4316 383970 : data_tmp = full_data(idata)
4317 383970 : data_tmp = ISHFT(data_tmp, 57)
4318 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4319 383970 : pack_tmp = ISHFT(pack_tmp, -4)
4320 383970 : idata = idata + 1
4321 383970 : data_tmp = full_data(idata)
4322 383970 : data_tmp = ISHFT(data_tmp, 57)
4323 383970 : data_tmp = IAND(data_tmp, mask_left(4))
4324 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4325 383970 : ipack = ipack + 1
4326 383970 : packed_data(ipack) = pack_tmp
4327 383970 : data_tmp = full_data(idata)
4328 383970 : pack_tmp = ISHFT(data_tmp, 61)
4329 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4330 383970 : idata = idata + 1
4331 383970 : data_tmp = full_data(idata)
4332 383970 : data_tmp = ISHFT(data_tmp, 57)
4333 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4334 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4335 383970 : idata = idata + 1
4336 383970 : data_tmp = full_data(idata)
4337 383970 : data_tmp = ISHFT(data_tmp, 57)
4338 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4339 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4340 383970 : idata = idata + 1
4341 383970 : data_tmp = full_data(idata)
4342 383970 : data_tmp = ISHFT(data_tmp, 57)
4343 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4344 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4345 383970 : idata = idata + 1
4346 383970 : data_tmp = full_data(idata)
4347 383970 : data_tmp = ISHFT(data_tmp, 57)
4348 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4349 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4350 383970 : idata = idata + 1
4351 383970 : data_tmp = full_data(idata)
4352 383970 : data_tmp = ISHFT(data_tmp, 57)
4353 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4354 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4355 383970 : idata = idata + 1
4356 383970 : data_tmp = full_data(idata)
4357 383970 : data_tmp = ISHFT(data_tmp, 57)
4358 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4359 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4360 383970 : idata = idata + 1
4361 383970 : data_tmp = full_data(idata)
4362 383970 : data_tmp = ISHFT(data_tmp, 57)
4363 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4364 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4365 383970 : idata = idata + 1
4366 383970 : data_tmp = full_data(idata)
4367 383970 : data_tmp = ISHFT(data_tmp, 57)
4368 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4369 383970 : pack_tmp = ISHFT(pack_tmp, -5)
4370 383970 : idata = idata + 1
4371 383970 : data_tmp = full_data(idata)
4372 383970 : data_tmp = ISHFT(data_tmp, 57)
4373 383970 : data_tmp = IAND(data_tmp, mask_left(5))
4374 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4375 383970 : ipack = ipack + 1
4376 383970 : packed_data(ipack) = pack_tmp
4377 383970 : data_tmp = full_data(idata)
4378 383970 : pack_tmp = ISHFT(data_tmp, 62)
4379 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4380 383970 : idata = idata + 1
4381 383970 : data_tmp = full_data(idata)
4382 383970 : data_tmp = ISHFT(data_tmp, 57)
4383 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4384 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4385 383970 : idata = idata + 1
4386 383970 : data_tmp = full_data(idata)
4387 383970 : data_tmp = ISHFT(data_tmp, 57)
4388 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4389 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4390 383970 : idata = idata + 1
4391 383970 : data_tmp = full_data(idata)
4392 383970 : data_tmp = ISHFT(data_tmp, 57)
4393 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4394 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4395 383970 : idata = idata + 1
4396 383970 : data_tmp = full_data(idata)
4397 383970 : data_tmp = ISHFT(data_tmp, 57)
4398 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4399 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4400 383970 : idata = idata + 1
4401 383970 : data_tmp = full_data(idata)
4402 383970 : data_tmp = ISHFT(data_tmp, 57)
4403 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4404 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4405 383970 : idata = idata + 1
4406 383970 : data_tmp = full_data(idata)
4407 383970 : data_tmp = ISHFT(data_tmp, 57)
4408 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4409 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4410 383970 : idata = idata + 1
4411 383970 : data_tmp = full_data(idata)
4412 383970 : data_tmp = ISHFT(data_tmp, 57)
4413 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4414 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4415 383970 : idata = idata + 1
4416 383970 : data_tmp = full_data(idata)
4417 383970 : data_tmp = ISHFT(data_tmp, 57)
4418 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4419 383970 : pack_tmp = ISHFT(pack_tmp, -6)
4420 383970 : idata = idata + 1
4421 383970 : data_tmp = full_data(idata)
4422 383970 : data_tmp = ISHFT(data_tmp, 57)
4423 383970 : data_tmp = IAND(data_tmp, mask_left(6))
4424 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4425 383970 : ipack = ipack + 1
4426 383970 : packed_data(ipack) = pack_tmp
4427 383970 : data_tmp = full_data(idata)
4428 383970 : pack_tmp = ISHFT(data_tmp, 63)
4429 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4430 383970 : idata = idata + 1
4431 383970 : data_tmp = full_data(idata)
4432 383970 : data_tmp = ISHFT(data_tmp, 57)
4433 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4434 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4435 383970 : idata = idata + 1
4436 383970 : data_tmp = full_data(idata)
4437 383970 : data_tmp = ISHFT(data_tmp, 57)
4438 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4439 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4440 383970 : idata = idata + 1
4441 383970 : data_tmp = full_data(idata)
4442 383970 : data_tmp = ISHFT(data_tmp, 57)
4443 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4444 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4445 383970 : idata = idata + 1
4446 383970 : data_tmp = full_data(idata)
4447 383970 : data_tmp = ISHFT(data_tmp, 57)
4448 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4449 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4450 383970 : idata = idata + 1
4451 383970 : data_tmp = full_data(idata)
4452 383970 : data_tmp = ISHFT(data_tmp, 57)
4453 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4454 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4455 383970 : idata = idata + 1
4456 383970 : data_tmp = full_data(idata)
4457 383970 : data_tmp = ISHFT(data_tmp, 57)
4458 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4459 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4460 383970 : idata = idata + 1
4461 383970 : data_tmp = full_data(idata)
4462 383970 : data_tmp = ISHFT(data_tmp, 57)
4463 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4464 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4465 383970 : idata = idata + 1
4466 383970 : data_tmp = full_data(idata)
4467 383970 : data_tmp = ISHFT(data_tmp, 57)
4468 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4469 383970 : pack_tmp = ISHFT(pack_tmp, -7)
4470 383970 : idata = idata + 1
4471 383970 : data_tmp = full_data(idata)
4472 383970 : data_tmp = ISHFT(data_tmp, 57)
4473 383970 : pack_tmp = IOR(pack_tmp, data_tmp)
4474 : pack_tmp = ISHFT(pack_tmp, 0)
4475 383970 : pack_tmp = ISHFT(pack_tmp, 0)
4476 383970 : ipack = ipack + 1
4477 383972 : packed_data(ipack) = pack_tmp
4478 : END DO
4479 24032 : 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 24032 : END SUBROUTINE ints2bits_7
4483 :
4484 : ! **************************************************************************************************
4485 : !> \brief ...
4486 : !> \param Ndata ...
4487 : !> \param packed_data ...
4488 : !> \param full_data ...
4489 : ! **************************************************************************************************
4490 98938 : 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 98938 : ipack = 0
4501 98938 : idata = 0
4502 98938 : pack_tmp = 0
4503 98938 : Ndata_rep = (Ndata/64)*64
4504 98938 : DO kdata = 1, Ndata_rep, 64
4505 1577599 : idata = idata + 1
4506 1577599 : data_tmp = ISHFT(pack_tmp, 7)
4507 1577599 : ipack = ipack + 1
4508 1577599 : pack_tmp = packed_data(ipack)
4509 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
4510 1577599 : pack_tmp = ISHFT(pack_tmp, -7)
4511 1577599 : idata = idata + 1
4512 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4513 1577599 : full_data(idata) = data_tmp
4514 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4515 1577599 : idata = idata + 1
4516 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4517 1577599 : full_data(idata) = data_tmp
4518 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4519 1577599 : idata = idata + 1
4520 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4521 1577599 : full_data(idata) = data_tmp
4522 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4523 1577599 : idata = idata + 1
4524 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4525 1577599 : full_data(idata) = data_tmp
4526 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4527 1577599 : idata = idata + 1
4528 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4529 1577599 : full_data(idata) = data_tmp
4530 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4531 1577599 : idata = idata + 1
4532 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4533 1577599 : full_data(idata) = data_tmp
4534 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4535 1577599 : idata = idata + 1
4536 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4537 1577599 : full_data(idata) = data_tmp
4538 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4539 1577599 : idata = idata + 1
4540 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4541 1577599 : full_data(idata) = data_tmp
4542 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4543 1577599 : idata = idata + 1
4544 1577599 : data_tmp = ISHFT(pack_tmp, 6)
4545 1577599 : ipack = ipack + 1
4546 1577599 : pack_tmp = packed_data(ipack)
4547 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
4548 1577599 : pack_tmp = ISHFT(pack_tmp, -6)
4549 1577599 : idata = idata + 1
4550 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4551 1577599 : full_data(idata) = data_tmp
4552 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4553 1577599 : idata = idata + 1
4554 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4555 1577599 : full_data(idata) = data_tmp
4556 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4557 1577599 : idata = idata + 1
4558 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4559 1577599 : full_data(idata) = data_tmp
4560 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4561 1577599 : idata = idata + 1
4562 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4563 1577599 : full_data(idata) = data_tmp
4564 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4565 1577599 : idata = idata + 1
4566 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4567 1577599 : full_data(idata) = data_tmp
4568 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4569 1577599 : idata = idata + 1
4570 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4571 1577599 : full_data(idata) = data_tmp
4572 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4573 1577599 : idata = idata + 1
4574 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4575 1577599 : full_data(idata) = data_tmp
4576 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4577 1577599 : idata = idata + 1
4578 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4579 1577599 : full_data(idata) = data_tmp
4580 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4581 1577599 : idata = idata + 1
4582 1577599 : data_tmp = ISHFT(pack_tmp, 5)
4583 1577599 : ipack = ipack + 1
4584 1577599 : pack_tmp = packed_data(ipack)
4585 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
4586 1577599 : pack_tmp = ISHFT(pack_tmp, -5)
4587 1577599 : idata = idata + 1
4588 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4589 1577599 : full_data(idata) = data_tmp
4590 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4591 1577599 : idata = idata + 1
4592 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4593 1577599 : full_data(idata) = data_tmp
4594 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4595 1577599 : idata = idata + 1
4596 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4597 1577599 : full_data(idata) = data_tmp
4598 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4599 1577599 : idata = idata + 1
4600 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4601 1577599 : full_data(idata) = data_tmp
4602 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4603 1577599 : idata = idata + 1
4604 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4605 1577599 : full_data(idata) = data_tmp
4606 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4607 1577599 : idata = idata + 1
4608 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4609 1577599 : full_data(idata) = data_tmp
4610 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4611 1577599 : idata = idata + 1
4612 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4613 1577599 : full_data(idata) = data_tmp
4614 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4615 1577599 : idata = idata + 1
4616 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4617 1577599 : full_data(idata) = data_tmp
4618 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4619 1577599 : idata = idata + 1
4620 1577599 : data_tmp = ISHFT(pack_tmp, 4)
4621 1577599 : ipack = ipack + 1
4622 1577599 : pack_tmp = packed_data(ipack)
4623 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
4624 1577599 : pack_tmp = ISHFT(pack_tmp, -4)
4625 1577599 : idata = idata + 1
4626 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4627 1577599 : full_data(idata) = data_tmp
4628 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4629 1577599 : idata = idata + 1
4630 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4631 1577599 : full_data(idata) = data_tmp
4632 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4633 1577599 : idata = idata + 1
4634 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4635 1577599 : full_data(idata) = data_tmp
4636 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4637 1577599 : idata = idata + 1
4638 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4639 1577599 : full_data(idata) = data_tmp
4640 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4641 1577599 : idata = idata + 1
4642 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4643 1577599 : full_data(idata) = data_tmp
4644 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4645 1577599 : idata = idata + 1
4646 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4647 1577599 : full_data(idata) = data_tmp
4648 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4649 1577599 : idata = idata + 1
4650 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4651 1577599 : full_data(idata) = data_tmp
4652 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4653 1577599 : idata = idata + 1
4654 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4655 1577599 : full_data(idata) = data_tmp
4656 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4657 1577599 : idata = idata + 1
4658 1577599 : data_tmp = ISHFT(pack_tmp, 3)
4659 1577599 : ipack = ipack + 1
4660 1577599 : pack_tmp = packed_data(ipack)
4661 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
4662 1577599 : pack_tmp = ISHFT(pack_tmp, -3)
4663 1577599 : idata = idata + 1
4664 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4665 1577599 : full_data(idata) = data_tmp
4666 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4667 1577599 : idata = idata + 1
4668 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4669 1577599 : full_data(idata) = data_tmp
4670 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4671 1577599 : idata = idata + 1
4672 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4673 1577599 : full_data(idata) = data_tmp
4674 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4675 1577599 : idata = idata + 1
4676 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4677 1577599 : full_data(idata) = data_tmp
4678 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4679 1577599 : idata = idata + 1
4680 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4681 1577599 : full_data(idata) = data_tmp
4682 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4683 1577599 : idata = idata + 1
4684 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4685 1577599 : full_data(idata) = data_tmp
4686 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4687 1577599 : idata = idata + 1
4688 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4689 1577599 : full_data(idata) = data_tmp
4690 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4691 1577599 : idata = idata + 1
4692 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4693 1577599 : full_data(idata) = data_tmp
4694 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4695 1577599 : idata = idata + 1
4696 1577599 : data_tmp = ISHFT(pack_tmp, 2)
4697 1577599 : ipack = ipack + 1
4698 1577599 : pack_tmp = packed_data(ipack)
4699 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
4700 1577599 : pack_tmp = ISHFT(pack_tmp, -2)
4701 1577599 : idata = idata + 1
4702 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4703 1577599 : full_data(idata) = data_tmp
4704 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4705 1577599 : idata = idata + 1
4706 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4707 1577599 : full_data(idata) = data_tmp
4708 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4709 1577599 : idata = idata + 1
4710 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4711 1577599 : full_data(idata) = data_tmp
4712 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4713 1577599 : idata = idata + 1
4714 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4715 1577599 : full_data(idata) = data_tmp
4716 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4717 1577599 : idata = idata + 1
4718 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4719 1577599 : full_data(idata) = data_tmp
4720 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4721 1577599 : idata = idata + 1
4722 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4723 1577599 : full_data(idata) = data_tmp
4724 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4725 1577599 : idata = idata + 1
4726 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4727 1577599 : full_data(idata) = data_tmp
4728 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4729 1577599 : idata = idata + 1
4730 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4731 1577599 : full_data(idata) = data_tmp
4732 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4733 1577599 : idata = idata + 1
4734 1577599 : data_tmp = ISHFT(pack_tmp, 1)
4735 1577599 : ipack = ipack + 1
4736 1577599 : pack_tmp = packed_data(ipack)
4737 1577599 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
4738 1577599 : pack_tmp = ISHFT(pack_tmp, -1)
4739 1577599 : idata = idata + 1
4740 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4741 1577599 : full_data(idata) = data_tmp
4742 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4743 1577599 : idata = idata + 1
4744 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4745 1577599 : full_data(idata) = data_tmp
4746 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4747 1577599 : idata = idata + 1
4748 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4749 1577599 : full_data(idata) = data_tmp
4750 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4751 1577599 : idata = idata + 1
4752 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4753 1577599 : full_data(idata) = data_tmp
4754 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4755 1577599 : idata = idata + 1
4756 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4757 1577599 : full_data(idata) = data_tmp
4758 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4759 1577599 : idata = idata + 1
4760 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4761 1577599 : full_data(idata) = data_tmp
4762 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4763 1577599 : idata = idata + 1
4764 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4765 1577599 : full_data(idata) = data_tmp
4766 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4767 1577599 : idata = idata + 1
4768 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4769 1577599 : full_data(idata) = data_tmp
4770 1577599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4771 1577599 : idata = idata + 1
4772 1577599 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4773 1577599 : full_data(idata) = data_tmp
4774 1577613 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4775 : END DO
4776 98938 : 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 98938 : END SUBROUTINE bits2ints_7
4780 :
4781 : ! **************************************************************************************************
4782 : !> \brief ...
4783 : !> \param Ndata ...
4784 : !> \param packed_data ...
4785 : !> \param full_data ...
4786 : ! **************************************************************************************************
4787 24021 : 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 24021 : idata = 0
4798 24021 : ipack = 0
4799 24021 : Ndata_rep = (Ndata/64)*64
4800 24021 : DO kdata = 1, Ndata_rep, 64
4801 383792 : pack_tmp = 0
4802 383792 : idata = idata + 1
4803 383792 : data_tmp = full_data(idata)
4804 383792 : data_tmp = ISHFT(data_tmp, 56)
4805 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4806 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4807 383792 : idata = idata + 1
4808 383792 : data_tmp = full_data(idata)
4809 383792 : data_tmp = ISHFT(data_tmp, 56)
4810 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4811 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4812 383792 : idata = idata + 1
4813 383792 : data_tmp = full_data(idata)
4814 383792 : data_tmp = ISHFT(data_tmp, 56)
4815 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4816 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4817 383792 : idata = idata + 1
4818 383792 : data_tmp = full_data(idata)
4819 383792 : data_tmp = ISHFT(data_tmp, 56)
4820 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4821 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4822 383792 : idata = idata + 1
4823 383792 : data_tmp = full_data(idata)
4824 383792 : data_tmp = ISHFT(data_tmp, 56)
4825 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4826 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4827 383792 : idata = idata + 1
4828 383792 : data_tmp = full_data(idata)
4829 383792 : data_tmp = ISHFT(data_tmp, 56)
4830 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4831 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4832 383792 : idata = idata + 1
4833 383792 : data_tmp = full_data(idata)
4834 383792 : data_tmp = ISHFT(data_tmp, 56)
4835 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4836 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4837 383792 : idata = idata + 1
4838 383792 : data_tmp = full_data(idata)
4839 383792 : data_tmp = ISHFT(data_tmp, 56)
4840 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4841 383792 : pack_tmp = ISHFT(pack_tmp, 0)
4842 383792 : idata = idata + 1
4843 383792 : data_tmp = full_data(idata)
4844 : data_tmp = ISHFT(data_tmp, 56)
4845 383792 : data_tmp = IAND(data_tmp, mask_left(0))
4846 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4847 383792 : ipack = ipack + 1
4848 383792 : packed_data(ipack) = pack_tmp
4849 383792 : data_tmp = full_data(idata)
4850 383792 : pack_tmp = ISHFT(data_tmp, 56)
4851 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4852 383792 : idata = idata + 1
4853 383792 : data_tmp = full_data(idata)
4854 383792 : data_tmp = ISHFT(data_tmp, 56)
4855 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4856 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4857 383792 : idata = idata + 1
4858 383792 : data_tmp = full_data(idata)
4859 383792 : data_tmp = ISHFT(data_tmp, 56)
4860 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4861 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4862 383792 : idata = idata + 1
4863 383792 : data_tmp = full_data(idata)
4864 383792 : data_tmp = ISHFT(data_tmp, 56)
4865 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4866 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4867 383792 : idata = idata + 1
4868 383792 : data_tmp = full_data(idata)
4869 383792 : data_tmp = ISHFT(data_tmp, 56)
4870 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4871 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4872 383792 : idata = idata + 1
4873 383792 : data_tmp = full_data(idata)
4874 383792 : data_tmp = ISHFT(data_tmp, 56)
4875 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4876 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4877 383792 : idata = idata + 1
4878 383792 : data_tmp = full_data(idata)
4879 383792 : data_tmp = ISHFT(data_tmp, 56)
4880 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4881 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4882 383792 : idata = idata + 1
4883 383792 : data_tmp = full_data(idata)
4884 383792 : data_tmp = ISHFT(data_tmp, 56)
4885 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4886 383792 : pack_tmp = ISHFT(pack_tmp, 0)
4887 383792 : idata = idata + 1
4888 383792 : data_tmp = full_data(idata)
4889 : data_tmp = ISHFT(data_tmp, 56)
4890 383792 : data_tmp = IAND(data_tmp, mask_left(0))
4891 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4892 383792 : ipack = ipack + 1
4893 383792 : packed_data(ipack) = pack_tmp
4894 383792 : data_tmp = full_data(idata)
4895 383792 : pack_tmp = ISHFT(data_tmp, 56)
4896 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4897 383792 : idata = idata + 1
4898 383792 : data_tmp = full_data(idata)
4899 383792 : data_tmp = ISHFT(data_tmp, 56)
4900 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4901 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4902 383792 : idata = idata + 1
4903 383792 : data_tmp = full_data(idata)
4904 383792 : data_tmp = ISHFT(data_tmp, 56)
4905 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4906 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4907 383792 : idata = idata + 1
4908 383792 : data_tmp = full_data(idata)
4909 383792 : data_tmp = ISHFT(data_tmp, 56)
4910 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4911 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4912 383792 : idata = idata + 1
4913 383792 : data_tmp = full_data(idata)
4914 383792 : data_tmp = ISHFT(data_tmp, 56)
4915 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4916 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4917 383792 : idata = idata + 1
4918 383792 : data_tmp = full_data(idata)
4919 383792 : data_tmp = ISHFT(data_tmp, 56)
4920 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4921 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4922 383792 : idata = idata + 1
4923 383792 : data_tmp = full_data(idata)
4924 383792 : data_tmp = ISHFT(data_tmp, 56)
4925 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4926 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4927 383792 : idata = idata + 1
4928 383792 : data_tmp = full_data(idata)
4929 383792 : data_tmp = ISHFT(data_tmp, 56)
4930 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4931 383792 : pack_tmp = ISHFT(pack_tmp, 0)
4932 383792 : idata = idata + 1
4933 383792 : data_tmp = full_data(idata)
4934 : data_tmp = ISHFT(data_tmp, 56)
4935 383792 : data_tmp = IAND(data_tmp, mask_left(0))
4936 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4937 383792 : ipack = ipack + 1
4938 383792 : packed_data(ipack) = pack_tmp
4939 383792 : data_tmp = full_data(idata)
4940 383792 : pack_tmp = ISHFT(data_tmp, 56)
4941 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4942 383792 : idata = idata + 1
4943 383792 : data_tmp = full_data(idata)
4944 383792 : data_tmp = ISHFT(data_tmp, 56)
4945 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4946 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4947 383792 : idata = idata + 1
4948 383792 : data_tmp = full_data(idata)
4949 383792 : data_tmp = ISHFT(data_tmp, 56)
4950 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4951 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4952 383792 : idata = idata + 1
4953 383792 : data_tmp = full_data(idata)
4954 383792 : data_tmp = ISHFT(data_tmp, 56)
4955 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4956 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4957 383792 : idata = idata + 1
4958 383792 : data_tmp = full_data(idata)
4959 383792 : data_tmp = ISHFT(data_tmp, 56)
4960 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4961 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4962 383792 : idata = idata + 1
4963 383792 : data_tmp = full_data(idata)
4964 383792 : data_tmp = ISHFT(data_tmp, 56)
4965 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4966 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4967 383792 : idata = idata + 1
4968 383792 : data_tmp = full_data(idata)
4969 383792 : data_tmp = ISHFT(data_tmp, 56)
4970 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4971 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4972 383792 : idata = idata + 1
4973 383792 : data_tmp = full_data(idata)
4974 383792 : data_tmp = ISHFT(data_tmp, 56)
4975 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4976 383792 : pack_tmp = ISHFT(pack_tmp, 0)
4977 383792 : idata = idata + 1
4978 383792 : data_tmp = full_data(idata)
4979 : data_tmp = ISHFT(data_tmp, 56)
4980 383792 : data_tmp = IAND(data_tmp, mask_left(0))
4981 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4982 383792 : ipack = ipack + 1
4983 383792 : packed_data(ipack) = pack_tmp
4984 383792 : data_tmp = full_data(idata)
4985 383792 : pack_tmp = ISHFT(data_tmp, 56)
4986 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4987 383792 : idata = idata + 1
4988 383792 : data_tmp = full_data(idata)
4989 383792 : data_tmp = ISHFT(data_tmp, 56)
4990 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4991 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4992 383792 : idata = idata + 1
4993 383792 : data_tmp = full_data(idata)
4994 383792 : data_tmp = ISHFT(data_tmp, 56)
4995 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
4996 383792 : pack_tmp = ISHFT(pack_tmp, -8)
4997 383792 : idata = idata + 1
4998 383792 : data_tmp = full_data(idata)
4999 383792 : data_tmp = ISHFT(data_tmp, 56)
5000 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5001 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5002 383792 : idata = idata + 1
5003 383792 : data_tmp = full_data(idata)
5004 383792 : data_tmp = ISHFT(data_tmp, 56)
5005 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5006 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5007 383792 : idata = idata + 1
5008 383792 : data_tmp = full_data(idata)
5009 383792 : data_tmp = ISHFT(data_tmp, 56)
5010 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5011 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5012 383792 : idata = idata + 1
5013 383792 : data_tmp = full_data(idata)
5014 383792 : data_tmp = ISHFT(data_tmp, 56)
5015 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5016 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5017 383792 : idata = idata + 1
5018 383792 : data_tmp = full_data(idata)
5019 383792 : data_tmp = ISHFT(data_tmp, 56)
5020 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5021 383792 : pack_tmp = ISHFT(pack_tmp, 0)
5022 383792 : idata = idata + 1
5023 383792 : data_tmp = full_data(idata)
5024 : data_tmp = ISHFT(data_tmp, 56)
5025 383792 : data_tmp = IAND(data_tmp, mask_left(0))
5026 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5027 383792 : ipack = ipack + 1
5028 383792 : packed_data(ipack) = pack_tmp
5029 383792 : data_tmp = full_data(idata)
5030 383792 : pack_tmp = ISHFT(data_tmp, 56)
5031 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5032 383792 : idata = idata + 1
5033 383792 : data_tmp = full_data(idata)
5034 383792 : data_tmp = ISHFT(data_tmp, 56)
5035 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5036 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5037 383792 : idata = idata + 1
5038 383792 : data_tmp = full_data(idata)
5039 383792 : data_tmp = ISHFT(data_tmp, 56)
5040 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5041 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5042 383792 : idata = idata + 1
5043 383792 : data_tmp = full_data(idata)
5044 383792 : data_tmp = ISHFT(data_tmp, 56)
5045 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5046 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5047 383792 : idata = idata + 1
5048 383792 : data_tmp = full_data(idata)
5049 383792 : data_tmp = ISHFT(data_tmp, 56)
5050 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5051 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5052 383792 : idata = idata + 1
5053 383792 : data_tmp = full_data(idata)
5054 383792 : data_tmp = ISHFT(data_tmp, 56)
5055 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5056 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5057 383792 : idata = idata + 1
5058 383792 : data_tmp = full_data(idata)
5059 383792 : data_tmp = ISHFT(data_tmp, 56)
5060 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5061 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5062 383792 : idata = idata + 1
5063 383792 : data_tmp = full_data(idata)
5064 383792 : data_tmp = ISHFT(data_tmp, 56)
5065 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5066 383792 : pack_tmp = ISHFT(pack_tmp, 0)
5067 383792 : idata = idata + 1
5068 383792 : data_tmp = full_data(idata)
5069 : data_tmp = ISHFT(data_tmp, 56)
5070 383792 : data_tmp = IAND(data_tmp, mask_left(0))
5071 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5072 383792 : ipack = ipack + 1
5073 383792 : packed_data(ipack) = pack_tmp
5074 383792 : data_tmp = full_data(idata)
5075 383792 : pack_tmp = ISHFT(data_tmp, 56)
5076 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5077 383792 : idata = idata + 1
5078 383792 : data_tmp = full_data(idata)
5079 383792 : data_tmp = ISHFT(data_tmp, 56)
5080 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5081 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5082 383792 : idata = idata + 1
5083 383792 : data_tmp = full_data(idata)
5084 383792 : data_tmp = ISHFT(data_tmp, 56)
5085 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5086 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5087 383792 : idata = idata + 1
5088 383792 : data_tmp = full_data(idata)
5089 383792 : data_tmp = ISHFT(data_tmp, 56)
5090 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5091 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5092 383792 : idata = idata + 1
5093 383792 : data_tmp = full_data(idata)
5094 383792 : data_tmp = ISHFT(data_tmp, 56)
5095 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5096 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5097 383792 : idata = idata + 1
5098 383792 : data_tmp = full_data(idata)
5099 383792 : data_tmp = ISHFT(data_tmp, 56)
5100 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5101 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5102 383792 : idata = idata + 1
5103 383792 : data_tmp = full_data(idata)
5104 383792 : data_tmp = ISHFT(data_tmp, 56)
5105 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5106 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5107 383792 : idata = idata + 1
5108 383792 : data_tmp = full_data(idata)
5109 383792 : data_tmp = ISHFT(data_tmp, 56)
5110 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5111 383792 : pack_tmp = ISHFT(pack_tmp, 0)
5112 383792 : idata = idata + 1
5113 383792 : data_tmp = full_data(idata)
5114 : data_tmp = ISHFT(data_tmp, 56)
5115 383792 : data_tmp = IAND(data_tmp, mask_left(0))
5116 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5117 383792 : ipack = ipack + 1
5118 383792 : packed_data(ipack) = pack_tmp
5119 383792 : data_tmp = full_data(idata)
5120 383792 : pack_tmp = ISHFT(data_tmp, 56)
5121 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5122 383792 : idata = idata + 1
5123 383792 : data_tmp = full_data(idata)
5124 383792 : data_tmp = ISHFT(data_tmp, 56)
5125 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5126 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5127 383792 : idata = idata + 1
5128 383792 : data_tmp = full_data(idata)
5129 383792 : data_tmp = ISHFT(data_tmp, 56)
5130 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5131 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5132 383792 : idata = idata + 1
5133 383792 : data_tmp = full_data(idata)
5134 383792 : data_tmp = ISHFT(data_tmp, 56)
5135 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5136 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5137 383792 : idata = idata + 1
5138 383792 : data_tmp = full_data(idata)
5139 383792 : data_tmp = ISHFT(data_tmp, 56)
5140 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5141 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5142 383792 : idata = idata + 1
5143 383792 : data_tmp = full_data(idata)
5144 383792 : data_tmp = ISHFT(data_tmp, 56)
5145 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5146 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5147 383792 : idata = idata + 1
5148 383792 : data_tmp = full_data(idata)
5149 383792 : data_tmp = ISHFT(data_tmp, 56)
5150 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5151 383792 : pack_tmp = ISHFT(pack_tmp, -8)
5152 383792 : idata = idata + 1
5153 383792 : data_tmp = full_data(idata)
5154 383792 : data_tmp = ISHFT(data_tmp, 56)
5155 383792 : pack_tmp = IOR(pack_tmp, data_tmp)
5156 : pack_tmp = ISHFT(pack_tmp, 0)
5157 383792 : pack_tmp = ISHFT(pack_tmp, 0)
5158 383792 : ipack = ipack + 1
5159 383826 : packed_data(ipack) = pack_tmp
5160 : END DO
5161 24021 : 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 24021 : END SUBROUTINE ints2bits_8
5165 :
5166 : ! **************************************************************************************************
5167 : !> \brief ...
5168 : !> \param Ndata ...
5169 : !> \param packed_data ...
5170 : !> \param full_data ...
5171 : ! **************************************************************************************************
5172 98992 : 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 98992 : ipack = 0
5183 98992 : idata = 0
5184 98992 : pack_tmp = 0
5185 98992 : Ndata_rep = (Ndata/64)*64
5186 98992 : DO kdata = 1, Ndata_rep, 64
5187 1578160 : idata = idata + 1
5188 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5189 1578160 : ipack = ipack + 1
5190 1578160 : pack_tmp = packed_data(ipack)
5191 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5192 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5193 1578160 : idata = idata + 1
5194 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5195 1578160 : full_data(idata) = data_tmp
5196 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5197 1578160 : idata = idata + 1
5198 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5199 1578160 : full_data(idata) = data_tmp
5200 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5201 1578160 : idata = idata + 1
5202 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5203 1578160 : full_data(idata) = data_tmp
5204 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5205 1578160 : idata = idata + 1
5206 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5207 1578160 : full_data(idata) = data_tmp
5208 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5209 1578160 : idata = idata + 1
5210 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5211 1578160 : full_data(idata) = data_tmp
5212 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5213 1578160 : idata = idata + 1
5214 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5215 1578160 : full_data(idata) = data_tmp
5216 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5217 1578160 : idata = idata + 1
5218 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5219 1578160 : full_data(idata) = data_tmp
5220 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5221 1578160 : idata = idata + 1
5222 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5223 1578160 : ipack = ipack + 1
5224 1578160 : pack_tmp = packed_data(ipack)
5225 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5226 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5227 1578160 : idata = idata + 1
5228 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5229 1578160 : full_data(idata) = data_tmp
5230 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5231 1578160 : idata = idata + 1
5232 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5233 1578160 : full_data(idata) = data_tmp
5234 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5235 1578160 : idata = idata + 1
5236 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5237 1578160 : full_data(idata) = data_tmp
5238 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5239 1578160 : idata = idata + 1
5240 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5241 1578160 : full_data(idata) = data_tmp
5242 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5243 1578160 : idata = idata + 1
5244 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5245 1578160 : full_data(idata) = data_tmp
5246 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5247 1578160 : idata = idata + 1
5248 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5249 1578160 : full_data(idata) = data_tmp
5250 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5251 1578160 : idata = idata + 1
5252 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5253 1578160 : full_data(idata) = data_tmp
5254 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5255 1578160 : idata = idata + 1
5256 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5257 1578160 : ipack = ipack + 1
5258 1578160 : pack_tmp = packed_data(ipack)
5259 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5260 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5261 1578160 : idata = idata + 1
5262 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5263 1578160 : full_data(idata) = data_tmp
5264 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5265 1578160 : idata = idata + 1
5266 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5267 1578160 : full_data(idata) = data_tmp
5268 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5269 1578160 : idata = idata + 1
5270 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5271 1578160 : full_data(idata) = data_tmp
5272 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5273 1578160 : idata = idata + 1
5274 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5275 1578160 : full_data(idata) = data_tmp
5276 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5277 1578160 : idata = idata + 1
5278 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5279 1578160 : full_data(idata) = data_tmp
5280 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5281 1578160 : idata = idata + 1
5282 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5283 1578160 : full_data(idata) = data_tmp
5284 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5285 1578160 : idata = idata + 1
5286 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5287 1578160 : full_data(idata) = data_tmp
5288 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5289 1578160 : idata = idata + 1
5290 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5291 1578160 : ipack = ipack + 1
5292 1578160 : pack_tmp = packed_data(ipack)
5293 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5294 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5295 1578160 : idata = idata + 1
5296 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5297 1578160 : full_data(idata) = data_tmp
5298 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5299 1578160 : idata = idata + 1
5300 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5301 1578160 : full_data(idata) = data_tmp
5302 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5303 1578160 : idata = idata + 1
5304 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5305 1578160 : full_data(idata) = data_tmp
5306 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5307 1578160 : idata = idata + 1
5308 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5309 1578160 : full_data(idata) = data_tmp
5310 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5311 1578160 : idata = idata + 1
5312 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5313 1578160 : full_data(idata) = data_tmp
5314 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5315 1578160 : idata = idata + 1
5316 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5317 1578160 : full_data(idata) = data_tmp
5318 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5319 1578160 : idata = idata + 1
5320 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5321 1578160 : full_data(idata) = data_tmp
5322 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5323 1578160 : idata = idata + 1
5324 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5325 1578160 : ipack = ipack + 1
5326 1578160 : pack_tmp = packed_data(ipack)
5327 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5328 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5329 1578160 : idata = idata + 1
5330 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5331 1578160 : full_data(idata) = data_tmp
5332 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5333 1578160 : idata = idata + 1
5334 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5335 1578160 : full_data(idata) = data_tmp
5336 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5337 1578160 : idata = idata + 1
5338 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5339 1578160 : full_data(idata) = data_tmp
5340 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5341 1578160 : idata = idata + 1
5342 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5343 1578160 : full_data(idata) = data_tmp
5344 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5345 1578160 : idata = idata + 1
5346 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5347 1578160 : full_data(idata) = data_tmp
5348 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5349 1578160 : idata = idata + 1
5350 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5351 1578160 : full_data(idata) = data_tmp
5352 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5353 1578160 : idata = idata + 1
5354 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5355 1578160 : full_data(idata) = data_tmp
5356 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5357 1578160 : idata = idata + 1
5358 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5359 1578160 : ipack = ipack + 1
5360 1578160 : pack_tmp = packed_data(ipack)
5361 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5362 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5363 1578160 : idata = idata + 1
5364 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5365 1578160 : full_data(idata) = data_tmp
5366 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5367 1578160 : idata = idata + 1
5368 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5369 1578160 : full_data(idata) = data_tmp
5370 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5371 1578160 : idata = idata + 1
5372 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5373 1578160 : full_data(idata) = data_tmp
5374 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5375 1578160 : idata = idata + 1
5376 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5377 1578160 : full_data(idata) = data_tmp
5378 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5379 1578160 : idata = idata + 1
5380 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5381 1578160 : full_data(idata) = data_tmp
5382 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5383 1578160 : idata = idata + 1
5384 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5385 1578160 : full_data(idata) = data_tmp
5386 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5387 1578160 : idata = idata + 1
5388 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5389 1578160 : full_data(idata) = data_tmp
5390 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5391 1578160 : idata = idata + 1
5392 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5393 1578160 : ipack = ipack + 1
5394 1578160 : pack_tmp = packed_data(ipack)
5395 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5396 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5397 1578160 : idata = idata + 1
5398 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5399 1578160 : full_data(idata) = data_tmp
5400 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5401 1578160 : idata = idata + 1
5402 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5403 1578160 : full_data(idata) = data_tmp
5404 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5405 1578160 : idata = idata + 1
5406 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5407 1578160 : full_data(idata) = data_tmp
5408 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5409 1578160 : idata = idata + 1
5410 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5411 1578160 : full_data(idata) = data_tmp
5412 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5413 1578160 : idata = idata + 1
5414 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5415 1578160 : full_data(idata) = data_tmp
5416 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5417 1578160 : idata = idata + 1
5418 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5419 1578160 : full_data(idata) = data_tmp
5420 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5421 1578160 : idata = idata + 1
5422 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5423 1578160 : full_data(idata) = data_tmp
5424 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5425 1578160 : idata = idata + 1
5426 1578160 : data_tmp = ISHFT(pack_tmp, 8)
5427 1578160 : ipack = ipack + 1
5428 1578160 : pack_tmp = packed_data(ipack)
5429 1578160 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5430 1578160 : pack_tmp = ISHFT(pack_tmp, -8)
5431 1578160 : idata = idata + 1
5432 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5433 1578160 : full_data(idata) = data_tmp
5434 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5435 1578160 : idata = idata + 1
5436 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5437 1578160 : full_data(idata) = data_tmp
5438 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5439 1578160 : idata = idata + 1
5440 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5441 1578160 : full_data(idata) = data_tmp
5442 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5443 1578160 : idata = idata + 1
5444 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5445 1578160 : full_data(idata) = data_tmp
5446 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5447 1578160 : idata = idata + 1
5448 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5449 1578160 : full_data(idata) = data_tmp
5450 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5451 1578160 : idata = idata + 1
5452 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5453 1578160 : full_data(idata) = data_tmp
5454 1578160 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5455 1578160 : idata = idata + 1
5456 1578160 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5457 1578160 : full_data(idata) = data_tmp
5458 1578517 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5459 : END DO
5460 98992 : 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 98992 : END SUBROUTINE bits2ints_8
5464 :
5465 : ! **************************************************************************************************
5466 : !> \brief ...
5467 : !> \param Ndata ...
5468 : !> \param packed_data ...
5469 : !> \param full_data ...
5470 : ! **************************************************************************************************
5471 23980 : 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 23980 : idata = 0
5482 23980 : ipack = 0
5483 23980 : Ndata_rep = (Ndata/64)*64
5484 23980 : DO kdata = 1, Ndata_rep, 64
5485 383119 : pack_tmp = 0
5486 383119 : idata = idata + 1
5487 383119 : data_tmp = full_data(idata)
5488 383119 : data_tmp = ISHFT(data_tmp, 55)
5489 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5490 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5491 383119 : idata = idata + 1
5492 383119 : data_tmp = full_data(idata)
5493 383119 : data_tmp = ISHFT(data_tmp, 55)
5494 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5495 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5496 383119 : idata = idata + 1
5497 383119 : data_tmp = full_data(idata)
5498 383119 : data_tmp = ISHFT(data_tmp, 55)
5499 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5500 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5501 383119 : idata = idata + 1
5502 383119 : data_tmp = full_data(idata)
5503 383119 : data_tmp = ISHFT(data_tmp, 55)
5504 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5505 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5506 383119 : idata = idata + 1
5507 383119 : data_tmp = full_data(idata)
5508 383119 : data_tmp = ISHFT(data_tmp, 55)
5509 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5510 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5511 383119 : idata = idata + 1
5512 383119 : data_tmp = full_data(idata)
5513 383119 : data_tmp = ISHFT(data_tmp, 55)
5514 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5515 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5516 383119 : idata = idata + 1
5517 383119 : data_tmp = full_data(idata)
5518 383119 : data_tmp = ISHFT(data_tmp, 55)
5519 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5520 383119 : pack_tmp = ISHFT(pack_tmp, -1)
5521 383119 : idata = idata + 1
5522 383119 : data_tmp = full_data(idata)
5523 383119 : data_tmp = ISHFT(data_tmp, 55)
5524 383119 : data_tmp = IAND(data_tmp, mask_left(1))
5525 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5526 383119 : ipack = ipack + 1
5527 383119 : packed_data(ipack) = pack_tmp
5528 383119 : data_tmp = full_data(idata)
5529 383119 : pack_tmp = ISHFT(data_tmp, 56)
5530 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5531 383119 : idata = idata + 1
5532 383119 : data_tmp = full_data(idata)
5533 383119 : data_tmp = ISHFT(data_tmp, 55)
5534 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5535 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5536 383119 : idata = idata + 1
5537 383119 : data_tmp = full_data(idata)
5538 383119 : data_tmp = ISHFT(data_tmp, 55)
5539 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5540 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5541 383119 : idata = idata + 1
5542 383119 : data_tmp = full_data(idata)
5543 383119 : data_tmp = ISHFT(data_tmp, 55)
5544 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5545 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5546 383119 : idata = idata + 1
5547 383119 : data_tmp = full_data(idata)
5548 383119 : data_tmp = ISHFT(data_tmp, 55)
5549 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5550 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5551 383119 : idata = idata + 1
5552 383119 : data_tmp = full_data(idata)
5553 383119 : data_tmp = ISHFT(data_tmp, 55)
5554 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5555 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5556 383119 : idata = idata + 1
5557 383119 : data_tmp = full_data(idata)
5558 383119 : data_tmp = ISHFT(data_tmp, 55)
5559 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5560 383119 : pack_tmp = ISHFT(pack_tmp, -2)
5561 383119 : idata = idata + 1
5562 383119 : data_tmp = full_data(idata)
5563 383119 : data_tmp = ISHFT(data_tmp, 55)
5564 383119 : data_tmp = IAND(data_tmp, mask_left(2))
5565 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5566 383119 : ipack = ipack + 1
5567 383119 : packed_data(ipack) = pack_tmp
5568 383119 : data_tmp = full_data(idata)
5569 383119 : pack_tmp = ISHFT(data_tmp, 57)
5570 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5571 383119 : idata = idata + 1
5572 383119 : data_tmp = full_data(idata)
5573 383119 : data_tmp = ISHFT(data_tmp, 55)
5574 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5575 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5576 383119 : idata = idata + 1
5577 383119 : data_tmp = full_data(idata)
5578 383119 : data_tmp = ISHFT(data_tmp, 55)
5579 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5580 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5581 383119 : idata = idata + 1
5582 383119 : data_tmp = full_data(idata)
5583 383119 : data_tmp = ISHFT(data_tmp, 55)
5584 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5585 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5586 383119 : idata = idata + 1
5587 383119 : data_tmp = full_data(idata)
5588 383119 : data_tmp = ISHFT(data_tmp, 55)
5589 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5590 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5591 383119 : idata = idata + 1
5592 383119 : data_tmp = full_data(idata)
5593 383119 : data_tmp = ISHFT(data_tmp, 55)
5594 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5595 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5596 383119 : idata = idata + 1
5597 383119 : data_tmp = full_data(idata)
5598 383119 : data_tmp = ISHFT(data_tmp, 55)
5599 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5600 383119 : pack_tmp = ISHFT(pack_tmp, -3)
5601 383119 : idata = idata + 1
5602 383119 : data_tmp = full_data(idata)
5603 383119 : data_tmp = ISHFT(data_tmp, 55)
5604 383119 : data_tmp = IAND(data_tmp, mask_left(3))
5605 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5606 383119 : ipack = ipack + 1
5607 383119 : packed_data(ipack) = pack_tmp
5608 383119 : data_tmp = full_data(idata)
5609 383119 : pack_tmp = ISHFT(data_tmp, 58)
5610 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5611 383119 : idata = idata + 1
5612 383119 : data_tmp = full_data(idata)
5613 383119 : data_tmp = ISHFT(data_tmp, 55)
5614 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5615 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5616 383119 : idata = idata + 1
5617 383119 : data_tmp = full_data(idata)
5618 383119 : data_tmp = ISHFT(data_tmp, 55)
5619 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5620 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5621 383119 : idata = idata + 1
5622 383119 : data_tmp = full_data(idata)
5623 383119 : data_tmp = ISHFT(data_tmp, 55)
5624 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5625 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5626 383119 : idata = idata + 1
5627 383119 : data_tmp = full_data(idata)
5628 383119 : data_tmp = ISHFT(data_tmp, 55)
5629 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5630 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5631 383119 : idata = idata + 1
5632 383119 : data_tmp = full_data(idata)
5633 383119 : data_tmp = ISHFT(data_tmp, 55)
5634 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5635 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5636 383119 : idata = idata + 1
5637 383119 : data_tmp = full_data(idata)
5638 383119 : data_tmp = ISHFT(data_tmp, 55)
5639 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5640 383119 : pack_tmp = ISHFT(pack_tmp, -4)
5641 383119 : idata = idata + 1
5642 383119 : data_tmp = full_data(idata)
5643 383119 : data_tmp = ISHFT(data_tmp, 55)
5644 383119 : data_tmp = IAND(data_tmp, mask_left(4))
5645 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5646 383119 : ipack = ipack + 1
5647 383119 : packed_data(ipack) = pack_tmp
5648 383119 : data_tmp = full_data(idata)
5649 383119 : pack_tmp = ISHFT(data_tmp, 59)
5650 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5651 383119 : idata = idata + 1
5652 383119 : data_tmp = full_data(idata)
5653 383119 : data_tmp = ISHFT(data_tmp, 55)
5654 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5655 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5656 383119 : idata = idata + 1
5657 383119 : data_tmp = full_data(idata)
5658 383119 : data_tmp = ISHFT(data_tmp, 55)
5659 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5660 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5661 383119 : idata = idata + 1
5662 383119 : data_tmp = full_data(idata)
5663 383119 : data_tmp = ISHFT(data_tmp, 55)
5664 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5665 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5666 383119 : idata = idata + 1
5667 383119 : data_tmp = full_data(idata)
5668 383119 : data_tmp = ISHFT(data_tmp, 55)
5669 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5670 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5671 383119 : idata = idata + 1
5672 383119 : data_tmp = full_data(idata)
5673 383119 : data_tmp = ISHFT(data_tmp, 55)
5674 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5675 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5676 383119 : idata = idata + 1
5677 383119 : data_tmp = full_data(idata)
5678 383119 : data_tmp = ISHFT(data_tmp, 55)
5679 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5680 383119 : pack_tmp = ISHFT(pack_tmp, -5)
5681 383119 : idata = idata + 1
5682 383119 : data_tmp = full_data(idata)
5683 383119 : data_tmp = ISHFT(data_tmp, 55)
5684 383119 : data_tmp = IAND(data_tmp, mask_left(5))
5685 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5686 383119 : ipack = ipack + 1
5687 383119 : packed_data(ipack) = pack_tmp
5688 383119 : data_tmp = full_data(idata)
5689 383119 : pack_tmp = ISHFT(data_tmp, 60)
5690 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5691 383119 : idata = idata + 1
5692 383119 : data_tmp = full_data(idata)
5693 383119 : data_tmp = ISHFT(data_tmp, 55)
5694 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5695 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5696 383119 : idata = idata + 1
5697 383119 : data_tmp = full_data(idata)
5698 383119 : data_tmp = ISHFT(data_tmp, 55)
5699 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5700 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5701 383119 : idata = idata + 1
5702 383119 : data_tmp = full_data(idata)
5703 383119 : data_tmp = ISHFT(data_tmp, 55)
5704 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5705 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5706 383119 : idata = idata + 1
5707 383119 : data_tmp = full_data(idata)
5708 383119 : data_tmp = ISHFT(data_tmp, 55)
5709 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5710 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5711 383119 : idata = idata + 1
5712 383119 : data_tmp = full_data(idata)
5713 383119 : data_tmp = ISHFT(data_tmp, 55)
5714 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5715 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5716 383119 : idata = idata + 1
5717 383119 : data_tmp = full_data(idata)
5718 383119 : data_tmp = ISHFT(data_tmp, 55)
5719 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5720 383119 : pack_tmp = ISHFT(pack_tmp, -6)
5721 383119 : idata = idata + 1
5722 383119 : data_tmp = full_data(idata)
5723 383119 : data_tmp = ISHFT(data_tmp, 55)
5724 383119 : data_tmp = IAND(data_tmp, mask_left(6))
5725 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5726 383119 : ipack = ipack + 1
5727 383119 : packed_data(ipack) = pack_tmp
5728 383119 : data_tmp = full_data(idata)
5729 383119 : pack_tmp = ISHFT(data_tmp, 61)
5730 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5731 383119 : idata = idata + 1
5732 383119 : data_tmp = full_data(idata)
5733 383119 : data_tmp = ISHFT(data_tmp, 55)
5734 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5735 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5736 383119 : idata = idata + 1
5737 383119 : data_tmp = full_data(idata)
5738 383119 : data_tmp = ISHFT(data_tmp, 55)
5739 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5740 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5741 383119 : idata = idata + 1
5742 383119 : data_tmp = full_data(idata)
5743 383119 : data_tmp = ISHFT(data_tmp, 55)
5744 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5745 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5746 383119 : idata = idata + 1
5747 383119 : data_tmp = full_data(idata)
5748 383119 : data_tmp = ISHFT(data_tmp, 55)
5749 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5750 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5751 383119 : idata = idata + 1
5752 383119 : data_tmp = full_data(idata)
5753 383119 : data_tmp = ISHFT(data_tmp, 55)
5754 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5755 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5756 383119 : idata = idata + 1
5757 383119 : data_tmp = full_data(idata)
5758 383119 : data_tmp = ISHFT(data_tmp, 55)
5759 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5760 383119 : pack_tmp = ISHFT(pack_tmp, -7)
5761 383119 : idata = idata + 1
5762 383119 : data_tmp = full_data(idata)
5763 383119 : data_tmp = ISHFT(data_tmp, 55)
5764 383119 : data_tmp = IAND(data_tmp, mask_left(7))
5765 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5766 383119 : ipack = ipack + 1
5767 383119 : packed_data(ipack) = pack_tmp
5768 383119 : data_tmp = full_data(idata)
5769 383119 : pack_tmp = ISHFT(data_tmp, 62)
5770 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5771 383119 : idata = idata + 1
5772 383119 : data_tmp = full_data(idata)
5773 383119 : data_tmp = ISHFT(data_tmp, 55)
5774 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5775 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5776 383119 : idata = idata + 1
5777 383119 : data_tmp = full_data(idata)
5778 383119 : data_tmp = ISHFT(data_tmp, 55)
5779 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5780 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5781 383119 : idata = idata + 1
5782 383119 : data_tmp = full_data(idata)
5783 383119 : data_tmp = ISHFT(data_tmp, 55)
5784 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5785 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5786 383119 : idata = idata + 1
5787 383119 : data_tmp = full_data(idata)
5788 383119 : data_tmp = ISHFT(data_tmp, 55)
5789 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5790 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5791 383119 : idata = idata + 1
5792 383119 : data_tmp = full_data(idata)
5793 383119 : data_tmp = ISHFT(data_tmp, 55)
5794 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5795 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5796 383119 : idata = idata + 1
5797 383119 : data_tmp = full_data(idata)
5798 383119 : data_tmp = ISHFT(data_tmp, 55)
5799 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5800 383119 : pack_tmp = ISHFT(pack_tmp, -8)
5801 383119 : idata = idata + 1
5802 383119 : data_tmp = full_data(idata)
5803 383119 : data_tmp = ISHFT(data_tmp, 55)
5804 383119 : data_tmp = IAND(data_tmp, mask_left(8))
5805 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5806 383119 : ipack = ipack + 1
5807 383119 : packed_data(ipack) = pack_tmp
5808 383119 : data_tmp = full_data(idata)
5809 383119 : pack_tmp = ISHFT(data_tmp, 63)
5810 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5811 383119 : idata = idata + 1
5812 383119 : data_tmp = full_data(idata)
5813 383119 : data_tmp = ISHFT(data_tmp, 55)
5814 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5815 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5816 383119 : idata = idata + 1
5817 383119 : data_tmp = full_data(idata)
5818 383119 : data_tmp = ISHFT(data_tmp, 55)
5819 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5820 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5821 383119 : idata = idata + 1
5822 383119 : data_tmp = full_data(idata)
5823 383119 : data_tmp = ISHFT(data_tmp, 55)
5824 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5825 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5826 383119 : idata = idata + 1
5827 383119 : data_tmp = full_data(idata)
5828 383119 : data_tmp = ISHFT(data_tmp, 55)
5829 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5830 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5831 383119 : idata = idata + 1
5832 383119 : data_tmp = full_data(idata)
5833 383119 : data_tmp = ISHFT(data_tmp, 55)
5834 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5835 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5836 383119 : idata = idata + 1
5837 383119 : data_tmp = full_data(idata)
5838 383119 : data_tmp = ISHFT(data_tmp, 55)
5839 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5840 383119 : pack_tmp = ISHFT(pack_tmp, -9)
5841 383119 : idata = idata + 1
5842 383119 : data_tmp = full_data(idata)
5843 383119 : data_tmp = ISHFT(data_tmp, 55)
5844 383119 : pack_tmp = IOR(pack_tmp, data_tmp)
5845 : pack_tmp = ISHFT(pack_tmp, 0)
5846 383119 : pack_tmp = ISHFT(pack_tmp, 0)
5847 383119 : ipack = ipack + 1
5848 383119 : packed_data(ipack) = pack_tmp
5849 : END DO
5850 23980 : 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 23980 : END SUBROUTINE ints2bits_9
5854 :
5855 : ! **************************************************************************************************
5856 : !> \brief ...
5857 : !> \param Ndata ...
5858 : !> \param packed_data ...
5859 : !> \param full_data ...
5860 : ! **************************************************************************************************
5861 98330 : 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 98330 : ipack = 0
5872 98330 : idata = 0
5873 98330 : pack_tmp = 0
5874 98330 : Ndata_rep = (Ndata/64)*64
5875 98330 : DO kdata = 1, Ndata_rep, 64
5876 1568027 : idata = idata + 1
5877 1568027 : data_tmp = ISHFT(pack_tmp, 9)
5878 1568027 : ipack = ipack + 1
5879 1568027 : pack_tmp = packed_data(ipack)
5880 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
5881 1568027 : pack_tmp = ISHFT(pack_tmp, -9)
5882 1568027 : idata = idata + 1
5883 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5884 1568027 : full_data(idata) = data_tmp
5885 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5886 1568027 : idata = idata + 1
5887 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5888 1568027 : full_data(idata) = data_tmp
5889 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5890 1568027 : idata = idata + 1
5891 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5892 1568027 : full_data(idata) = data_tmp
5893 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5894 1568027 : idata = idata + 1
5895 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5896 1568027 : full_data(idata) = data_tmp
5897 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5898 1568027 : idata = idata + 1
5899 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5900 1568027 : full_data(idata) = data_tmp
5901 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5902 1568027 : idata = idata + 1
5903 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5904 1568027 : full_data(idata) = data_tmp
5905 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5906 1568027 : idata = idata + 1
5907 1568027 : data_tmp = ISHFT(pack_tmp, 8)
5908 1568027 : ipack = ipack + 1
5909 1568027 : pack_tmp = packed_data(ipack)
5910 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5911 1568027 : pack_tmp = ISHFT(pack_tmp, -8)
5912 1568027 : idata = idata + 1
5913 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5914 1568027 : full_data(idata) = data_tmp
5915 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5916 1568027 : idata = idata + 1
5917 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5918 1568027 : full_data(idata) = data_tmp
5919 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5920 1568027 : idata = idata + 1
5921 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5922 1568027 : full_data(idata) = data_tmp
5923 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5924 1568027 : idata = idata + 1
5925 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5926 1568027 : full_data(idata) = data_tmp
5927 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5928 1568027 : idata = idata + 1
5929 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5930 1568027 : full_data(idata) = data_tmp
5931 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5932 1568027 : idata = idata + 1
5933 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5934 1568027 : full_data(idata) = data_tmp
5935 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5936 1568027 : idata = idata + 1
5937 1568027 : data_tmp = ISHFT(pack_tmp, 7)
5938 1568027 : ipack = ipack + 1
5939 1568027 : pack_tmp = packed_data(ipack)
5940 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
5941 1568027 : pack_tmp = ISHFT(pack_tmp, -7)
5942 1568027 : idata = idata + 1
5943 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5944 1568027 : full_data(idata) = data_tmp
5945 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5946 1568027 : idata = idata + 1
5947 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5948 1568027 : full_data(idata) = data_tmp
5949 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5950 1568027 : idata = idata + 1
5951 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5952 1568027 : full_data(idata) = data_tmp
5953 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5954 1568027 : idata = idata + 1
5955 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5956 1568027 : full_data(idata) = data_tmp
5957 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5958 1568027 : idata = idata + 1
5959 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5960 1568027 : full_data(idata) = data_tmp
5961 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5962 1568027 : idata = idata + 1
5963 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5964 1568027 : full_data(idata) = data_tmp
5965 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5966 1568027 : idata = idata + 1
5967 1568027 : data_tmp = ISHFT(pack_tmp, 6)
5968 1568027 : ipack = ipack + 1
5969 1568027 : pack_tmp = packed_data(ipack)
5970 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
5971 1568027 : pack_tmp = ISHFT(pack_tmp, -6)
5972 1568027 : idata = idata + 1
5973 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5974 1568027 : full_data(idata) = data_tmp
5975 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5976 1568027 : idata = idata + 1
5977 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5978 1568027 : full_data(idata) = data_tmp
5979 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5980 1568027 : idata = idata + 1
5981 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5982 1568027 : full_data(idata) = data_tmp
5983 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5984 1568027 : idata = idata + 1
5985 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5986 1568027 : full_data(idata) = data_tmp
5987 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5988 1568027 : idata = idata + 1
5989 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5990 1568027 : full_data(idata) = data_tmp
5991 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5992 1568027 : idata = idata + 1
5993 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5994 1568027 : full_data(idata) = data_tmp
5995 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5996 1568027 : idata = idata + 1
5997 1568027 : data_tmp = ISHFT(pack_tmp, 5)
5998 1568027 : ipack = ipack + 1
5999 1568027 : pack_tmp = packed_data(ipack)
6000 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
6001 1568027 : pack_tmp = ISHFT(pack_tmp, -5)
6002 1568027 : idata = idata + 1
6003 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6004 1568027 : full_data(idata) = data_tmp
6005 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6006 1568027 : idata = idata + 1
6007 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6008 1568027 : full_data(idata) = data_tmp
6009 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6010 1568027 : idata = idata + 1
6011 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6012 1568027 : full_data(idata) = data_tmp
6013 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6014 1568027 : idata = idata + 1
6015 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6016 1568027 : full_data(idata) = data_tmp
6017 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6018 1568027 : idata = idata + 1
6019 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6020 1568027 : full_data(idata) = data_tmp
6021 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6022 1568027 : idata = idata + 1
6023 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6024 1568027 : full_data(idata) = data_tmp
6025 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6026 1568027 : idata = idata + 1
6027 1568027 : data_tmp = ISHFT(pack_tmp, 4)
6028 1568027 : ipack = ipack + 1
6029 1568027 : pack_tmp = packed_data(ipack)
6030 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6031 1568027 : pack_tmp = ISHFT(pack_tmp, -4)
6032 1568027 : idata = idata + 1
6033 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6034 1568027 : full_data(idata) = data_tmp
6035 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6036 1568027 : idata = idata + 1
6037 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6038 1568027 : full_data(idata) = data_tmp
6039 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6040 1568027 : idata = idata + 1
6041 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6042 1568027 : full_data(idata) = data_tmp
6043 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6044 1568027 : idata = idata + 1
6045 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6046 1568027 : full_data(idata) = data_tmp
6047 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6048 1568027 : idata = idata + 1
6049 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6050 1568027 : full_data(idata) = data_tmp
6051 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6052 1568027 : idata = idata + 1
6053 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6054 1568027 : full_data(idata) = data_tmp
6055 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6056 1568027 : idata = idata + 1
6057 1568027 : data_tmp = ISHFT(pack_tmp, 3)
6058 1568027 : ipack = ipack + 1
6059 1568027 : pack_tmp = packed_data(ipack)
6060 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
6061 1568027 : pack_tmp = ISHFT(pack_tmp, -3)
6062 1568027 : idata = idata + 1
6063 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6064 1568027 : full_data(idata) = data_tmp
6065 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6066 1568027 : idata = idata + 1
6067 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6068 1568027 : full_data(idata) = data_tmp
6069 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6070 1568027 : idata = idata + 1
6071 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6072 1568027 : full_data(idata) = data_tmp
6073 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6074 1568027 : idata = idata + 1
6075 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6076 1568027 : full_data(idata) = data_tmp
6077 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6078 1568027 : idata = idata + 1
6079 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6080 1568027 : full_data(idata) = data_tmp
6081 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6082 1568027 : idata = idata + 1
6083 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6084 1568027 : full_data(idata) = data_tmp
6085 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6086 1568027 : idata = idata + 1
6087 1568027 : data_tmp = ISHFT(pack_tmp, 2)
6088 1568027 : ipack = ipack + 1
6089 1568027 : pack_tmp = packed_data(ipack)
6090 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6091 1568027 : pack_tmp = ISHFT(pack_tmp, -2)
6092 1568027 : idata = idata + 1
6093 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6094 1568027 : full_data(idata) = data_tmp
6095 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6096 1568027 : idata = idata + 1
6097 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6098 1568027 : full_data(idata) = data_tmp
6099 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6100 1568027 : idata = idata + 1
6101 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6102 1568027 : full_data(idata) = data_tmp
6103 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6104 1568027 : idata = idata + 1
6105 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6106 1568027 : full_data(idata) = data_tmp
6107 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6108 1568027 : idata = idata + 1
6109 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6110 1568027 : full_data(idata) = data_tmp
6111 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6112 1568027 : idata = idata + 1
6113 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6114 1568027 : full_data(idata) = data_tmp
6115 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6116 1568027 : idata = idata + 1
6117 1568027 : data_tmp = ISHFT(pack_tmp, 1)
6118 1568027 : ipack = ipack + 1
6119 1568027 : pack_tmp = packed_data(ipack)
6120 1568027 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
6121 1568027 : pack_tmp = ISHFT(pack_tmp, -1)
6122 1568027 : idata = idata + 1
6123 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6124 1568027 : full_data(idata) = data_tmp
6125 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6126 1568027 : idata = idata + 1
6127 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6128 1568027 : full_data(idata) = data_tmp
6129 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6130 1568027 : idata = idata + 1
6131 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6132 1568027 : full_data(idata) = data_tmp
6133 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6134 1568027 : idata = idata + 1
6135 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6136 1568027 : full_data(idata) = data_tmp
6137 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6138 1568027 : idata = idata + 1
6139 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6140 1568027 : full_data(idata) = data_tmp
6141 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6142 1568027 : idata = idata + 1
6143 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6144 1568027 : full_data(idata) = data_tmp
6145 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6146 1568027 : idata = idata + 1
6147 1568027 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6148 1568027 : full_data(idata) = data_tmp
6149 1568027 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6150 : END DO
6151 98330 : 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 98330 : END SUBROUTINE bits2ints_9
6155 :
6156 : ! **************************************************************************************************
6157 : !> \brief ...
6158 : !> \param Ndata ...
6159 : !> \param packed_data ...
6160 : !> \param full_data ...
6161 : ! **************************************************************************************************
6162 50461 : 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 50461 : idata = 0
6173 50461 : ipack = 0
6174 50461 : Ndata_rep = (Ndata/64)*64
6175 50461 : DO kdata = 1, Ndata_rep, 64
6176 747298 : pack_tmp = 0
6177 747298 : idata = idata + 1
6178 747298 : data_tmp = full_data(idata)
6179 747298 : data_tmp = ISHFT(data_tmp, 54)
6180 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6181 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6182 747298 : idata = idata + 1
6183 747298 : data_tmp = full_data(idata)
6184 747298 : data_tmp = ISHFT(data_tmp, 54)
6185 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6186 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6187 747298 : idata = idata + 1
6188 747298 : data_tmp = full_data(idata)
6189 747298 : data_tmp = ISHFT(data_tmp, 54)
6190 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6191 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6192 747298 : idata = idata + 1
6193 747298 : data_tmp = full_data(idata)
6194 747298 : data_tmp = ISHFT(data_tmp, 54)
6195 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6196 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6197 747298 : idata = idata + 1
6198 747298 : data_tmp = full_data(idata)
6199 747298 : data_tmp = ISHFT(data_tmp, 54)
6200 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6201 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6202 747298 : idata = idata + 1
6203 747298 : data_tmp = full_data(idata)
6204 747298 : data_tmp = ISHFT(data_tmp, 54)
6205 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6206 747298 : pack_tmp = ISHFT(pack_tmp, -4)
6207 747298 : idata = idata + 1
6208 747298 : data_tmp = full_data(idata)
6209 747298 : data_tmp = ISHFT(data_tmp, 54)
6210 747298 : data_tmp = IAND(data_tmp, mask_left(4))
6211 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6212 747298 : ipack = ipack + 1
6213 747298 : packed_data(ipack) = pack_tmp
6214 747298 : data_tmp = full_data(idata)
6215 747298 : pack_tmp = ISHFT(data_tmp, 58)
6216 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6217 747298 : idata = idata + 1
6218 747298 : data_tmp = full_data(idata)
6219 747298 : data_tmp = ISHFT(data_tmp, 54)
6220 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6221 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6222 747298 : idata = idata + 1
6223 747298 : data_tmp = full_data(idata)
6224 747298 : data_tmp = ISHFT(data_tmp, 54)
6225 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6226 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6227 747298 : idata = idata + 1
6228 747298 : data_tmp = full_data(idata)
6229 747298 : data_tmp = ISHFT(data_tmp, 54)
6230 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6231 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6232 747298 : idata = idata + 1
6233 747298 : data_tmp = full_data(idata)
6234 747298 : data_tmp = ISHFT(data_tmp, 54)
6235 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6236 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6237 747298 : idata = idata + 1
6238 747298 : data_tmp = full_data(idata)
6239 747298 : data_tmp = ISHFT(data_tmp, 54)
6240 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6241 747298 : pack_tmp = ISHFT(pack_tmp, -8)
6242 747298 : idata = idata + 1
6243 747298 : data_tmp = full_data(idata)
6244 747298 : data_tmp = ISHFT(data_tmp, 54)
6245 747298 : data_tmp = IAND(data_tmp, mask_left(8))
6246 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6247 747298 : ipack = ipack + 1
6248 747298 : packed_data(ipack) = pack_tmp
6249 747298 : data_tmp = full_data(idata)
6250 747298 : pack_tmp = ISHFT(data_tmp, 62)
6251 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6252 747298 : idata = idata + 1
6253 747298 : data_tmp = full_data(idata)
6254 747298 : data_tmp = ISHFT(data_tmp, 54)
6255 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6256 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6257 747298 : idata = idata + 1
6258 747298 : data_tmp = full_data(idata)
6259 747298 : data_tmp = ISHFT(data_tmp, 54)
6260 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6261 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6262 747298 : idata = idata + 1
6263 747298 : data_tmp = full_data(idata)
6264 747298 : data_tmp = ISHFT(data_tmp, 54)
6265 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6266 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6267 747298 : idata = idata + 1
6268 747298 : data_tmp = full_data(idata)
6269 747298 : data_tmp = ISHFT(data_tmp, 54)
6270 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6271 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6272 747298 : idata = idata + 1
6273 747298 : data_tmp = full_data(idata)
6274 747298 : data_tmp = ISHFT(data_tmp, 54)
6275 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6276 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6277 747298 : idata = idata + 1
6278 747298 : data_tmp = full_data(idata)
6279 747298 : data_tmp = ISHFT(data_tmp, 54)
6280 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6281 747298 : pack_tmp = ISHFT(pack_tmp, -2)
6282 747298 : idata = idata + 1
6283 747298 : data_tmp = full_data(idata)
6284 747298 : data_tmp = ISHFT(data_tmp, 54)
6285 747298 : data_tmp = IAND(data_tmp, mask_left(2))
6286 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6287 747298 : ipack = ipack + 1
6288 747298 : packed_data(ipack) = pack_tmp
6289 747298 : data_tmp = full_data(idata)
6290 747298 : pack_tmp = ISHFT(data_tmp, 56)
6291 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6292 747298 : idata = idata + 1
6293 747298 : data_tmp = full_data(idata)
6294 747298 : data_tmp = ISHFT(data_tmp, 54)
6295 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6296 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6297 747298 : idata = idata + 1
6298 747298 : data_tmp = full_data(idata)
6299 747298 : data_tmp = ISHFT(data_tmp, 54)
6300 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6301 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6302 747298 : idata = idata + 1
6303 747298 : data_tmp = full_data(idata)
6304 747298 : data_tmp = ISHFT(data_tmp, 54)
6305 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6306 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6307 747298 : idata = idata + 1
6308 747298 : data_tmp = full_data(idata)
6309 747298 : data_tmp = ISHFT(data_tmp, 54)
6310 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6311 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6312 747298 : idata = idata + 1
6313 747298 : data_tmp = full_data(idata)
6314 747298 : data_tmp = ISHFT(data_tmp, 54)
6315 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6316 747298 : pack_tmp = ISHFT(pack_tmp, -6)
6317 747298 : idata = idata + 1
6318 747298 : data_tmp = full_data(idata)
6319 747298 : data_tmp = ISHFT(data_tmp, 54)
6320 747298 : data_tmp = IAND(data_tmp, mask_left(6))
6321 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6322 747298 : ipack = ipack + 1
6323 747298 : packed_data(ipack) = pack_tmp
6324 747298 : data_tmp = full_data(idata)
6325 747298 : pack_tmp = ISHFT(data_tmp, 60)
6326 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6327 747298 : idata = idata + 1
6328 747298 : data_tmp = full_data(idata)
6329 747298 : data_tmp = ISHFT(data_tmp, 54)
6330 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6331 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6332 747298 : idata = idata + 1
6333 747298 : data_tmp = full_data(idata)
6334 747298 : data_tmp = ISHFT(data_tmp, 54)
6335 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6336 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6337 747298 : idata = idata + 1
6338 747298 : data_tmp = full_data(idata)
6339 747298 : data_tmp = ISHFT(data_tmp, 54)
6340 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6341 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6342 747298 : idata = idata + 1
6343 747298 : data_tmp = full_data(idata)
6344 747298 : data_tmp = ISHFT(data_tmp, 54)
6345 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6346 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6347 747298 : idata = idata + 1
6348 747298 : data_tmp = full_data(idata)
6349 747298 : data_tmp = ISHFT(data_tmp, 54)
6350 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6351 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6352 747298 : idata = idata + 1
6353 747298 : data_tmp = full_data(idata)
6354 747298 : data_tmp = ISHFT(data_tmp, 54)
6355 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6356 747298 : pack_tmp = ISHFT(pack_tmp, 0)
6357 747298 : idata = idata + 1
6358 747298 : data_tmp = full_data(idata)
6359 : data_tmp = ISHFT(data_tmp, 54)
6360 747298 : data_tmp = IAND(data_tmp, mask_left(0))
6361 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6362 747298 : ipack = ipack + 1
6363 747298 : packed_data(ipack) = pack_tmp
6364 747298 : data_tmp = full_data(idata)
6365 747298 : pack_tmp = ISHFT(data_tmp, 54)
6366 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6367 747298 : idata = idata + 1
6368 747298 : data_tmp = full_data(idata)
6369 747298 : data_tmp = ISHFT(data_tmp, 54)
6370 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6371 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6372 747298 : idata = idata + 1
6373 747298 : data_tmp = full_data(idata)
6374 747298 : data_tmp = ISHFT(data_tmp, 54)
6375 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6376 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6377 747298 : idata = idata + 1
6378 747298 : data_tmp = full_data(idata)
6379 747298 : data_tmp = ISHFT(data_tmp, 54)
6380 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6381 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6382 747298 : idata = idata + 1
6383 747298 : data_tmp = full_data(idata)
6384 747298 : data_tmp = ISHFT(data_tmp, 54)
6385 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6386 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6387 747298 : idata = idata + 1
6388 747298 : data_tmp = full_data(idata)
6389 747298 : data_tmp = ISHFT(data_tmp, 54)
6390 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6391 747298 : pack_tmp = ISHFT(pack_tmp, -4)
6392 747298 : idata = idata + 1
6393 747298 : data_tmp = full_data(idata)
6394 747298 : data_tmp = ISHFT(data_tmp, 54)
6395 747298 : data_tmp = IAND(data_tmp, mask_left(4))
6396 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6397 747298 : ipack = ipack + 1
6398 747298 : packed_data(ipack) = pack_tmp
6399 747298 : data_tmp = full_data(idata)
6400 747298 : pack_tmp = ISHFT(data_tmp, 58)
6401 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6402 747298 : idata = idata + 1
6403 747298 : data_tmp = full_data(idata)
6404 747298 : data_tmp = ISHFT(data_tmp, 54)
6405 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6406 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6407 747298 : idata = idata + 1
6408 747298 : data_tmp = full_data(idata)
6409 747298 : data_tmp = ISHFT(data_tmp, 54)
6410 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6411 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6412 747298 : idata = idata + 1
6413 747298 : data_tmp = full_data(idata)
6414 747298 : data_tmp = ISHFT(data_tmp, 54)
6415 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6416 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6417 747298 : idata = idata + 1
6418 747298 : data_tmp = full_data(idata)
6419 747298 : data_tmp = ISHFT(data_tmp, 54)
6420 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6421 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6422 747298 : idata = idata + 1
6423 747298 : data_tmp = full_data(idata)
6424 747298 : data_tmp = ISHFT(data_tmp, 54)
6425 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6426 747298 : pack_tmp = ISHFT(pack_tmp, -8)
6427 747298 : idata = idata + 1
6428 747298 : data_tmp = full_data(idata)
6429 747298 : data_tmp = ISHFT(data_tmp, 54)
6430 747298 : data_tmp = IAND(data_tmp, mask_left(8))
6431 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6432 747298 : ipack = ipack + 1
6433 747298 : packed_data(ipack) = pack_tmp
6434 747298 : data_tmp = full_data(idata)
6435 747298 : pack_tmp = ISHFT(data_tmp, 62)
6436 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6437 747298 : idata = idata + 1
6438 747298 : data_tmp = full_data(idata)
6439 747298 : data_tmp = ISHFT(data_tmp, 54)
6440 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6441 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6442 747298 : idata = idata + 1
6443 747298 : data_tmp = full_data(idata)
6444 747298 : data_tmp = ISHFT(data_tmp, 54)
6445 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6446 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6447 747298 : idata = idata + 1
6448 747298 : data_tmp = full_data(idata)
6449 747298 : data_tmp = ISHFT(data_tmp, 54)
6450 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6451 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6452 747298 : idata = idata + 1
6453 747298 : data_tmp = full_data(idata)
6454 747298 : data_tmp = ISHFT(data_tmp, 54)
6455 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6456 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6457 747298 : idata = idata + 1
6458 747298 : data_tmp = full_data(idata)
6459 747298 : data_tmp = ISHFT(data_tmp, 54)
6460 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6461 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6462 747298 : idata = idata + 1
6463 747298 : data_tmp = full_data(idata)
6464 747298 : data_tmp = ISHFT(data_tmp, 54)
6465 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6466 747298 : pack_tmp = ISHFT(pack_tmp, -2)
6467 747298 : idata = idata + 1
6468 747298 : data_tmp = full_data(idata)
6469 747298 : data_tmp = ISHFT(data_tmp, 54)
6470 747298 : data_tmp = IAND(data_tmp, mask_left(2))
6471 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6472 747298 : ipack = ipack + 1
6473 747298 : packed_data(ipack) = pack_tmp
6474 747298 : data_tmp = full_data(idata)
6475 747298 : pack_tmp = ISHFT(data_tmp, 56)
6476 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6477 747298 : idata = idata + 1
6478 747298 : data_tmp = full_data(idata)
6479 747298 : data_tmp = ISHFT(data_tmp, 54)
6480 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6481 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6482 747298 : idata = idata + 1
6483 747298 : data_tmp = full_data(idata)
6484 747298 : data_tmp = ISHFT(data_tmp, 54)
6485 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6486 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6487 747298 : idata = idata + 1
6488 747298 : data_tmp = full_data(idata)
6489 747298 : data_tmp = ISHFT(data_tmp, 54)
6490 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6491 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6492 747298 : idata = idata + 1
6493 747298 : data_tmp = full_data(idata)
6494 747298 : data_tmp = ISHFT(data_tmp, 54)
6495 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6496 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6497 747298 : idata = idata + 1
6498 747298 : data_tmp = full_data(idata)
6499 747298 : data_tmp = ISHFT(data_tmp, 54)
6500 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6501 747298 : pack_tmp = ISHFT(pack_tmp, -6)
6502 747298 : idata = idata + 1
6503 747298 : data_tmp = full_data(idata)
6504 747298 : data_tmp = ISHFT(data_tmp, 54)
6505 747298 : data_tmp = IAND(data_tmp, mask_left(6))
6506 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6507 747298 : ipack = ipack + 1
6508 747298 : packed_data(ipack) = pack_tmp
6509 747298 : data_tmp = full_data(idata)
6510 747298 : pack_tmp = ISHFT(data_tmp, 60)
6511 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6512 747298 : idata = idata + 1
6513 747298 : data_tmp = full_data(idata)
6514 747298 : data_tmp = ISHFT(data_tmp, 54)
6515 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6516 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6517 747298 : idata = idata + 1
6518 747298 : data_tmp = full_data(idata)
6519 747298 : data_tmp = ISHFT(data_tmp, 54)
6520 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6521 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6522 747298 : idata = idata + 1
6523 747298 : data_tmp = full_data(idata)
6524 747298 : data_tmp = ISHFT(data_tmp, 54)
6525 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6526 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6527 747298 : idata = idata + 1
6528 747298 : data_tmp = full_data(idata)
6529 747298 : data_tmp = ISHFT(data_tmp, 54)
6530 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6531 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6532 747298 : idata = idata + 1
6533 747298 : data_tmp = full_data(idata)
6534 747298 : data_tmp = ISHFT(data_tmp, 54)
6535 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6536 747298 : pack_tmp = ISHFT(pack_tmp, -10)
6537 747298 : idata = idata + 1
6538 747298 : data_tmp = full_data(idata)
6539 747298 : data_tmp = ISHFT(data_tmp, 54)
6540 747298 : pack_tmp = IOR(pack_tmp, data_tmp)
6541 : pack_tmp = ISHFT(pack_tmp, 0)
6542 747298 : pack_tmp = ISHFT(pack_tmp, 0)
6543 747298 : ipack = ipack + 1
6544 747663 : packed_data(ipack) = pack_tmp
6545 : END DO
6546 50461 : 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 50461 : END SUBROUTINE ints2bits_10
6550 :
6551 : ! **************************************************************************************************
6552 : !> \brief ...
6553 : !> \param Ndata ...
6554 : !> \param packed_data ...
6555 : !> \param full_data ...
6556 : ! **************************************************************************************************
6557 303538 : 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 303538 : ipack = 0
6568 303538 : idata = 0
6569 303538 : pack_tmp = 0
6570 303538 : Ndata_rep = (Ndata/64)*64
6571 303538 : DO kdata = 1, Ndata_rep, 64
6572 4393822 : idata = idata + 1
6573 4393822 : data_tmp = ISHFT(pack_tmp, 10)
6574 4393822 : ipack = ipack + 1
6575 4393822 : pack_tmp = packed_data(ipack)
6576 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
6577 4393822 : pack_tmp = ISHFT(pack_tmp, -10)
6578 4393822 : idata = idata + 1
6579 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6580 4393822 : full_data(idata) = data_tmp
6581 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6582 4393822 : idata = idata + 1
6583 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6584 4393822 : full_data(idata) = data_tmp
6585 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6586 4393822 : idata = idata + 1
6587 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6588 4393822 : full_data(idata) = data_tmp
6589 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6590 4393822 : idata = idata + 1
6591 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6592 4393822 : full_data(idata) = data_tmp
6593 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6594 4393822 : idata = idata + 1
6595 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6596 4393822 : full_data(idata) = data_tmp
6597 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6598 4393822 : idata = idata + 1
6599 4393822 : data_tmp = ISHFT(pack_tmp, 6)
6600 4393822 : ipack = ipack + 1
6601 4393822 : pack_tmp = packed_data(ipack)
6602 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
6603 4393822 : pack_tmp = ISHFT(pack_tmp, -6)
6604 4393822 : idata = idata + 1
6605 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6606 4393822 : full_data(idata) = data_tmp
6607 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6608 4393822 : idata = idata + 1
6609 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6610 4393822 : full_data(idata) = data_tmp
6611 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6612 4393822 : idata = idata + 1
6613 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6614 4393822 : full_data(idata) = data_tmp
6615 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6616 4393822 : idata = idata + 1
6617 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6618 4393822 : full_data(idata) = data_tmp
6619 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6620 4393822 : idata = idata + 1
6621 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6622 4393822 : full_data(idata) = data_tmp
6623 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6624 4393822 : idata = idata + 1
6625 4393822 : data_tmp = ISHFT(pack_tmp, 2)
6626 4393822 : ipack = ipack + 1
6627 4393822 : pack_tmp = packed_data(ipack)
6628 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6629 4393822 : pack_tmp = ISHFT(pack_tmp, -2)
6630 4393822 : idata = idata + 1
6631 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6632 4393822 : full_data(idata) = data_tmp
6633 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6634 4393822 : idata = idata + 1
6635 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6636 4393822 : full_data(idata) = data_tmp
6637 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6638 4393822 : idata = idata + 1
6639 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6640 4393822 : full_data(idata) = data_tmp
6641 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6642 4393822 : idata = idata + 1
6643 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6644 4393822 : full_data(idata) = data_tmp
6645 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6646 4393822 : idata = idata + 1
6647 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6648 4393822 : full_data(idata) = data_tmp
6649 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6650 4393822 : idata = idata + 1
6651 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6652 4393822 : full_data(idata) = data_tmp
6653 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6654 4393822 : idata = idata + 1
6655 4393822 : data_tmp = ISHFT(pack_tmp, 8)
6656 4393822 : ipack = ipack + 1
6657 4393822 : pack_tmp = packed_data(ipack)
6658 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
6659 4393822 : pack_tmp = ISHFT(pack_tmp, -8)
6660 4393822 : idata = idata + 1
6661 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6662 4393822 : full_data(idata) = data_tmp
6663 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6664 4393822 : idata = idata + 1
6665 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6666 4393822 : full_data(idata) = data_tmp
6667 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6668 4393822 : idata = idata + 1
6669 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6670 4393822 : full_data(idata) = data_tmp
6671 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6672 4393822 : idata = idata + 1
6673 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6674 4393822 : full_data(idata) = data_tmp
6675 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6676 4393822 : idata = idata + 1
6677 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6678 4393822 : full_data(idata) = data_tmp
6679 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6680 4393822 : idata = idata + 1
6681 4393822 : data_tmp = ISHFT(pack_tmp, 4)
6682 4393822 : ipack = ipack + 1
6683 4393822 : pack_tmp = packed_data(ipack)
6684 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6685 4393822 : pack_tmp = ISHFT(pack_tmp, -4)
6686 4393822 : idata = idata + 1
6687 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6688 4393822 : full_data(idata) = data_tmp
6689 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6690 4393822 : idata = idata + 1
6691 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6692 4393822 : full_data(idata) = data_tmp
6693 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6694 4393822 : idata = idata + 1
6695 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6696 4393822 : full_data(idata) = data_tmp
6697 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6698 4393822 : idata = idata + 1
6699 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6700 4393822 : full_data(idata) = data_tmp
6701 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6702 4393822 : idata = idata + 1
6703 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6704 4393822 : full_data(idata) = data_tmp
6705 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6706 4393822 : idata = idata + 1
6707 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6708 4393822 : full_data(idata) = data_tmp
6709 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6710 4393822 : idata = idata + 1
6711 4393822 : data_tmp = ISHFT(pack_tmp, 10)
6712 4393822 : ipack = ipack + 1
6713 4393822 : pack_tmp = packed_data(ipack)
6714 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
6715 4393822 : pack_tmp = ISHFT(pack_tmp, -10)
6716 4393822 : idata = idata + 1
6717 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6718 4393822 : full_data(idata) = data_tmp
6719 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6720 4393822 : idata = idata + 1
6721 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6722 4393822 : full_data(idata) = data_tmp
6723 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6724 4393822 : idata = idata + 1
6725 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6726 4393822 : full_data(idata) = data_tmp
6727 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6728 4393822 : idata = idata + 1
6729 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6730 4393822 : full_data(idata) = data_tmp
6731 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6732 4393822 : idata = idata + 1
6733 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6734 4393822 : full_data(idata) = data_tmp
6735 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6736 4393822 : idata = idata + 1
6737 4393822 : data_tmp = ISHFT(pack_tmp, 6)
6738 4393822 : ipack = ipack + 1
6739 4393822 : pack_tmp = packed_data(ipack)
6740 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
6741 4393822 : pack_tmp = ISHFT(pack_tmp, -6)
6742 4393822 : idata = idata + 1
6743 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6744 4393822 : full_data(idata) = data_tmp
6745 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6746 4393822 : idata = idata + 1
6747 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6748 4393822 : full_data(idata) = data_tmp
6749 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6750 4393822 : idata = idata + 1
6751 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6752 4393822 : full_data(idata) = data_tmp
6753 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6754 4393822 : idata = idata + 1
6755 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6756 4393822 : full_data(idata) = data_tmp
6757 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6758 4393822 : idata = idata + 1
6759 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6760 4393822 : full_data(idata) = data_tmp
6761 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6762 4393822 : idata = idata + 1
6763 4393822 : data_tmp = ISHFT(pack_tmp, 2)
6764 4393822 : ipack = ipack + 1
6765 4393822 : pack_tmp = packed_data(ipack)
6766 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6767 4393822 : pack_tmp = ISHFT(pack_tmp, -2)
6768 4393822 : idata = idata + 1
6769 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6770 4393822 : full_data(idata) = data_tmp
6771 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6772 4393822 : idata = idata + 1
6773 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6774 4393822 : full_data(idata) = data_tmp
6775 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6776 4393822 : idata = idata + 1
6777 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6778 4393822 : full_data(idata) = data_tmp
6779 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6780 4393822 : idata = idata + 1
6781 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6782 4393822 : full_data(idata) = data_tmp
6783 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6784 4393822 : idata = idata + 1
6785 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6786 4393822 : full_data(idata) = data_tmp
6787 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6788 4393822 : idata = idata + 1
6789 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6790 4393822 : full_data(idata) = data_tmp
6791 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6792 4393822 : idata = idata + 1
6793 4393822 : data_tmp = ISHFT(pack_tmp, 8)
6794 4393822 : ipack = ipack + 1
6795 4393822 : pack_tmp = packed_data(ipack)
6796 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
6797 4393822 : pack_tmp = ISHFT(pack_tmp, -8)
6798 4393822 : idata = idata + 1
6799 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6800 4393822 : full_data(idata) = data_tmp
6801 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6802 4393822 : idata = idata + 1
6803 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6804 4393822 : full_data(idata) = data_tmp
6805 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6806 4393822 : idata = idata + 1
6807 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6808 4393822 : full_data(idata) = data_tmp
6809 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6810 4393822 : idata = idata + 1
6811 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6812 4393822 : full_data(idata) = data_tmp
6813 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6814 4393822 : idata = idata + 1
6815 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6816 4393822 : full_data(idata) = data_tmp
6817 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6818 4393822 : idata = idata + 1
6819 4393822 : data_tmp = ISHFT(pack_tmp, 4)
6820 4393822 : ipack = ipack + 1
6821 4393822 : pack_tmp = packed_data(ipack)
6822 4393822 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6823 4393822 : pack_tmp = ISHFT(pack_tmp, -4)
6824 4393822 : idata = idata + 1
6825 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6826 4393822 : full_data(idata) = data_tmp
6827 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6828 4393822 : idata = idata + 1
6829 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6830 4393822 : full_data(idata) = data_tmp
6831 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6832 4393822 : idata = idata + 1
6833 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6834 4393822 : full_data(idata) = data_tmp
6835 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6836 4393822 : idata = idata + 1
6837 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6838 4393822 : full_data(idata) = data_tmp
6839 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6840 4393822 : idata = idata + 1
6841 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6842 4393822 : full_data(idata) = data_tmp
6843 4393822 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6844 4393822 : idata = idata + 1
6845 4393822 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6846 4393822 : full_data(idata) = data_tmp
6847 4396568 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6848 : END DO
6849 303538 : 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 303538 : END SUBROUTINE bits2ints_10
6853 :
6854 : ! **************************************************************************************************
6855 : !> \brief ...
6856 : !> \param Ndata ...
6857 : !> \param packed_data ...
6858 : !> \param full_data ...
6859 : ! **************************************************************************************************
6860 26434 : 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 26434 : idata = 0
6871 26434 : ipack = 0
6872 26434 : Ndata_rep = (Ndata/64)*64
6873 26434 : DO kdata = 1, Ndata_rep, 64
6874 416297 : pack_tmp = 0
6875 416297 : idata = idata + 1
6876 416297 : data_tmp = full_data(idata)
6877 416297 : data_tmp = ISHFT(data_tmp, 53)
6878 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6879 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6880 416297 : idata = idata + 1
6881 416297 : data_tmp = full_data(idata)
6882 416297 : data_tmp = ISHFT(data_tmp, 53)
6883 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6884 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6885 416297 : idata = idata + 1
6886 416297 : data_tmp = full_data(idata)
6887 416297 : data_tmp = ISHFT(data_tmp, 53)
6888 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6889 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6890 416297 : idata = idata + 1
6891 416297 : data_tmp = full_data(idata)
6892 416297 : data_tmp = ISHFT(data_tmp, 53)
6893 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6894 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6895 416297 : idata = idata + 1
6896 416297 : data_tmp = full_data(idata)
6897 416297 : data_tmp = ISHFT(data_tmp, 53)
6898 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6899 416297 : pack_tmp = ISHFT(pack_tmp, -9)
6900 416297 : idata = idata + 1
6901 416297 : data_tmp = full_data(idata)
6902 416297 : data_tmp = ISHFT(data_tmp, 53)
6903 416297 : data_tmp = IAND(data_tmp, mask_left(9))
6904 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6905 416297 : ipack = ipack + 1
6906 416297 : packed_data(ipack) = pack_tmp
6907 416297 : data_tmp = full_data(idata)
6908 416297 : pack_tmp = ISHFT(data_tmp, 62)
6909 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6910 416297 : idata = idata + 1
6911 416297 : data_tmp = full_data(idata)
6912 416297 : data_tmp = ISHFT(data_tmp, 53)
6913 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6914 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6915 416297 : idata = idata + 1
6916 416297 : data_tmp = full_data(idata)
6917 416297 : data_tmp = ISHFT(data_tmp, 53)
6918 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6919 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6920 416297 : idata = idata + 1
6921 416297 : data_tmp = full_data(idata)
6922 416297 : data_tmp = ISHFT(data_tmp, 53)
6923 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6924 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6925 416297 : idata = idata + 1
6926 416297 : data_tmp = full_data(idata)
6927 416297 : data_tmp = ISHFT(data_tmp, 53)
6928 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6929 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6930 416297 : idata = idata + 1
6931 416297 : data_tmp = full_data(idata)
6932 416297 : data_tmp = ISHFT(data_tmp, 53)
6933 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6934 416297 : pack_tmp = ISHFT(pack_tmp, -7)
6935 416297 : idata = idata + 1
6936 416297 : data_tmp = full_data(idata)
6937 416297 : data_tmp = ISHFT(data_tmp, 53)
6938 416297 : data_tmp = IAND(data_tmp, mask_left(7))
6939 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6940 416297 : ipack = ipack + 1
6941 416297 : packed_data(ipack) = pack_tmp
6942 416297 : data_tmp = full_data(idata)
6943 416297 : pack_tmp = ISHFT(data_tmp, 60)
6944 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6945 416297 : idata = idata + 1
6946 416297 : data_tmp = full_data(idata)
6947 416297 : data_tmp = ISHFT(data_tmp, 53)
6948 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6949 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6950 416297 : idata = idata + 1
6951 416297 : data_tmp = full_data(idata)
6952 416297 : data_tmp = ISHFT(data_tmp, 53)
6953 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6954 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6955 416297 : idata = idata + 1
6956 416297 : data_tmp = full_data(idata)
6957 416297 : data_tmp = ISHFT(data_tmp, 53)
6958 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6959 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6960 416297 : idata = idata + 1
6961 416297 : data_tmp = full_data(idata)
6962 416297 : data_tmp = ISHFT(data_tmp, 53)
6963 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6964 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6965 416297 : idata = idata + 1
6966 416297 : data_tmp = full_data(idata)
6967 416297 : data_tmp = ISHFT(data_tmp, 53)
6968 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6969 416297 : pack_tmp = ISHFT(pack_tmp, -5)
6970 416297 : idata = idata + 1
6971 416297 : data_tmp = full_data(idata)
6972 416297 : data_tmp = ISHFT(data_tmp, 53)
6973 416297 : data_tmp = IAND(data_tmp, mask_left(5))
6974 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6975 416297 : ipack = ipack + 1
6976 416297 : packed_data(ipack) = pack_tmp
6977 416297 : data_tmp = full_data(idata)
6978 416297 : pack_tmp = ISHFT(data_tmp, 58)
6979 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6980 416297 : idata = idata + 1
6981 416297 : data_tmp = full_data(idata)
6982 416297 : data_tmp = ISHFT(data_tmp, 53)
6983 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6984 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6985 416297 : idata = idata + 1
6986 416297 : data_tmp = full_data(idata)
6987 416297 : data_tmp = ISHFT(data_tmp, 53)
6988 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6989 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6990 416297 : idata = idata + 1
6991 416297 : data_tmp = full_data(idata)
6992 416297 : data_tmp = ISHFT(data_tmp, 53)
6993 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6994 416297 : pack_tmp = ISHFT(pack_tmp, -11)
6995 416297 : idata = idata + 1
6996 416297 : data_tmp = full_data(idata)
6997 416297 : data_tmp = ISHFT(data_tmp, 53)
6998 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
6999 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7000 416297 : idata = idata + 1
7001 416297 : data_tmp = full_data(idata)
7002 416297 : data_tmp = ISHFT(data_tmp, 53)
7003 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7004 416297 : pack_tmp = ISHFT(pack_tmp, -3)
7005 416297 : idata = idata + 1
7006 416297 : data_tmp = full_data(idata)
7007 416297 : data_tmp = ISHFT(data_tmp, 53)
7008 416297 : data_tmp = IAND(data_tmp, mask_left(3))
7009 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7010 416297 : ipack = ipack + 1
7011 416297 : packed_data(ipack) = pack_tmp
7012 416297 : data_tmp = full_data(idata)
7013 416297 : pack_tmp = ISHFT(data_tmp, 56)
7014 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7015 416297 : idata = idata + 1
7016 416297 : data_tmp = full_data(idata)
7017 416297 : data_tmp = ISHFT(data_tmp, 53)
7018 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7019 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7020 416297 : idata = idata + 1
7021 416297 : data_tmp = full_data(idata)
7022 416297 : data_tmp = ISHFT(data_tmp, 53)
7023 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7024 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7025 416297 : idata = idata + 1
7026 416297 : data_tmp = full_data(idata)
7027 416297 : data_tmp = ISHFT(data_tmp, 53)
7028 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7029 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7030 416297 : idata = idata + 1
7031 416297 : data_tmp = full_data(idata)
7032 416297 : data_tmp = ISHFT(data_tmp, 53)
7033 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7034 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7035 416297 : idata = idata + 1
7036 416297 : data_tmp = full_data(idata)
7037 416297 : data_tmp = ISHFT(data_tmp, 53)
7038 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7039 416297 : pack_tmp = ISHFT(pack_tmp, -1)
7040 416297 : idata = idata + 1
7041 416297 : data_tmp = full_data(idata)
7042 416297 : data_tmp = ISHFT(data_tmp, 53)
7043 416297 : data_tmp = IAND(data_tmp, mask_left(1))
7044 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7045 416297 : ipack = ipack + 1
7046 416297 : packed_data(ipack) = pack_tmp
7047 416297 : data_tmp = full_data(idata)
7048 416297 : pack_tmp = ISHFT(data_tmp, 54)
7049 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7050 416297 : idata = idata + 1
7051 416297 : data_tmp = full_data(idata)
7052 416297 : data_tmp = ISHFT(data_tmp, 53)
7053 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7054 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7055 416297 : idata = idata + 1
7056 416297 : data_tmp = full_data(idata)
7057 416297 : data_tmp = ISHFT(data_tmp, 53)
7058 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7059 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7060 416297 : idata = idata + 1
7061 416297 : data_tmp = full_data(idata)
7062 416297 : data_tmp = ISHFT(data_tmp, 53)
7063 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7064 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7065 416297 : idata = idata + 1
7066 416297 : data_tmp = full_data(idata)
7067 416297 : data_tmp = ISHFT(data_tmp, 53)
7068 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7069 416297 : pack_tmp = ISHFT(pack_tmp, -10)
7070 416297 : idata = idata + 1
7071 416297 : data_tmp = full_data(idata)
7072 416297 : data_tmp = ISHFT(data_tmp, 53)
7073 416297 : data_tmp = IAND(data_tmp, mask_left(10))
7074 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7075 416297 : ipack = ipack + 1
7076 416297 : packed_data(ipack) = pack_tmp
7077 416297 : data_tmp = full_data(idata)
7078 416297 : pack_tmp = ISHFT(data_tmp, 63)
7079 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7080 416297 : idata = idata + 1
7081 416297 : data_tmp = full_data(idata)
7082 416297 : data_tmp = ISHFT(data_tmp, 53)
7083 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7084 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7085 416297 : idata = idata + 1
7086 416297 : data_tmp = full_data(idata)
7087 416297 : data_tmp = ISHFT(data_tmp, 53)
7088 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7089 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7090 416297 : idata = idata + 1
7091 416297 : data_tmp = full_data(idata)
7092 416297 : data_tmp = ISHFT(data_tmp, 53)
7093 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7094 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7095 416297 : idata = idata + 1
7096 416297 : data_tmp = full_data(idata)
7097 416297 : data_tmp = ISHFT(data_tmp, 53)
7098 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7099 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7100 416297 : idata = idata + 1
7101 416297 : data_tmp = full_data(idata)
7102 416297 : data_tmp = ISHFT(data_tmp, 53)
7103 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7104 416297 : pack_tmp = ISHFT(pack_tmp, -8)
7105 416297 : idata = idata + 1
7106 416297 : data_tmp = full_data(idata)
7107 416297 : data_tmp = ISHFT(data_tmp, 53)
7108 416297 : data_tmp = IAND(data_tmp, mask_left(8))
7109 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7110 416297 : ipack = ipack + 1
7111 416297 : packed_data(ipack) = pack_tmp
7112 416297 : data_tmp = full_data(idata)
7113 416297 : pack_tmp = ISHFT(data_tmp, 61)
7114 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7115 416297 : idata = idata + 1
7116 416297 : data_tmp = full_data(idata)
7117 416297 : data_tmp = ISHFT(data_tmp, 53)
7118 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7119 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7120 416297 : idata = idata + 1
7121 416297 : data_tmp = full_data(idata)
7122 416297 : data_tmp = ISHFT(data_tmp, 53)
7123 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7124 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7125 416297 : idata = idata + 1
7126 416297 : data_tmp = full_data(idata)
7127 416297 : data_tmp = ISHFT(data_tmp, 53)
7128 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7129 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7130 416297 : idata = idata + 1
7131 416297 : data_tmp = full_data(idata)
7132 416297 : data_tmp = ISHFT(data_tmp, 53)
7133 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7134 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7135 416297 : idata = idata + 1
7136 416297 : data_tmp = full_data(idata)
7137 416297 : data_tmp = ISHFT(data_tmp, 53)
7138 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7139 416297 : pack_tmp = ISHFT(pack_tmp, -6)
7140 416297 : idata = idata + 1
7141 416297 : data_tmp = full_data(idata)
7142 416297 : data_tmp = ISHFT(data_tmp, 53)
7143 416297 : data_tmp = IAND(data_tmp, mask_left(6))
7144 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7145 416297 : ipack = ipack + 1
7146 416297 : packed_data(ipack) = pack_tmp
7147 416297 : data_tmp = full_data(idata)
7148 416297 : pack_tmp = ISHFT(data_tmp, 59)
7149 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7150 416297 : idata = idata + 1
7151 416297 : data_tmp = full_data(idata)
7152 416297 : data_tmp = ISHFT(data_tmp, 53)
7153 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7154 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7155 416297 : idata = idata + 1
7156 416297 : data_tmp = full_data(idata)
7157 416297 : data_tmp = ISHFT(data_tmp, 53)
7158 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7159 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7160 416297 : idata = idata + 1
7161 416297 : data_tmp = full_data(idata)
7162 416297 : data_tmp = ISHFT(data_tmp, 53)
7163 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7164 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7165 416297 : idata = idata + 1
7166 416297 : data_tmp = full_data(idata)
7167 416297 : data_tmp = ISHFT(data_tmp, 53)
7168 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7169 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7170 416297 : idata = idata + 1
7171 416297 : data_tmp = full_data(idata)
7172 416297 : data_tmp = ISHFT(data_tmp, 53)
7173 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7174 416297 : pack_tmp = ISHFT(pack_tmp, -4)
7175 416297 : idata = idata + 1
7176 416297 : data_tmp = full_data(idata)
7177 416297 : data_tmp = ISHFT(data_tmp, 53)
7178 416297 : data_tmp = IAND(data_tmp, mask_left(4))
7179 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7180 416297 : ipack = ipack + 1
7181 416297 : packed_data(ipack) = pack_tmp
7182 416297 : data_tmp = full_data(idata)
7183 416297 : pack_tmp = ISHFT(data_tmp, 57)
7184 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7185 416297 : idata = idata + 1
7186 416297 : data_tmp = full_data(idata)
7187 416297 : data_tmp = ISHFT(data_tmp, 53)
7188 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7189 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7190 416297 : idata = idata + 1
7191 416297 : data_tmp = full_data(idata)
7192 416297 : data_tmp = ISHFT(data_tmp, 53)
7193 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7194 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7195 416297 : idata = idata + 1
7196 416297 : data_tmp = full_data(idata)
7197 416297 : data_tmp = ISHFT(data_tmp, 53)
7198 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7199 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7200 416297 : idata = idata + 1
7201 416297 : data_tmp = full_data(idata)
7202 416297 : data_tmp = ISHFT(data_tmp, 53)
7203 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7204 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7205 416297 : idata = idata + 1
7206 416297 : data_tmp = full_data(idata)
7207 416297 : data_tmp = ISHFT(data_tmp, 53)
7208 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7209 416297 : pack_tmp = ISHFT(pack_tmp, -2)
7210 416297 : idata = idata + 1
7211 416297 : data_tmp = full_data(idata)
7212 416297 : data_tmp = ISHFT(data_tmp, 53)
7213 416297 : data_tmp = IAND(data_tmp, mask_left(2))
7214 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7215 416297 : ipack = ipack + 1
7216 416297 : packed_data(ipack) = pack_tmp
7217 416297 : data_tmp = full_data(idata)
7218 416297 : pack_tmp = ISHFT(data_tmp, 55)
7219 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7220 416297 : idata = idata + 1
7221 416297 : data_tmp = full_data(idata)
7222 416297 : data_tmp = ISHFT(data_tmp, 53)
7223 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7224 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7225 416297 : idata = idata + 1
7226 416297 : data_tmp = full_data(idata)
7227 416297 : data_tmp = ISHFT(data_tmp, 53)
7228 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7229 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7230 416297 : idata = idata + 1
7231 416297 : data_tmp = full_data(idata)
7232 416297 : data_tmp = ISHFT(data_tmp, 53)
7233 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7234 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7235 416297 : idata = idata + 1
7236 416297 : data_tmp = full_data(idata)
7237 416297 : data_tmp = ISHFT(data_tmp, 53)
7238 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7239 416297 : pack_tmp = ISHFT(pack_tmp, -11)
7240 416297 : idata = idata + 1
7241 416297 : data_tmp = full_data(idata)
7242 416297 : data_tmp = ISHFT(data_tmp, 53)
7243 416297 : pack_tmp = IOR(pack_tmp, data_tmp)
7244 : pack_tmp = ISHFT(pack_tmp, 0)
7245 416297 : pack_tmp = ISHFT(pack_tmp, 0)
7246 416297 : ipack = ipack + 1
7247 416334 : packed_data(ipack) = pack_tmp
7248 : END DO
7249 26434 : 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 26434 : END SUBROUTINE ints2bits_11
7253 :
7254 : ! **************************************************************************************************
7255 : !> \brief ...
7256 : !> \param Ndata ...
7257 : !> \param packed_data ...
7258 : !> \param full_data ...
7259 : ! **************************************************************************************************
7260 117016 : 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 117016 : ipack = 0
7271 117016 : idata = 0
7272 117016 : pack_tmp = 0
7273 117016 : Ndata_rep = (Ndata/64)*64
7274 117016 : DO kdata = 1, Ndata_rep, 64
7275 1821936 : idata = idata + 1
7276 1821936 : data_tmp = ISHFT(pack_tmp, 11)
7277 1821936 : ipack = ipack + 1
7278 1821936 : pack_tmp = packed_data(ipack)
7279 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
7280 1821936 : pack_tmp = ISHFT(pack_tmp, -11)
7281 1821936 : idata = idata + 1
7282 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7283 1821936 : full_data(idata) = data_tmp
7284 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7285 1821936 : idata = idata + 1
7286 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7287 1821936 : full_data(idata) = data_tmp
7288 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7289 1821936 : idata = idata + 1
7290 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7291 1821936 : full_data(idata) = data_tmp
7292 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7293 1821936 : idata = idata + 1
7294 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7295 1821936 : full_data(idata) = data_tmp
7296 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7297 1821936 : idata = idata + 1
7298 1821936 : data_tmp = ISHFT(pack_tmp, 2)
7299 1821936 : ipack = ipack + 1
7300 1821936 : pack_tmp = packed_data(ipack)
7301 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
7302 1821936 : pack_tmp = ISHFT(pack_tmp, -2)
7303 1821936 : idata = idata + 1
7304 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7305 1821936 : full_data(idata) = data_tmp
7306 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7307 1821936 : idata = idata + 1
7308 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7309 1821936 : full_data(idata) = data_tmp
7310 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7311 1821936 : idata = idata + 1
7312 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7313 1821936 : full_data(idata) = data_tmp
7314 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7315 1821936 : idata = idata + 1
7316 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7317 1821936 : full_data(idata) = data_tmp
7318 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7319 1821936 : idata = idata + 1
7320 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7321 1821936 : full_data(idata) = data_tmp
7322 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7323 1821936 : idata = idata + 1
7324 1821936 : data_tmp = ISHFT(pack_tmp, 4)
7325 1821936 : ipack = ipack + 1
7326 1821936 : pack_tmp = packed_data(ipack)
7327 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
7328 1821936 : pack_tmp = ISHFT(pack_tmp, -4)
7329 1821936 : idata = idata + 1
7330 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7331 1821936 : full_data(idata) = data_tmp
7332 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7333 1821936 : idata = idata + 1
7334 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7335 1821936 : full_data(idata) = data_tmp
7336 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7337 1821936 : idata = idata + 1
7338 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7339 1821936 : full_data(idata) = data_tmp
7340 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7341 1821936 : idata = idata + 1
7342 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7343 1821936 : full_data(idata) = data_tmp
7344 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7345 1821936 : idata = idata + 1
7346 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7347 1821936 : full_data(idata) = data_tmp
7348 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7349 1821936 : idata = idata + 1
7350 1821936 : data_tmp = ISHFT(pack_tmp, 6)
7351 1821936 : ipack = ipack + 1
7352 1821936 : pack_tmp = packed_data(ipack)
7353 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
7354 1821936 : pack_tmp = ISHFT(pack_tmp, -6)
7355 1821936 : idata = idata + 1
7356 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7357 1821936 : full_data(idata) = data_tmp
7358 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7359 1821936 : idata = idata + 1
7360 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7361 1821936 : full_data(idata) = data_tmp
7362 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7363 1821936 : idata = idata + 1
7364 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7365 1821936 : full_data(idata) = data_tmp
7366 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7367 1821936 : idata = idata + 1
7368 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7369 1821936 : full_data(idata) = data_tmp
7370 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7371 1821936 : idata = idata + 1
7372 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7373 1821936 : full_data(idata) = data_tmp
7374 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7375 1821936 : idata = idata + 1
7376 1821936 : data_tmp = ISHFT(pack_tmp, 8)
7377 1821936 : ipack = ipack + 1
7378 1821936 : pack_tmp = packed_data(ipack)
7379 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
7380 1821936 : pack_tmp = ISHFT(pack_tmp, -8)
7381 1821936 : idata = idata + 1
7382 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7383 1821936 : full_data(idata) = data_tmp
7384 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7385 1821936 : idata = idata + 1
7386 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7387 1821936 : full_data(idata) = data_tmp
7388 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7389 1821936 : idata = idata + 1
7390 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7391 1821936 : full_data(idata) = data_tmp
7392 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7393 1821936 : idata = idata + 1
7394 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7395 1821936 : full_data(idata) = data_tmp
7396 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7397 1821936 : idata = idata + 1
7398 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7399 1821936 : full_data(idata) = data_tmp
7400 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7401 1821936 : idata = idata + 1
7402 1821936 : data_tmp = ISHFT(pack_tmp, 10)
7403 1821936 : ipack = ipack + 1
7404 1821936 : pack_tmp = packed_data(ipack)
7405 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
7406 1821936 : pack_tmp = ISHFT(pack_tmp, -10)
7407 1821936 : idata = idata + 1
7408 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7409 1821936 : full_data(idata) = data_tmp
7410 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7411 1821936 : idata = idata + 1
7412 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7413 1821936 : full_data(idata) = data_tmp
7414 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7415 1821936 : idata = idata + 1
7416 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7417 1821936 : full_data(idata) = data_tmp
7418 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7419 1821936 : idata = idata + 1
7420 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7421 1821936 : full_data(idata) = data_tmp
7422 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7423 1821936 : idata = idata + 1
7424 1821936 : data_tmp = ISHFT(pack_tmp, 1)
7425 1821936 : ipack = ipack + 1
7426 1821936 : pack_tmp = packed_data(ipack)
7427 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
7428 1821936 : pack_tmp = ISHFT(pack_tmp, -1)
7429 1821936 : idata = idata + 1
7430 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7431 1821936 : full_data(idata) = data_tmp
7432 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7433 1821936 : idata = idata + 1
7434 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7435 1821936 : full_data(idata) = data_tmp
7436 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7437 1821936 : idata = idata + 1
7438 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7439 1821936 : full_data(idata) = data_tmp
7440 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7441 1821936 : idata = idata + 1
7442 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7443 1821936 : full_data(idata) = data_tmp
7444 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7445 1821936 : idata = idata + 1
7446 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7447 1821936 : full_data(idata) = data_tmp
7448 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7449 1821936 : idata = idata + 1
7450 1821936 : data_tmp = ISHFT(pack_tmp, 3)
7451 1821936 : ipack = ipack + 1
7452 1821936 : pack_tmp = packed_data(ipack)
7453 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
7454 1821936 : pack_tmp = ISHFT(pack_tmp, -3)
7455 1821936 : idata = idata + 1
7456 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7457 1821936 : full_data(idata) = data_tmp
7458 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7459 1821936 : idata = idata + 1
7460 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7461 1821936 : full_data(idata) = data_tmp
7462 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7463 1821936 : idata = idata + 1
7464 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7465 1821936 : full_data(idata) = data_tmp
7466 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7467 1821936 : idata = idata + 1
7468 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7469 1821936 : full_data(idata) = data_tmp
7470 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7471 1821936 : idata = idata + 1
7472 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7473 1821936 : full_data(idata) = data_tmp
7474 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7475 1821936 : idata = idata + 1
7476 1821936 : data_tmp = ISHFT(pack_tmp, 5)
7477 1821936 : ipack = ipack + 1
7478 1821936 : pack_tmp = packed_data(ipack)
7479 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
7480 1821936 : pack_tmp = ISHFT(pack_tmp, -5)
7481 1821936 : idata = idata + 1
7482 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7483 1821936 : full_data(idata) = data_tmp
7484 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7485 1821936 : idata = idata + 1
7486 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7487 1821936 : full_data(idata) = data_tmp
7488 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7489 1821936 : idata = idata + 1
7490 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7491 1821936 : full_data(idata) = data_tmp
7492 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7493 1821936 : idata = idata + 1
7494 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7495 1821936 : full_data(idata) = data_tmp
7496 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7497 1821936 : idata = idata + 1
7498 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7499 1821936 : full_data(idata) = data_tmp
7500 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7501 1821936 : idata = idata + 1
7502 1821936 : data_tmp = ISHFT(pack_tmp, 7)
7503 1821936 : ipack = ipack + 1
7504 1821936 : pack_tmp = packed_data(ipack)
7505 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
7506 1821936 : pack_tmp = ISHFT(pack_tmp, -7)
7507 1821936 : idata = idata + 1
7508 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7509 1821936 : full_data(idata) = data_tmp
7510 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7511 1821936 : idata = idata + 1
7512 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7513 1821936 : full_data(idata) = data_tmp
7514 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7515 1821936 : idata = idata + 1
7516 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7517 1821936 : full_data(idata) = data_tmp
7518 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7519 1821936 : idata = idata + 1
7520 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7521 1821936 : full_data(idata) = data_tmp
7522 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7523 1821936 : idata = idata + 1
7524 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7525 1821936 : full_data(idata) = data_tmp
7526 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7527 1821936 : idata = idata + 1
7528 1821936 : data_tmp = ISHFT(pack_tmp, 9)
7529 1821936 : ipack = ipack + 1
7530 1821936 : pack_tmp = packed_data(ipack)
7531 1821936 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
7532 1821936 : pack_tmp = ISHFT(pack_tmp, -9)
7533 1821936 : idata = idata + 1
7534 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7535 1821936 : full_data(idata) = data_tmp
7536 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7537 1821936 : idata = idata + 1
7538 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7539 1821936 : full_data(idata) = data_tmp
7540 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7541 1821936 : idata = idata + 1
7542 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7543 1821936 : full_data(idata) = data_tmp
7544 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7545 1821936 : idata = idata + 1
7546 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7547 1821936 : full_data(idata) = data_tmp
7548 1821936 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7549 1821936 : idata = idata + 1
7550 1821936 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7551 1821936 : full_data(idata) = data_tmp
7552 1822217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7553 : END DO
7554 117016 : 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 117016 : END SUBROUTINE bits2ints_11
7558 :
7559 : ! **************************************************************************************************
7560 : !> \brief ...
7561 : !> \param Ndata ...
7562 : !> \param packed_data ...
7563 : !> \param full_data ...
7564 : ! **************************************************************************************************
7565 26677 : 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 26677 : idata = 0
7576 26677 : ipack = 0
7577 26677 : Ndata_rep = (Ndata/64)*64
7578 26677 : DO kdata = 1, Ndata_rep, 64
7579 418995 : pack_tmp = 0
7580 418995 : idata = idata + 1
7581 418995 : data_tmp = full_data(idata)
7582 418995 : data_tmp = ISHFT(data_tmp, 52)
7583 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7584 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7585 418995 : idata = idata + 1
7586 418995 : data_tmp = full_data(idata)
7587 418995 : data_tmp = ISHFT(data_tmp, 52)
7588 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7589 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7590 418995 : idata = idata + 1
7591 418995 : data_tmp = full_data(idata)
7592 418995 : data_tmp = ISHFT(data_tmp, 52)
7593 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7594 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7595 418995 : idata = idata + 1
7596 418995 : data_tmp = full_data(idata)
7597 418995 : data_tmp = ISHFT(data_tmp, 52)
7598 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7599 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7600 418995 : idata = idata + 1
7601 418995 : data_tmp = full_data(idata)
7602 418995 : data_tmp = ISHFT(data_tmp, 52)
7603 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7604 418995 : pack_tmp = ISHFT(pack_tmp, -4)
7605 418995 : idata = idata + 1
7606 418995 : data_tmp = full_data(idata)
7607 418995 : data_tmp = ISHFT(data_tmp, 52)
7608 418995 : data_tmp = IAND(data_tmp, mask_left(4))
7609 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7610 418995 : ipack = ipack + 1
7611 418995 : packed_data(ipack) = pack_tmp
7612 418995 : data_tmp = full_data(idata)
7613 418995 : pack_tmp = ISHFT(data_tmp, 56)
7614 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7615 418995 : idata = idata + 1
7616 418995 : data_tmp = full_data(idata)
7617 418995 : data_tmp = ISHFT(data_tmp, 52)
7618 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7619 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7620 418995 : idata = idata + 1
7621 418995 : data_tmp = full_data(idata)
7622 418995 : data_tmp = ISHFT(data_tmp, 52)
7623 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7624 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7625 418995 : idata = idata + 1
7626 418995 : data_tmp = full_data(idata)
7627 418995 : data_tmp = ISHFT(data_tmp, 52)
7628 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7629 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7630 418995 : idata = idata + 1
7631 418995 : data_tmp = full_data(idata)
7632 418995 : data_tmp = ISHFT(data_tmp, 52)
7633 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7634 418995 : pack_tmp = ISHFT(pack_tmp, -8)
7635 418995 : idata = idata + 1
7636 418995 : data_tmp = full_data(idata)
7637 418995 : data_tmp = ISHFT(data_tmp, 52)
7638 418995 : data_tmp = IAND(data_tmp, mask_left(8))
7639 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7640 418995 : ipack = ipack + 1
7641 418995 : packed_data(ipack) = pack_tmp
7642 418995 : data_tmp = full_data(idata)
7643 418995 : pack_tmp = ISHFT(data_tmp, 60)
7644 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7645 418995 : idata = idata + 1
7646 418995 : data_tmp = full_data(idata)
7647 418995 : data_tmp = ISHFT(data_tmp, 52)
7648 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7649 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7650 418995 : idata = idata + 1
7651 418995 : data_tmp = full_data(idata)
7652 418995 : data_tmp = ISHFT(data_tmp, 52)
7653 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7654 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7655 418995 : idata = idata + 1
7656 418995 : data_tmp = full_data(idata)
7657 418995 : data_tmp = ISHFT(data_tmp, 52)
7658 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7659 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7660 418995 : idata = idata + 1
7661 418995 : data_tmp = full_data(idata)
7662 418995 : data_tmp = ISHFT(data_tmp, 52)
7663 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7664 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7665 418995 : idata = idata + 1
7666 418995 : data_tmp = full_data(idata)
7667 418995 : data_tmp = ISHFT(data_tmp, 52)
7668 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7669 418995 : pack_tmp = ISHFT(pack_tmp, 0)
7670 418995 : idata = idata + 1
7671 418995 : data_tmp = full_data(idata)
7672 : data_tmp = ISHFT(data_tmp, 52)
7673 418995 : data_tmp = IAND(data_tmp, mask_left(0))
7674 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7675 418995 : ipack = ipack + 1
7676 418995 : packed_data(ipack) = pack_tmp
7677 418995 : data_tmp = full_data(idata)
7678 418995 : pack_tmp = ISHFT(data_tmp, 52)
7679 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7680 418995 : idata = idata + 1
7681 418995 : data_tmp = full_data(idata)
7682 418995 : data_tmp = ISHFT(data_tmp, 52)
7683 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7684 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7685 418995 : idata = idata + 1
7686 418995 : data_tmp = full_data(idata)
7687 418995 : data_tmp = ISHFT(data_tmp, 52)
7688 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7689 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7690 418995 : idata = idata + 1
7691 418995 : data_tmp = full_data(idata)
7692 418995 : data_tmp = ISHFT(data_tmp, 52)
7693 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7694 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7695 418995 : idata = idata + 1
7696 418995 : data_tmp = full_data(idata)
7697 418995 : data_tmp = ISHFT(data_tmp, 52)
7698 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7699 418995 : pack_tmp = ISHFT(pack_tmp, -4)
7700 418995 : idata = idata + 1
7701 418995 : data_tmp = full_data(idata)
7702 418995 : data_tmp = ISHFT(data_tmp, 52)
7703 418995 : data_tmp = IAND(data_tmp, mask_left(4))
7704 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7705 418995 : ipack = ipack + 1
7706 418995 : packed_data(ipack) = pack_tmp
7707 418995 : data_tmp = full_data(idata)
7708 418995 : pack_tmp = ISHFT(data_tmp, 56)
7709 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7710 418995 : idata = idata + 1
7711 418995 : data_tmp = full_data(idata)
7712 418995 : data_tmp = ISHFT(data_tmp, 52)
7713 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7714 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7715 418995 : idata = idata + 1
7716 418995 : data_tmp = full_data(idata)
7717 418995 : data_tmp = ISHFT(data_tmp, 52)
7718 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7719 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7720 418995 : idata = idata + 1
7721 418995 : data_tmp = full_data(idata)
7722 418995 : data_tmp = ISHFT(data_tmp, 52)
7723 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7724 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7725 418995 : idata = idata + 1
7726 418995 : data_tmp = full_data(idata)
7727 418995 : data_tmp = ISHFT(data_tmp, 52)
7728 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7729 418995 : pack_tmp = ISHFT(pack_tmp, -8)
7730 418995 : idata = idata + 1
7731 418995 : data_tmp = full_data(idata)
7732 418995 : data_tmp = ISHFT(data_tmp, 52)
7733 418995 : data_tmp = IAND(data_tmp, mask_left(8))
7734 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7735 418995 : ipack = ipack + 1
7736 418995 : packed_data(ipack) = pack_tmp
7737 418995 : data_tmp = full_data(idata)
7738 418995 : pack_tmp = ISHFT(data_tmp, 60)
7739 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7740 418995 : idata = idata + 1
7741 418995 : data_tmp = full_data(idata)
7742 418995 : data_tmp = ISHFT(data_tmp, 52)
7743 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7744 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7745 418995 : idata = idata + 1
7746 418995 : data_tmp = full_data(idata)
7747 418995 : data_tmp = ISHFT(data_tmp, 52)
7748 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7749 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7750 418995 : idata = idata + 1
7751 418995 : data_tmp = full_data(idata)
7752 418995 : data_tmp = ISHFT(data_tmp, 52)
7753 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7754 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7755 418995 : idata = idata + 1
7756 418995 : data_tmp = full_data(idata)
7757 418995 : data_tmp = ISHFT(data_tmp, 52)
7758 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7759 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7760 418995 : idata = idata + 1
7761 418995 : data_tmp = full_data(idata)
7762 418995 : data_tmp = ISHFT(data_tmp, 52)
7763 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7764 418995 : pack_tmp = ISHFT(pack_tmp, 0)
7765 418995 : idata = idata + 1
7766 418995 : data_tmp = full_data(idata)
7767 : data_tmp = ISHFT(data_tmp, 52)
7768 418995 : data_tmp = IAND(data_tmp, mask_left(0))
7769 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7770 418995 : ipack = ipack + 1
7771 418995 : packed_data(ipack) = pack_tmp
7772 418995 : data_tmp = full_data(idata)
7773 418995 : pack_tmp = ISHFT(data_tmp, 52)
7774 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7775 418995 : idata = idata + 1
7776 418995 : data_tmp = full_data(idata)
7777 418995 : data_tmp = ISHFT(data_tmp, 52)
7778 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7779 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7780 418995 : idata = idata + 1
7781 418995 : data_tmp = full_data(idata)
7782 418995 : data_tmp = ISHFT(data_tmp, 52)
7783 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7784 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7785 418995 : idata = idata + 1
7786 418995 : data_tmp = full_data(idata)
7787 418995 : data_tmp = ISHFT(data_tmp, 52)
7788 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7789 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7790 418995 : idata = idata + 1
7791 418995 : data_tmp = full_data(idata)
7792 418995 : data_tmp = ISHFT(data_tmp, 52)
7793 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7794 418995 : pack_tmp = ISHFT(pack_tmp, -4)
7795 418995 : idata = idata + 1
7796 418995 : data_tmp = full_data(idata)
7797 418995 : data_tmp = ISHFT(data_tmp, 52)
7798 418995 : data_tmp = IAND(data_tmp, mask_left(4))
7799 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7800 418995 : ipack = ipack + 1
7801 418995 : packed_data(ipack) = pack_tmp
7802 418995 : data_tmp = full_data(idata)
7803 418995 : pack_tmp = ISHFT(data_tmp, 56)
7804 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7805 418995 : idata = idata + 1
7806 418995 : data_tmp = full_data(idata)
7807 418995 : data_tmp = ISHFT(data_tmp, 52)
7808 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7809 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7810 418995 : idata = idata + 1
7811 418995 : data_tmp = full_data(idata)
7812 418995 : data_tmp = ISHFT(data_tmp, 52)
7813 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7814 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7815 418995 : idata = idata + 1
7816 418995 : data_tmp = full_data(idata)
7817 418995 : data_tmp = ISHFT(data_tmp, 52)
7818 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7819 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7820 418995 : idata = idata + 1
7821 418995 : data_tmp = full_data(idata)
7822 418995 : data_tmp = ISHFT(data_tmp, 52)
7823 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7824 418995 : pack_tmp = ISHFT(pack_tmp, -8)
7825 418995 : idata = idata + 1
7826 418995 : data_tmp = full_data(idata)
7827 418995 : data_tmp = ISHFT(data_tmp, 52)
7828 418995 : data_tmp = IAND(data_tmp, mask_left(8))
7829 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7830 418995 : ipack = ipack + 1
7831 418995 : packed_data(ipack) = pack_tmp
7832 418995 : data_tmp = full_data(idata)
7833 418995 : pack_tmp = ISHFT(data_tmp, 60)
7834 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7835 418995 : idata = idata + 1
7836 418995 : data_tmp = full_data(idata)
7837 418995 : data_tmp = ISHFT(data_tmp, 52)
7838 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7839 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7840 418995 : idata = idata + 1
7841 418995 : data_tmp = full_data(idata)
7842 418995 : data_tmp = ISHFT(data_tmp, 52)
7843 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7844 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7845 418995 : idata = idata + 1
7846 418995 : data_tmp = full_data(idata)
7847 418995 : data_tmp = ISHFT(data_tmp, 52)
7848 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7849 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7850 418995 : idata = idata + 1
7851 418995 : data_tmp = full_data(idata)
7852 418995 : data_tmp = ISHFT(data_tmp, 52)
7853 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7854 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7855 418995 : idata = idata + 1
7856 418995 : data_tmp = full_data(idata)
7857 418995 : data_tmp = ISHFT(data_tmp, 52)
7858 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7859 418995 : pack_tmp = ISHFT(pack_tmp, 0)
7860 418995 : idata = idata + 1
7861 418995 : data_tmp = full_data(idata)
7862 : data_tmp = ISHFT(data_tmp, 52)
7863 418995 : data_tmp = IAND(data_tmp, mask_left(0))
7864 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7865 418995 : ipack = ipack + 1
7866 418995 : packed_data(ipack) = pack_tmp
7867 418995 : data_tmp = full_data(idata)
7868 418995 : pack_tmp = ISHFT(data_tmp, 52)
7869 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7870 418995 : idata = idata + 1
7871 418995 : data_tmp = full_data(idata)
7872 418995 : data_tmp = ISHFT(data_tmp, 52)
7873 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7874 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7875 418995 : idata = idata + 1
7876 418995 : data_tmp = full_data(idata)
7877 418995 : data_tmp = ISHFT(data_tmp, 52)
7878 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7879 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7880 418995 : idata = idata + 1
7881 418995 : data_tmp = full_data(idata)
7882 418995 : data_tmp = ISHFT(data_tmp, 52)
7883 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7884 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7885 418995 : idata = idata + 1
7886 418995 : data_tmp = full_data(idata)
7887 418995 : data_tmp = ISHFT(data_tmp, 52)
7888 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7889 418995 : pack_tmp = ISHFT(pack_tmp, -4)
7890 418995 : idata = idata + 1
7891 418995 : data_tmp = full_data(idata)
7892 418995 : data_tmp = ISHFT(data_tmp, 52)
7893 418995 : data_tmp = IAND(data_tmp, mask_left(4))
7894 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7895 418995 : ipack = ipack + 1
7896 418995 : packed_data(ipack) = pack_tmp
7897 418995 : data_tmp = full_data(idata)
7898 418995 : pack_tmp = ISHFT(data_tmp, 56)
7899 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7900 418995 : idata = idata + 1
7901 418995 : data_tmp = full_data(idata)
7902 418995 : data_tmp = ISHFT(data_tmp, 52)
7903 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7904 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7905 418995 : idata = idata + 1
7906 418995 : data_tmp = full_data(idata)
7907 418995 : data_tmp = ISHFT(data_tmp, 52)
7908 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7909 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7910 418995 : idata = idata + 1
7911 418995 : data_tmp = full_data(idata)
7912 418995 : data_tmp = ISHFT(data_tmp, 52)
7913 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7914 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7915 418995 : idata = idata + 1
7916 418995 : data_tmp = full_data(idata)
7917 418995 : data_tmp = ISHFT(data_tmp, 52)
7918 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7919 418995 : pack_tmp = ISHFT(pack_tmp, -8)
7920 418995 : idata = idata + 1
7921 418995 : data_tmp = full_data(idata)
7922 418995 : data_tmp = ISHFT(data_tmp, 52)
7923 418995 : data_tmp = IAND(data_tmp, mask_left(8))
7924 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7925 418995 : ipack = ipack + 1
7926 418995 : packed_data(ipack) = pack_tmp
7927 418995 : data_tmp = full_data(idata)
7928 418995 : pack_tmp = ISHFT(data_tmp, 60)
7929 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7930 418995 : idata = idata + 1
7931 418995 : data_tmp = full_data(idata)
7932 418995 : data_tmp = ISHFT(data_tmp, 52)
7933 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7934 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7935 418995 : idata = idata + 1
7936 418995 : data_tmp = full_data(idata)
7937 418995 : data_tmp = ISHFT(data_tmp, 52)
7938 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7939 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7940 418995 : idata = idata + 1
7941 418995 : data_tmp = full_data(idata)
7942 418995 : data_tmp = ISHFT(data_tmp, 52)
7943 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7944 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7945 418995 : idata = idata + 1
7946 418995 : data_tmp = full_data(idata)
7947 418995 : data_tmp = ISHFT(data_tmp, 52)
7948 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7949 418995 : pack_tmp = ISHFT(pack_tmp, -12)
7950 418995 : idata = idata + 1
7951 418995 : data_tmp = full_data(idata)
7952 418995 : data_tmp = ISHFT(data_tmp, 52)
7953 418995 : pack_tmp = IOR(pack_tmp, data_tmp)
7954 : pack_tmp = ISHFT(pack_tmp, 0)
7955 418995 : pack_tmp = ISHFT(pack_tmp, 0)
7956 418995 : ipack = ipack + 1
7957 419060 : packed_data(ipack) = pack_tmp
7958 : END DO
7959 26677 : IF (Ndata_rep < Ndata) THEN
7960 922 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
7961 : END IF
7962 26677 : END SUBROUTINE ints2bits_12
7963 :
7964 : ! **************************************************************************************************
7965 : !> \brief ...
7966 : !> \param Ndata ...
7967 : !> \param packed_data ...
7968 : !> \param full_data ...
7969 : ! **************************************************************************************************
7970 118896 : 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 118896 : ipack = 0
7981 118896 : idata = 0
7982 118896 : pack_tmp = 0
7983 118896 : Ndata_rep = (Ndata/64)*64
7984 118896 : DO kdata = 1, Ndata_rep, 64
7985 1843210 : idata = idata + 1
7986 1843210 : data_tmp = ISHFT(pack_tmp, 12)
7987 1843210 : ipack = ipack + 1
7988 1843210 : pack_tmp = packed_data(ipack)
7989 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
7990 1843210 : pack_tmp = ISHFT(pack_tmp, -12)
7991 1843210 : idata = idata + 1
7992 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7993 1843210 : full_data(idata) = data_tmp
7994 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7995 1843210 : idata = idata + 1
7996 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7997 1843210 : full_data(idata) = data_tmp
7998 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7999 1843210 : idata = idata + 1
8000 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8001 1843210 : full_data(idata) = data_tmp
8002 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8003 1843210 : idata = idata + 1
8004 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8005 1843210 : full_data(idata) = data_tmp
8006 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8007 1843210 : idata = idata + 1
8008 1843210 : data_tmp = ISHFT(pack_tmp, 8)
8009 1843210 : ipack = ipack + 1
8010 1843210 : pack_tmp = packed_data(ipack)
8011 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8012 1843210 : pack_tmp = ISHFT(pack_tmp, -8)
8013 1843210 : idata = idata + 1
8014 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8015 1843210 : full_data(idata) = data_tmp
8016 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8017 1843210 : idata = idata + 1
8018 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8019 1843210 : full_data(idata) = data_tmp
8020 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8021 1843210 : idata = idata + 1
8022 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8023 1843210 : full_data(idata) = data_tmp
8024 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8025 1843210 : idata = idata + 1
8026 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8027 1843210 : full_data(idata) = data_tmp
8028 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8029 1843210 : idata = idata + 1
8030 1843210 : data_tmp = ISHFT(pack_tmp, 4)
8031 1843210 : ipack = ipack + 1
8032 1843210 : pack_tmp = packed_data(ipack)
8033 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8034 1843210 : pack_tmp = ISHFT(pack_tmp, -4)
8035 1843210 : idata = idata + 1
8036 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8037 1843210 : full_data(idata) = data_tmp
8038 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8039 1843210 : idata = idata + 1
8040 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8041 1843210 : full_data(idata) = data_tmp
8042 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8043 1843210 : idata = idata + 1
8044 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8045 1843210 : full_data(idata) = data_tmp
8046 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8047 1843210 : idata = idata + 1
8048 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8049 1843210 : full_data(idata) = data_tmp
8050 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8051 1843210 : idata = idata + 1
8052 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8053 1843210 : full_data(idata) = data_tmp
8054 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8055 1843210 : idata = idata + 1
8056 1843210 : data_tmp = ISHFT(pack_tmp, 12)
8057 1843210 : ipack = ipack + 1
8058 1843210 : pack_tmp = packed_data(ipack)
8059 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8060 1843210 : pack_tmp = ISHFT(pack_tmp, -12)
8061 1843210 : idata = idata + 1
8062 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8063 1843210 : full_data(idata) = data_tmp
8064 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8065 1843210 : idata = idata + 1
8066 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8067 1843210 : full_data(idata) = data_tmp
8068 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8069 1843210 : idata = idata + 1
8070 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8071 1843210 : full_data(idata) = data_tmp
8072 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8073 1843210 : idata = idata + 1
8074 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8075 1843210 : full_data(idata) = data_tmp
8076 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8077 1843210 : idata = idata + 1
8078 1843210 : data_tmp = ISHFT(pack_tmp, 8)
8079 1843210 : ipack = ipack + 1
8080 1843210 : pack_tmp = packed_data(ipack)
8081 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8082 1843210 : pack_tmp = ISHFT(pack_tmp, -8)
8083 1843210 : idata = idata + 1
8084 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8085 1843210 : full_data(idata) = data_tmp
8086 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8087 1843210 : idata = idata + 1
8088 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8089 1843210 : full_data(idata) = data_tmp
8090 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8091 1843210 : idata = idata + 1
8092 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8093 1843210 : full_data(idata) = data_tmp
8094 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8095 1843210 : idata = idata + 1
8096 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8097 1843210 : full_data(idata) = data_tmp
8098 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8099 1843210 : idata = idata + 1
8100 1843210 : data_tmp = ISHFT(pack_tmp, 4)
8101 1843210 : ipack = ipack + 1
8102 1843210 : pack_tmp = packed_data(ipack)
8103 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8104 1843210 : pack_tmp = ISHFT(pack_tmp, -4)
8105 1843210 : idata = idata + 1
8106 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8107 1843210 : full_data(idata) = data_tmp
8108 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8109 1843210 : idata = idata + 1
8110 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8111 1843210 : full_data(idata) = data_tmp
8112 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8113 1843210 : idata = idata + 1
8114 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8115 1843210 : full_data(idata) = data_tmp
8116 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8117 1843210 : idata = idata + 1
8118 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8119 1843210 : full_data(idata) = data_tmp
8120 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8121 1843210 : idata = idata + 1
8122 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8123 1843210 : full_data(idata) = data_tmp
8124 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8125 1843210 : idata = idata + 1
8126 1843210 : data_tmp = ISHFT(pack_tmp, 12)
8127 1843210 : ipack = ipack + 1
8128 1843210 : pack_tmp = packed_data(ipack)
8129 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8130 1843210 : pack_tmp = ISHFT(pack_tmp, -12)
8131 1843210 : idata = idata + 1
8132 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8133 1843210 : full_data(idata) = data_tmp
8134 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8135 1843210 : idata = idata + 1
8136 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8137 1843210 : full_data(idata) = data_tmp
8138 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8139 1843210 : idata = idata + 1
8140 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8141 1843210 : full_data(idata) = data_tmp
8142 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8143 1843210 : idata = idata + 1
8144 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8145 1843210 : full_data(idata) = data_tmp
8146 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8147 1843210 : idata = idata + 1
8148 1843210 : data_tmp = ISHFT(pack_tmp, 8)
8149 1843210 : ipack = ipack + 1
8150 1843210 : pack_tmp = packed_data(ipack)
8151 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8152 1843210 : pack_tmp = ISHFT(pack_tmp, -8)
8153 1843210 : idata = idata + 1
8154 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8155 1843210 : full_data(idata) = data_tmp
8156 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8157 1843210 : idata = idata + 1
8158 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8159 1843210 : full_data(idata) = data_tmp
8160 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8161 1843210 : idata = idata + 1
8162 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8163 1843210 : full_data(idata) = data_tmp
8164 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8165 1843210 : idata = idata + 1
8166 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8167 1843210 : full_data(idata) = data_tmp
8168 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8169 1843210 : idata = idata + 1
8170 1843210 : data_tmp = ISHFT(pack_tmp, 4)
8171 1843210 : ipack = ipack + 1
8172 1843210 : pack_tmp = packed_data(ipack)
8173 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8174 1843210 : pack_tmp = ISHFT(pack_tmp, -4)
8175 1843210 : idata = idata + 1
8176 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8177 1843210 : full_data(idata) = data_tmp
8178 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8179 1843210 : idata = idata + 1
8180 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8181 1843210 : full_data(idata) = data_tmp
8182 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8183 1843210 : idata = idata + 1
8184 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8185 1843210 : full_data(idata) = data_tmp
8186 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8187 1843210 : idata = idata + 1
8188 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8189 1843210 : full_data(idata) = data_tmp
8190 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8191 1843210 : idata = idata + 1
8192 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8193 1843210 : full_data(idata) = data_tmp
8194 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8195 1843210 : idata = idata + 1
8196 1843210 : data_tmp = ISHFT(pack_tmp, 12)
8197 1843210 : ipack = ipack + 1
8198 1843210 : pack_tmp = packed_data(ipack)
8199 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8200 1843210 : pack_tmp = ISHFT(pack_tmp, -12)
8201 1843210 : idata = idata + 1
8202 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8203 1843210 : full_data(idata) = data_tmp
8204 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8205 1843210 : idata = idata + 1
8206 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8207 1843210 : full_data(idata) = data_tmp
8208 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8209 1843210 : idata = idata + 1
8210 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8211 1843210 : full_data(idata) = data_tmp
8212 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8213 1843210 : idata = idata + 1
8214 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8215 1843210 : full_data(idata) = data_tmp
8216 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8217 1843210 : idata = idata + 1
8218 1843210 : data_tmp = ISHFT(pack_tmp, 8)
8219 1843210 : ipack = ipack + 1
8220 1843210 : pack_tmp = packed_data(ipack)
8221 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8222 1843210 : pack_tmp = ISHFT(pack_tmp, -8)
8223 1843210 : idata = idata + 1
8224 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8225 1843210 : full_data(idata) = data_tmp
8226 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8227 1843210 : idata = idata + 1
8228 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8229 1843210 : full_data(idata) = data_tmp
8230 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8231 1843210 : idata = idata + 1
8232 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8233 1843210 : full_data(idata) = data_tmp
8234 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8235 1843210 : idata = idata + 1
8236 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8237 1843210 : full_data(idata) = data_tmp
8238 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8239 1843210 : idata = idata + 1
8240 1843210 : data_tmp = ISHFT(pack_tmp, 4)
8241 1843210 : ipack = ipack + 1
8242 1843210 : pack_tmp = packed_data(ipack)
8243 1843210 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8244 1843210 : pack_tmp = ISHFT(pack_tmp, -4)
8245 1843210 : idata = idata + 1
8246 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8247 1843210 : full_data(idata) = data_tmp
8248 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8249 1843210 : idata = idata + 1
8250 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8251 1843210 : full_data(idata) = data_tmp
8252 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8253 1843210 : idata = idata + 1
8254 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8255 1843210 : full_data(idata) = data_tmp
8256 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8257 1843210 : idata = idata + 1
8258 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8259 1843210 : full_data(idata) = data_tmp
8260 1843210 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8261 1843210 : idata = idata + 1
8262 1843210 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8263 1843210 : full_data(idata) = data_tmp
8264 1843697 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8265 : END DO
8266 118896 : IF (Ndata_rep < Ndata) THEN
8267 6956 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8268 : END IF
8269 118896 : END SUBROUTINE bits2ints_12
8270 :
8271 : ! **************************************************************************************************
8272 : !> \brief ...
8273 : !> \param Ndata ...
8274 : !> \param packed_data ...
8275 : !> \param full_data ...
8276 : ! **************************************************************************************************
8277 28079 : 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 28079 : idata = 0
8288 28079 : ipack = 0
8289 28079 : Ndata_rep = (Ndata/64)*64
8290 28079 : DO kdata = 1, Ndata_rep, 64
8291 436991 : pack_tmp = 0
8292 436991 : idata = idata + 1
8293 436991 : data_tmp = full_data(idata)
8294 436991 : data_tmp = ISHFT(data_tmp, 51)
8295 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8296 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8297 436991 : idata = idata + 1
8298 436991 : data_tmp = full_data(idata)
8299 436991 : data_tmp = ISHFT(data_tmp, 51)
8300 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8301 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8302 436991 : idata = idata + 1
8303 436991 : data_tmp = full_data(idata)
8304 436991 : data_tmp = ISHFT(data_tmp, 51)
8305 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8306 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8307 436991 : idata = idata + 1
8308 436991 : data_tmp = full_data(idata)
8309 436991 : data_tmp = ISHFT(data_tmp, 51)
8310 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8311 436991 : pack_tmp = ISHFT(pack_tmp, -12)
8312 436991 : idata = idata + 1
8313 436991 : data_tmp = full_data(idata)
8314 436991 : data_tmp = ISHFT(data_tmp, 51)
8315 436991 : data_tmp = IAND(data_tmp, mask_left(12))
8316 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8317 436991 : ipack = ipack + 1
8318 436991 : packed_data(ipack) = pack_tmp
8319 436991 : data_tmp = full_data(idata)
8320 436991 : pack_tmp = ISHFT(data_tmp, 63)
8321 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8322 436991 : idata = idata + 1
8323 436991 : data_tmp = full_data(idata)
8324 436991 : data_tmp = ISHFT(data_tmp, 51)
8325 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8326 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8327 436991 : idata = idata + 1
8328 436991 : data_tmp = full_data(idata)
8329 436991 : data_tmp = ISHFT(data_tmp, 51)
8330 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8331 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8332 436991 : idata = idata + 1
8333 436991 : data_tmp = full_data(idata)
8334 436991 : data_tmp = ISHFT(data_tmp, 51)
8335 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8336 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8337 436991 : idata = idata + 1
8338 436991 : data_tmp = full_data(idata)
8339 436991 : data_tmp = ISHFT(data_tmp, 51)
8340 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8341 436991 : pack_tmp = ISHFT(pack_tmp, -11)
8342 436991 : idata = idata + 1
8343 436991 : data_tmp = full_data(idata)
8344 436991 : data_tmp = ISHFT(data_tmp, 51)
8345 436991 : data_tmp = IAND(data_tmp, mask_left(11))
8346 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8347 436991 : ipack = ipack + 1
8348 436991 : packed_data(ipack) = pack_tmp
8349 436991 : data_tmp = full_data(idata)
8350 436991 : pack_tmp = ISHFT(data_tmp, 62)
8351 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8352 436991 : idata = idata + 1
8353 436991 : data_tmp = full_data(idata)
8354 436991 : data_tmp = ISHFT(data_tmp, 51)
8355 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8356 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8357 436991 : idata = idata + 1
8358 436991 : data_tmp = full_data(idata)
8359 436991 : data_tmp = ISHFT(data_tmp, 51)
8360 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8361 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8362 436991 : idata = idata + 1
8363 436991 : data_tmp = full_data(idata)
8364 436991 : data_tmp = ISHFT(data_tmp, 51)
8365 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8366 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8367 436991 : idata = idata + 1
8368 436991 : data_tmp = full_data(idata)
8369 436991 : data_tmp = ISHFT(data_tmp, 51)
8370 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8371 436991 : pack_tmp = ISHFT(pack_tmp, -10)
8372 436991 : idata = idata + 1
8373 436991 : data_tmp = full_data(idata)
8374 436991 : data_tmp = ISHFT(data_tmp, 51)
8375 436991 : data_tmp = IAND(data_tmp, mask_left(10))
8376 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8377 436991 : ipack = ipack + 1
8378 436991 : packed_data(ipack) = pack_tmp
8379 436991 : data_tmp = full_data(idata)
8380 436991 : pack_tmp = ISHFT(data_tmp, 61)
8381 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8382 436991 : idata = idata + 1
8383 436991 : data_tmp = full_data(idata)
8384 436991 : data_tmp = ISHFT(data_tmp, 51)
8385 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8386 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8387 436991 : idata = idata + 1
8388 436991 : data_tmp = full_data(idata)
8389 436991 : data_tmp = ISHFT(data_tmp, 51)
8390 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8391 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8392 436991 : idata = idata + 1
8393 436991 : data_tmp = full_data(idata)
8394 436991 : data_tmp = ISHFT(data_tmp, 51)
8395 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8396 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8397 436991 : idata = idata + 1
8398 436991 : data_tmp = full_data(idata)
8399 436991 : data_tmp = ISHFT(data_tmp, 51)
8400 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8401 436991 : pack_tmp = ISHFT(pack_tmp, -9)
8402 436991 : idata = idata + 1
8403 436991 : data_tmp = full_data(idata)
8404 436991 : data_tmp = ISHFT(data_tmp, 51)
8405 436991 : data_tmp = IAND(data_tmp, mask_left(9))
8406 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8407 436991 : ipack = ipack + 1
8408 436991 : packed_data(ipack) = pack_tmp
8409 436991 : data_tmp = full_data(idata)
8410 436991 : pack_tmp = ISHFT(data_tmp, 60)
8411 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8412 436991 : idata = idata + 1
8413 436991 : data_tmp = full_data(idata)
8414 436991 : data_tmp = ISHFT(data_tmp, 51)
8415 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8416 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8417 436991 : idata = idata + 1
8418 436991 : data_tmp = full_data(idata)
8419 436991 : data_tmp = ISHFT(data_tmp, 51)
8420 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8421 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8422 436991 : idata = idata + 1
8423 436991 : data_tmp = full_data(idata)
8424 436991 : data_tmp = ISHFT(data_tmp, 51)
8425 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8426 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8427 436991 : idata = idata + 1
8428 436991 : data_tmp = full_data(idata)
8429 436991 : data_tmp = ISHFT(data_tmp, 51)
8430 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8431 436991 : pack_tmp = ISHFT(pack_tmp, -8)
8432 436991 : idata = idata + 1
8433 436991 : data_tmp = full_data(idata)
8434 436991 : data_tmp = ISHFT(data_tmp, 51)
8435 436991 : data_tmp = IAND(data_tmp, mask_left(8))
8436 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8437 436991 : ipack = ipack + 1
8438 436991 : packed_data(ipack) = pack_tmp
8439 436991 : data_tmp = full_data(idata)
8440 436991 : pack_tmp = ISHFT(data_tmp, 59)
8441 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8442 436991 : idata = idata + 1
8443 436991 : data_tmp = full_data(idata)
8444 436991 : data_tmp = ISHFT(data_tmp, 51)
8445 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8446 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8447 436991 : idata = idata + 1
8448 436991 : data_tmp = full_data(idata)
8449 436991 : data_tmp = ISHFT(data_tmp, 51)
8450 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8451 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8452 436991 : idata = idata + 1
8453 436991 : data_tmp = full_data(idata)
8454 436991 : data_tmp = ISHFT(data_tmp, 51)
8455 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8456 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8457 436991 : idata = idata + 1
8458 436991 : data_tmp = full_data(idata)
8459 436991 : data_tmp = ISHFT(data_tmp, 51)
8460 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8461 436991 : pack_tmp = ISHFT(pack_tmp, -7)
8462 436991 : idata = idata + 1
8463 436991 : data_tmp = full_data(idata)
8464 436991 : data_tmp = ISHFT(data_tmp, 51)
8465 436991 : data_tmp = IAND(data_tmp, mask_left(7))
8466 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8467 436991 : ipack = ipack + 1
8468 436991 : packed_data(ipack) = pack_tmp
8469 436991 : data_tmp = full_data(idata)
8470 436991 : pack_tmp = ISHFT(data_tmp, 58)
8471 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8472 436991 : idata = idata + 1
8473 436991 : data_tmp = full_data(idata)
8474 436991 : data_tmp = ISHFT(data_tmp, 51)
8475 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8476 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8477 436991 : idata = idata + 1
8478 436991 : data_tmp = full_data(idata)
8479 436991 : data_tmp = ISHFT(data_tmp, 51)
8480 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8481 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8482 436991 : idata = idata + 1
8483 436991 : data_tmp = full_data(idata)
8484 436991 : data_tmp = ISHFT(data_tmp, 51)
8485 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8486 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8487 436991 : idata = idata + 1
8488 436991 : data_tmp = full_data(idata)
8489 436991 : data_tmp = ISHFT(data_tmp, 51)
8490 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8491 436991 : pack_tmp = ISHFT(pack_tmp, -6)
8492 436991 : idata = idata + 1
8493 436991 : data_tmp = full_data(idata)
8494 436991 : data_tmp = ISHFT(data_tmp, 51)
8495 436991 : data_tmp = IAND(data_tmp, mask_left(6))
8496 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8497 436991 : ipack = ipack + 1
8498 436991 : packed_data(ipack) = pack_tmp
8499 436991 : data_tmp = full_data(idata)
8500 436991 : pack_tmp = ISHFT(data_tmp, 57)
8501 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8502 436991 : idata = idata + 1
8503 436991 : data_tmp = full_data(idata)
8504 436991 : data_tmp = ISHFT(data_tmp, 51)
8505 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8506 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8507 436991 : idata = idata + 1
8508 436991 : data_tmp = full_data(idata)
8509 436991 : data_tmp = ISHFT(data_tmp, 51)
8510 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8511 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8512 436991 : idata = idata + 1
8513 436991 : data_tmp = full_data(idata)
8514 436991 : data_tmp = ISHFT(data_tmp, 51)
8515 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8516 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8517 436991 : idata = idata + 1
8518 436991 : data_tmp = full_data(idata)
8519 436991 : data_tmp = ISHFT(data_tmp, 51)
8520 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8521 436991 : pack_tmp = ISHFT(pack_tmp, -5)
8522 436991 : idata = idata + 1
8523 436991 : data_tmp = full_data(idata)
8524 436991 : data_tmp = ISHFT(data_tmp, 51)
8525 436991 : data_tmp = IAND(data_tmp, mask_left(5))
8526 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8527 436991 : ipack = ipack + 1
8528 436991 : packed_data(ipack) = pack_tmp
8529 436991 : data_tmp = full_data(idata)
8530 436991 : pack_tmp = ISHFT(data_tmp, 56)
8531 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8532 436991 : idata = idata + 1
8533 436991 : data_tmp = full_data(idata)
8534 436991 : data_tmp = ISHFT(data_tmp, 51)
8535 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8536 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8537 436991 : idata = idata + 1
8538 436991 : data_tmp = full_data(idata)
8539 436991 : data_tmp = ISHFT(data_tmp, 51)
8540 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8541 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8542 436991 : idata = idata + 1
8543 436991 : data_tmp = full_data(idata)
8544 436991 : data_tmp = ISHFT(data_tmp, 51)
8545 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8546 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8547 436991 : idata = idata + 1
8548 436991 : data_tmp = full_data(idata)
8549 436991 : data_tmp = ISHFT(data_tmp, 51)
8550 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8551 436991 : pack_tmp = ISHFT(pack_tmp, -4)
8552 436991 : idata = idata + 1
8553 436991 : data_tmp = full_data(idata)
8554 436991 : data_tmp = ISHFT(data_tmp, 51)
8555 436991 : data_tmp = IAND(data_tmp, mask_left(4))
8556 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8557 436991 : ipack = ipack + 1
8558 436991 : packed_data(ipack) = pack_tmp
8559 436991 : data_tmp = full_data(idata)
8560 436991 : pack_tmp = ISHFT(data_tmp, 55)
8561 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8562 436991 : idata = idata + 1
8563 436991 : data_tmp = full_data(idata)
8564 436991 : data_tmp = ISHFT(data_tmp, 51)
8565 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8566 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8567 436991 : idata = idata + 1
8568 436991 : data_tmp = full_data(idata)
8569 436991 : data_tmp = ISHFT(data_tmp, 51)
8570 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8571 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8572 436991 : idata = idata + 1
8573 436991 : data_tmp = full_data(idata)
8574 436991 : data_tmp = ISHFT(data_tmp, 51)
8575 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8576 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8577 436991 : idata = idata + 1
8578 436991 : data_tmp = full_data(idata)
8579 436991 : data_tmp = ISHFT(data_tmp, 51)
8580 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8581 436991 : pack_tmp = ISHFT(pack_tmp, -3)
8582 436991 : idata = idata + 1
8583 436991 : data_tmp = full_data(idata)
8584 436991 : data_tmp = ISHFT(data_tmp, 51)
8585 436991 : data_tmp = IAND(data_tmp, mask_left(3))
8586 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8587 436991 : ipack = ipack + 1
8588 436991 : packed_data(ipack) = pack_tmp
8589 436991 : data_tmp = full_data(idata)
8590 436991 : pack_tmp = ISHFT(data_tmp, 54)
8591 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8592 436991 : idata = idata + 1
8593 436991 : data_tmp = full_data(idata)
8594 436991 : data_tmp = ISHFT(data_tmp, 51)
8595 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8596 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8597 436991 : idata = idata + 1
8598 436991 : data_tmp = full_data(idata)
8599 436991 : data_tmp = ISHFT(data_tmp, 51)
8600 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8601 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8602 436991 : idata = idata + 1
8603 436991 : data_tmp = full_data(idata)
8604 436991 : data_tmp = ISHFT(data_tmp, 51)
8605 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8606 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8607 436991 : idata = idata + 1
8608 436991 : data_tmp = full_data(idata)
8609 436991 : data_tmp = ISHFT(data_tmp, 51)
8610 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8611 436991 : pack_tmp = ISHFT(pack_tmp, -2)
8612 436991 : idata = idata + 1
8613 436991 : data_tmp = full_data(idata)
8614 436991 : data_tmp = ISHFT(data_tmp, 51)
8615 436991 : data_tmp = IAND(data_tmp, mask_left(2))
8616 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8617 436991 : ipack = ipack + 1
8618 436991 : packed_data(ipack) = pack_tmp
8619 436991 : data_tmp = full_data(idata)
8620 436991 : pack_tmp = ISHFT(data_tmp, 53)
8621 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8622 436991 : idata = idata + 1
8623 436991 : data_tmp = full_data(idata)
8624 436991 : data_tmp = ISHFT(data_tmp, 51)
8625 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8626 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8627 436991 : idata = idata + 1
8628 436991 : data_tmp = full_data(idata)
8629 436991 : data_tmp = ISHFT(data_tmp, 51)
8630 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8631 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8632 436991 : idata = idata + 1
8633 436991 : data_tmp = full_data(idata)
8634 436991 : data_tmp = ISHFT(data_tmp, 51)
8635 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8636 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8637 436991 : idata = idata + 1
8638 436991 : data_tmp = full_data(idata)
8639 436991 : data_tmp = ISHFT(data_tmp, 51)
8640 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8641 436991 : pack_tmp = ISHFT(pack_tmp, -1)
8642 436991 : idata = idata + 1
8643 436991 : data_tmp = full_data(idata)
8644 436991 : data_tmp = ISHFT(data_tmp, 51)
8645 436991 : data_tmp = IAND(data_tmp, mask_left(1))
8646 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8647 436991 : ipack = ipack + 1
8648 436991 : packed_data(ipack) = pack_tmp
8649 436991 : data_tmp = full_data(idata)
8650 436991 : pack_tmp = ISHFT(data_tmp, 52)
8651 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8652 436991 : idata = idata + 1
8653 436991 : data_tmp = full_data(idata)
8654 436991 : data_tmp = ISHFT(data_tmp, 51)
8655 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8656 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8657 436991 : idata = idata + 1
8658 436991 : data_tmp = full_data(idata)
8659 436991 : data_tmp = ISHFT(data_tmp, 51)
8660 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8661 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8662 436991 : idata = idata + 1
8663 436991 : data_tmp = full_data(idata)
8664 436991 : data_tmp = ISHFT(data_tmp, 51)
8665 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8666 436991 : pack_tmp = ISHFT(pack_tmp, -13)
8667 436991 : idata = idata + 1
8668 436991 : data_tmp = full_data(idata)
8669 436991 : data_tmp = ISHFT(data_tmp, 51)
8670 436991 : pack_tmp = IOR(pack_tmp, data_tmp)
8671 : pack_tmp = ISHFT(pack_tmp, 0)
8672 436991 : pack_tmp = ISHFT(pack_tmp, 0)
8673 436991 : ipack = ipack + 1
8674 437061 : packed_data(ipack) = pack_tmp
8675 : END DO
8676 28079 : IF (Ndata_rep < Ndata) THEN
8677 1346 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8678 : END IF
8679 28079 : END SUBROUTINE ints2bits_13
8680 :
8681 : ! **************************************************************************************************
8682 : !> \brief ...
8683 : !> \param Ndata ...
8684 : !> \param packed_data ...
8685 : !> \param full_data ...
8686 : ! **************************************************************************************************
8687 131111 : 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 131111 : ipack = 0
8698 131111 : idata = 0
8699 131111 : pack_tmp = 0
8700 131111 : Ndata_rep = (Ndata/64)*64
8701 131111 : DO kdata = 1, Ndata_rep, 64
8702 1999641 : idata = idata + 1
8703 1999641 : data_tmp = ISHFT(pack_tmp, 13)
8704 1999641 : ipack = ipack + 1
8705 1999641 : pack_tmp = packed_data(ipack)
8706 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
8707 1999641 : pack_tmp = ISHFT(pack_tmp, -13)
8708 1999641 : idata = idata + 1
8709 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8710 1999641 : full_data(idata) = data_tmp
8711 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8712 1999641 : idata = idata + 1
8713 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8714 1999641 : full_data(idata) = data_tmp
8715 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8716 1999641 : idata = idata + 1
8717 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8718 1999641 : full_data(idata) = data_tmp
8719 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8720 1999641 : idata = idata + 1
8721 1999641 : data_tmp = ISHFT(pack_tmp, 1)
8722 1999641 : ipack = ipack + 1
8723 1999641 : pack_tmp = packed_data(ipack)
8724 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
8725 1999641 : pack_tmp = ISHFT(pack_tmp, -1)
8726 1999641 : idata = idata + 1
8727 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8728 1999641 : full_data(idata) = data_tmp
8729 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8730 1999641 : idata = idata + 1
8731 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8732 1999641 : full_data(idata) = data_tmp
8733 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8734 1999641 : idata = idata + 1
8735 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8736 1999641 : full_data(idata) = data_tmp
8737 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8738 1999641 : idata = idata + 1
8739 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8740 1999641 : full_data(idata) = data_tmp
8741 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8742 1999641 : idata = idata + 1
8743 1999641 : data_tmp = ISHFT(pack_tmp, 2)
8744 1999641 : ipack = ipack + 1
8745 1999641 : pack_tmp = packed_data(ipack)
8746 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
8747 1999641 : pack_tmp = ISHFT(pack_tmp, -2)
8748 1999641 : idata = idata + 1
8749 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8750 1999641 : full_data(idata) = data_tmp
8751 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8752 1999641 : idata = idata + 1
8753 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8754 1999641 : full_data(idata) = data_tmp
8755 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8756 1999641 : idata = idata + 1
8757 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8758 1999641 : full_data(idata) = data_tmp
8759 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8760 1999641 : idata = idata + 1
8761 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8762 1999641 : full_data(idata) = data_tmp
8763 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8764 1999641 : idata = idata + 1
8765 1999641 : data_tmp = ISHFT(pack_tmp, 3)
8766 1999641 : ipack = ipack + 1
8767 1999641 : pack_tmp = packed_data(ipack)
8768 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
8769 1999641 : pack_tmp = ISHFT(pack_tmp, -3)
8770 1999641 : idata = idata + 1
8771 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8772 1999641 : full_data(idata) = data_tmp
8773 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8774 1999641 : idata = idata + 1
8775 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8776 1999641 : full_data(idata) = data_tmp
8777 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8778 1999641 : idata = idata + 1
8779 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8780 1999641 : full_data(idata) = data_tmp
8781 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8782 1999641 : idata = idata + 1
8783 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8784 1999641 : full_data(idata) = data_tmp
8785 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8786 1999641 : idata = idata + 1
8787 1999641 : data_tmp = ISHFT(pack_tmp, 4)
8788 1999641 : ipack = ipack + 1
8789 1999641 : pack_tmp = packed_data(ipack)
8790 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8791 1999641 : pack_tmp = ISHFT(pack_tmp, -4)
8792 1999641 : idata = idata + 1
8793 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8794 1999641 : full_data(idata) = data_tmp
8795 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8796 1999641 : idata = idata + 1
8797 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8798 1999641 : full_data(idata) = data_tmp
8799 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8800 1999641 : idata = idata + 1
8801 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8802 1999641 : full_data(idata) = data_tmp
8803 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8804 1999641 : idata = idata + 1
8805 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8806 1999641 : full_data(idata) = data_tmp
8807 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8808 1999641 : idata = idata + 1
8809 1999641 : data_tmp = ISHFT(pack_tmp, 5)
8810 1999641 : ipack = ipack + 1
8811 1999641 : pack_tmp = packed_data(ipack)
8812 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
8813 1999641 : pack_tmp = ISHFT(pack_tmp, -5)
8814 1999641 : idata = idata + 1
8815 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8816 1999641 : full_data(idata) = data_tmp
8817 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8818 1999641 : idata = idata + 1
8819 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8820 1999641 : full_data(idata) = data_tmp
8821 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8822 1999641 : idata = idata + 1
8823 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8824 1999641 : full_data(idata) = data_tmp
8825 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8826 1999641 : idata = idata + 1
8827 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8828 1999641 : full_data(idata) = data_tmp
8829 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8830 1999641 : idata = idata + 1
8831 1999641 : data_tmp = ISHFT(pack_tmp, 6)
8832 1999641 : ipack = ipack + 1
8833 1999641 : pack_tmp = packed_data(ipack)
8834 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
8835 1999641 : pack_tmp = ISHFT(pack_tmp, -6)
8836 1999641 : idata = idata + 1
8837 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8838 1999641 : full_data(idata) = data_tmp
8839 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8840 1999641 : idata = idata + 1
8841 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8842 1999641 : full_data(idata) = data_tmp
8843 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8844 1999641 : idata = idata + 1
8845 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8846 1999641 : full_data(idata) = data_tmp
8847 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8848 1999641 : idata = idata + 1
8849 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8850 1999641 : full_data(idata) = data_tmp
8851 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8852 1999641 : idata = idata + 1
8853 1999641 : data_tmp = ISHFT(pack_tmp, 7)
8854 1999641 : ipack = ipack + 1
8855 1999641 : pack_tmp = packed_data(ipack)
8856 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
8857 1999641 : pack_tmp = ISHFT(pack_tmp, -7)
8858 1999641 : idata = idata + 1
8859 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8860 1999641 : full_data(idata) = data_tmp
8861 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8862 1999641 : idata = idata + 1
8863 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8864 1999641 : full_data(idata) = data_tmp
8865 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8866 1999641 : idata = idata + 1
8867 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8868 1999641 : full_data(idata) = data_tmp
8869 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8870 1999641 : idata = idata + 1
8871 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8872 1999641 : full_data(idata) = data_tmp
8873 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8874 1999641 : idata = idata + 1
8875 1999641 : data_tmp = ISHFT(pack_tmp, 8)
8876 1999641 : ipack = ipack + 1
8877 1999641 : pack_tmp = packed_data(ipack)
8878 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8879 1999641 : pack_tmp = ISHFT(pack_tmp, -8)
8880 1999641 : idata = idata + 1
8881 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8882 1999641 : full_data(idata) = data_tmp
8883 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8884 1999641 : idata = idata + 1
8885 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8886 1999641 : full_data(idata) = data_tmp
8887 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8888 1999641 : idata = idata + 1
8889 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8890 1999641 : full_data(idata) = data_tmp
8891 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8892 1999641 : idata = idata + 1
8893 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8894 1999641 : full_data(idata) = data_tmp
8895 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8896 1999641 : idata = idata + 1
8897 1999641 : data_tmp = ISHFT(pack_tmp, 9)
8898 1999641 : ipack = ipack + 1
8899 1999641 : pack_tmp = packed_data(ipack)
8900 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
8901 1999641 : pack_tmp = ISHFT(pack_tmp, -9)
8902 1999641 : idata = idata + 1
8903 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8904 1999641 : full_data(idata) = data_tmp
8905 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8906 1999641 : idata = idata + 1
8907 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8908 1999641 : full_data(idata) = data_tmp
8909 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8910 1999641 : idata = idata + 1
8911 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8912 1999641 : full_data(idata) = data_tmp
8913 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8914 1999641 : idata = idata + 1
8915 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8916 1999641 : full_data(idata) = data_tmp
8917 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8918 1999641 : idata = idata + 1
8919 1999641 : data_tmp = ISHFT(pack_tmp, 10)
8920 1999641 : ipack = ipack + 1
8921 1999641 : pack_tmp = packed_data(ipack)
8922 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
8923 1999641 : pack_tmp = ISHFT(pack_tmp, -10)
8924 1999641 : idata = idata + 1
8925 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8926 1999641 : full_data(idata) = data_tmp
8927 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8928 1999641 : idata = idata + 1
8929 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8930 1999641 : full_data(idata) = data_tmp
8931 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8932 1999641 : idata = idata + 1
8933 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8934 1999641 : full_data(idata) = data_tmp
8935 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8936 1999641 : idata = idata + 1
8937 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8938 1999641 : full_data(idata) = data_tmp
8939 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8940 1999641 : idata = idata + 1
8941 1999641 : data_tmp = ISHFT(pack_tmp, 11)
8942 1999641 : ipack = ipack + 1
8943 1999641 : pack_tmp = packed_data(ipack)
8944 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
8945 1999641 : pack_tmp = ISHFT(pack_tmp, -11)
8946 1999641 : idata = idata + 1
8947 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8948 1999641 : full_data(idata) = data_tmp
8949 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8950 1999641 : idata = idata + 1
8951 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8952 1999641 : full_data(idata) = data_tmp
8953 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8954 1999641 : idata = idata + 1
8955 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8956 1999641 : full_data(idata) = data_tmp
8957 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8958 1999641 : idata = idata + 1
8959 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8960 1999641 : full_data(idata) = data_tmp
8961 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8962 1999641 : idata = idata + 1
8963 1999641 : data_tmp = ISHFT(pack_tmp, 12)
8964 1999641 : ipack = ipack + 1
8965 1999641 : pack_tmp = packed_data(ipack)
8966 1999641 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8967 1999641 : pack_tmp = ISHFT(pack_tmp, -12)
8968 1999641 : idata = idata + 1
8969 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8970 1999641 : full_data(idata) = data_tmp
8971 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8972 1999641 : idata = idata + 1
8973 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8974 1999641 : full_data(idata) = data_tmp
8975 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8976 1999641 : idata = idata + 1
8977 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8978 1999641 : full_data(idata) = data_tmp
8979 1999641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8980 1999641 : idata = idata + 1
8981 1999641 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8982 1999641 : full_data(idata) = data_tmp
8983 2000189 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8984 : END DO
8985 131111 : IF (Ndata_rep < Ndata) THEN
8986 10798 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8987 : END IF
8988 131111 : END SUBROUTINE bits2ints_13
8989 :
8990 : ! **************************************************************************************************
8991 : !> \brief ...
8992 : !> \param Ndata ...
8993 : !> \param packed_data ...
8994 : !> \param full_data ...
8995 : ! **************************************************************************************************
8996 27125 : 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 27125 : idata = 0
9007 27125 : ipack = 0
9008 27125 : Ndata_rep = (Ndata/64)*64
9009 27125 : DO kdata = 1, Ndata_rep, 64
9010 423835 : pack_tmp = 0
9011 423835 : idata = idata + 1
9012 423835 : data_tmp = full_data(idata)
9013 423835 : data_tmp = ISHFT(data_tmp, 50)
9014 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9015 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9016 423835 : idata = idata + 1
9017 423835 : data_tmp = full_data(idata)
9018 423835 : data_tmp = ISHFT(data_tmp, 50)
9019 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9020 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9021 423835 : idata = idata + 1
9022 423835 : data_tmp = full_data(idata)
9023 423835 : data_tmp = ISHFT(data_tmp, 50)
9024 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9025 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9026 423835 : idata = idata + 1
9027 423835 : data_tmp = full_data(idata)
9028 423835 : data_tmp = ISHFT(data_tmp, 50)
9029 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9030 423835 : pack_tmp = ISHFT(pack_tmp, -8)
9031 423835 : idata = idata + 1
9032 423835 : data_tmp = full_data(idata)
9033 423835 : data_tmp = ISHFT(data_tmp, 50)
9034 423835 : data_tmp = IAND(data_tmp, mask_left(8))
9035 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9036 423835 : ipack = ipack + 1
9037 423835 : packed_data(ipack) = pack_tmp
9038 423835 : data_tmp = full_data(idata)
9039 423835 : pack_tmp = ISHFT(data_tmp, 58)
9040 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9041 423835 : idata = idata + 1
9042 423835 : data_tmp = full_data(idata)
9043 423835 : data_tmp = ISHFT(data_tmp, 50)
9044 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9045 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9046 423835 : idata = idata + 1
9047 423835 : data_tmp = full_data(idata)
9048 423835 : data_tmp = ISHFT(data_tmp, 50)
9049 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9050 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9051 423835 : idata = idata + 1
9052 423835 : data_tmp = full_data(idata)
9053 423835 : data_tmp = ISHFT(data_tmp, 50)
9054 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9055 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9056 423835 : idata = idata + 1
9057 423835 : data_tmp = full_data(idata)
9058 423835 : data_tmp = ISHFT(data_tmp, 50)
9059 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9060 423835 : pack_tmp = ISHFT(pack_tmp, -2)
9061 423835 : idata = idata + 1
9062 423835 : data_tmp = full_data(idata)
9063 423835 : data_tmp = ISHFT(data_tmp, 50)
9064 423835 : data_tmp = IAND(data_tmp, mask_left(2))
9065 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9066 423835 : ipack = ipack + 1
9067 423835 : packed_data(ipack) = pack_tmp
9068 423835 : data_tmp = full_data(idata)
9069 423835 : pack_tmp = ISHFT(data_tmp, 52)
9070 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9071 423835 : idata = idata + 1
9072 423835 : data_tmp = full_data(idata)
9073 423835 : data_tmp = ISHFT(data_tmp, 50)
9074 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9075 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9076 423835 : idata = idata + 1
9077 423835 : data_tmp = full_data(idata)
9078 423835 : data_tmp = ISHFT(data_tmp, 50)
9079 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9080 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9081 423835 : idata = idata + 1
9082 423835 : data_tmp = full_data(idata)
9083 423835 : data_tmp = ISHFT(data_tmp, 50)
9084 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9085 423835 : pack_tmp = ISHFT(pack_tmp, -10)
9086 423835 : idata = idata + 1
9087 423835 : data_tmp = full_data(idata)
9088 423835 : data_tmp = ISHFT(data_tmp, 50)
9089 423835 : data_tmp = IAND(data_tmp, mask_left(10))
9090 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9091 423835 : ipack = ipack + 1
9092 423835 : packed_data(ipack) = pack_tmp
9093 423835 : data_tmp = full_data(idata)
9094 423835 : pack_tmp = ISHFT(data_tmp, 60)
9095 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9096 423835 : idata = idata + 1
9097 423835 : data_tmp = full_data(idata)
9098 423835 : data_tmp = ISHFT(data_tmp, 50)
9099 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9100 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9101 423835 : idata = idata + 1
9102 423835 : data_tmp = full_data(idata)
9103 423835 : data_tmp = ISHFT(data_tmp, 50)
9104 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9105 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9106 423835 : idata = idata + 1
9107 423835 : data_tmp = full_data(idata)
9108 423835 : data_tmp = ISHFT(data_tmp, 50)
9109 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9110 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9111 423835 : idata = idata + 1
9112 423835 : data_tmp = full_data(idata)
9113 423835 : data_tmp = ISHFT(data_tmp, 50)
9114 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9115 423835 : pack_tmp = ISHFT(pack_tmp, -4)
9116 423835 : idata = idata + 1
9117 423835 : data_tmp = full_data(idata)
9118 423835 : data_tmp = ISHFT(data_tmp, 50)
9119 423835 : data_tmp = IAND(data_tmp, mask_left(4))
9120 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9121 423835 : ipack = ipack + 1
9122 423835 : packed_data(ipack) = pack_tmp
9123 423835 : data_tmp = full_data(idata)
9124 423835 : pack_tmp = ISHFT(data_tmp, 54)
9125 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9126 423835 : idata = idata + 1
9127 423835 : data_tmp = full_data(idata)
9128 423835 : data_tmp = ISHFT(data_tmp, 50)
9129 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9130 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9131 423835 : idata = idata + 1
9132 423835 : data_tmp = full_data(idata)
9133 423835 : data_tmp = ISHFT(data_tmp, 50)
9134 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9135 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9136 423835 : idata = idata + 1
9137 423835 : data_tmp = full_data(idata)
9138 423835 : data_tmp = ISHFT(data_tmp, 50)
9139 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9140 423835 : pack_tmp = ISHFT(pack_tmp, -12)
9141 423835 : idata = idata + 1
9142 423835 : data_tmp = full_data(idata)
9143 423835 : data_tmp = ISHFT(data_tmp, 50)
9144 423835 : data_tmp = IAND(data_tmp, mask_left(12))
9145 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9146 423835 : ipack = ipack + 1
9147 423835 : packed_data(ipack) = pack_tmp
9148 423835 : data_tmp = full_data(idata)
9149 423835 : pack_tmp = ISHFT(data_tmp, 62)
9150 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9151 423835 : idata = idata + 1
9152 423835 : data_tmp = full_data(idata)
9153 423835 : data_tmp = ISHFT(data_tmp, 50)
9154 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9155 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9156 423835 : idata = idata + 1
9157 423835 : data_tmp = full_data(idata)
9158 423835 : data_tmp = ISHFT(data_tmp, 50)
9159 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9160 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9161 423835 : idata = idata + 1
9162 423835 : data_tmp = full_data(idata)
9163 423835 : data_tmp = ISHFT(data_tmp, 50)
9164 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9165 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9166 423835 : idata = idata + 1
9167 423835 : data_tmp = full_data(idata)
9168 423835 : data_tmp = ISHFT(data_tmp, 50)
9169 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9170 423835 : pack_tmp = ISHFT(pack_tmp, -6)
9171 423835 : idata = idata + 1
9172 423835 : data_tmp = full_data(idata)
9173 423835 : data_tmp = ISHFT(data_tmp, 50)
9174 423835 : data_tmp = IAND(data_tmp, mask_left(6))
9175 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9176 423835 : ipack = ipack + 1
9177 423835 : packed_data(ipack) = pack_tmp
9178 423835 : data_tmp = full_data(idata)
9179 423835 : pack_tmp = ISHFT(data_tmp, 56)
9180 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9181 423835 : idata = idata + 1
9182 423835 : data_tmp = full_data(idata)
9183 423835 : data_tmp = ISHFT(data_tmp, 50)
9184 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9185 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9186 423835 : idata = idata + 1
9187 423835 : data_tmp = full_data(idata)
9188 423835 : data_tmp = ISHFT(data_tmp, 50)
9189 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9190 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9191 423835 : idata = idata + 1
9192 423835 : data_tmp = full_data(idata)
9193 423835 : data_tmp = ISHFT(data_tmp, 50)
9194 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9195 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9196 423835 : idata = idata + 1
9197 423835 : data_tmp = full_data(idata)
9198 423835 : data_tmp = ISHFT(data_tmp, 50)
9199 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9200 423835 : pack_tmp = ISHFT(pack_tmp, 0)
9201 423835 : idata = idata + 1
9202 423835 : data_tmp = full_data(idata)
9203 : data_tmp = ISHFT(data_tmp, 50)
9204 423835 : data_tmp = IAND(data_tmp, mask_left(0))
9205 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9206 423835 : ipack = ipack + 1
9207 423835 : packed_data(ipack) = pack_tmp
9208 423835 : data_tmp = full_data(idata)
9209 423835 : pack_tmp = ISHFT(data_tmp, 50)
9210 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9211 423835 : idata = idata + 1
9212 423835 : data_tmp = full_data(idata)
9213 423835 : data_tmp = ISHFT(data_tmp, 50)
9214 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9215 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9216 423835 : idata = idata + 1
9217 423835 : data_tmp = full_data(idata)
9218 423835 : data_tmp = ISHFT(data_tmp, 50)
9219 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9220 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9221 423835 : idata = idata + 1
9222 423835 : data_tmp = full_data(idata)
9223 423835 : data_tmp = ISHFT(data_tmp, 50)
9224 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9225 423835 : pack_tmp = ISHFT(pack_tmp, -8)
9226 423835 : idata = idata + 1
9227 423835 : data_tmp = full_data(idata)
9228 423835 : data_tmp = ISHFT(data_tmp, 50)
9229 423835 : data_tmp = IAND(data_tmp, mask_left(8))
9230 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9231 423835 : ipack = ipack + 1
9232 423835 : packed_data(ipack) = pack_tmp
9233 423835 : data_tmp = full_data(idata)
9234 423835 : pack_tmp = ISHFT(data_tmp, 58)
9235 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9236 423835 : idata = idata + 1
9237 423835 : data_tmp = full_data(idata)
9238 423835 : data_tmp = ISHFT(data_tmp, 50)
9239 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9240 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9241 423835 : idata = idata + 1
9242 423835 : data_tmp = full_data(idata)
9243 423835 : data_tmp = ISHFT(data_tmp, 50)
9244 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9245 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9246 423835 : idata = idata + 1
9247 423835 : data_tmp = full_data(idata)
9248 423835 : data_tmp = ISHFT(data_tmp, 50)
9249 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9250 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9251 423835 : idata = idata + 1
9252 423835 : data_tmp = full_data(idata)
9253 423835 : data_tmp = ISHFT(data_tmp, 50)
9254 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9255 423835 : pack_tmp = ISHFT(pack_tmp, -2)
9256 423835 : idata = idata + 1
9257 423835 : data_tmp = full_data(idata)
9258 423835 : data_tmp = ISHFT(data_tmp, 50)
9259 423835 : data_tmp = IAND(data_tmp, mask_left(2))
9260 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9261 423835 : ipack = ipack + 1
9262 423835 : packed_data(ipack) = pack_tmp
9263 423835 : data_tmp = full_data(idata)
9264 423835 : pack_tmp = ISHFT(data_tmp, 52)
9265 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9266 423835 : idata = idata + 1
9267 423835 : data_tmp = full_data(idata)
9268 423835 : data_tmp = ISHFT(data_tmp, 50)
9269 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9270 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9271 423835 : idata = idata + 1
9272 423835 : data_tmp = full_data(idata)
9273 423835 : data_tmp = ISHFT(data_tmp, 50)
9274 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9275 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9276 423835 : idata = idata + 1
9277 423835 : data_tmp = full_data(idata)
9278 423835 : data_tmp = ISHFT(data_tmp, 50)
9279 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9280 423835 : pack_tmp = ISHFT(pack_tmp, -10)
9281 423835 : idata = idata + 1
9282 423835 : data_tmp = full_data(idata)
9283 423835 : data_tmp = ISHFT(data_tmp, 50)
9284 423835 : data_tmp = IAND(data_tmp, mask_left(10))
9285 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9286 423835 : ipack = ipack + 1
9287 423835 : packed_data(ipack) = pack_tmp
9288 423835 : data_tmp = full_data(idata)
9289 423835 : pack_tmp = ISHFT(data_tmp, 60)
9290 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9291 423835 : idata = idata + 1
9292 423835 : data_tmp = full_data(idata)
9293 423835 : data_tmp = ISHFT(data_tmp, 50)
9294 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9295 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9296 423835 : idata = idata + 1
9297 423835 : data_tmp = full_data(idata)
9298 423835 : data_tmp = ISHFT(data_tmp, 50)
9299 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9300 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9301 423835 : idata = idata + 1
9302 423835 : data_tmp = full_data(idata)
9303 423835 : data_tmp = ISHFT(data_tmp, 50)
9304 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9305 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9306 423835 : idata = idata + 1
9307 423835 : data_tmp = full_data(idata)
9308 423835 : data_tmp = ISHFT(data_tmp, 50)
9309 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9310 423835 : pack_tmp = ISHFT(pack_tmp, -4)
9311 423835 : idata = idata + 1
9312 423835 : data_tmp = full_data(idata)
9313 423835 : data_tmp = ISHFT(data_tmp, 50)
9314 423835 : data_tmp = IAND(data_tmp, mask_left(4))
9315 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9316 423835 : ipack = ipack + 1
9317 423835 : packed_data(ipack) = pack_tmp
9318 423835 : data_tmp = full_data(idata)
9319 423835 : pack_tmp = ISHFT(data_tmp, 54)
9320 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9321 423835 : idata = idata + 1
9322 423835 : data_tmp = full_data(idata)
9323 423835 : data_tmp = ISHFT(data_tmp, 50)
9324 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9325 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9326 423835 : idata = idata + 1
9327 423835 : data_tmp = full_data(idata)
9328 423835 : data_tmp = ISHFT(data_tmp, 50)
9329 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9330 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9331 423835 : idata = idata + 1
9332 423835 : data_tmp = full_data(idata)
9333 423835 : data_tmp = ISHFT(data_tmp, 50)
9334 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9335 423835 : pack_tmp = ISHFT(pack_tmp, -12)
9336 423835 : idata = idata + 1
9337 423835 : data_tmp = full_data(idata)
9338 423835 : data_tmp = ISHFT(data_tmp, 50)
9339 423835 : data_tmp = IAND(data_tmp, mask_left(12))
9340 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9341 423835 : ipack = ipack + 1
9342 423835 : packed_data(ipack) = pack_tmp
9343 423835 : data_tmp = full_data(idata)
9344 423835 : pack_tmp = ISHFT(data_tmp, 62)
9345 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9346 423835 : idata = idata + 1
9347 423835 : data_tmp = full_data(idata)
9348 423835 : data_tmp = ISHFT(data_tmp, 50)
9349 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9350 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9351 423835 : idata = idata + 1
9352 423835 : data_tmp = full_data(idata)
9353 423835 : data_tmp = ISHFT(data_tmp, 50)
9354 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9355 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9356 423835 : idata = idata + 1
9357 423835 : data_tmp = full_data(idata)
9358 423835 : data_tmp = ISHFT(data_tmp, 50)
9359 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9360 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9361 423835 : idata = idata + 1
9362 423835 : data_tmp = full_data(idata)
9363 423835 : data_tmp = ISHFT(data_tmp, 50)
9364 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9365 423835 : pack_tmp = ISHFT(pack_tmp, -6)
9366 423835 : idata = idata + 1
9367 423835 : data_tmp = full_data(idata)
9368 423835 : data_tmp = ISHFT(data_tmp, 50)
9369 423835 : data_tmp = IAND(data_tmp, mask_left(6))
9370 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9371 423835 : ipack = ipack + 1
9372 423835 : packed_data(ipack) = pack_tmp
9373 423835 : data_tmp = full_data(idata)
9374 423835 : pack_tmp = ISHFT(data_tmp, 56)
9375 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9376 423835 : idata = idata + 1
9377 423835 : data_tmp = full_data(idata)
9378 423835 : data_tmp = ISHFT(data_tmp, 50)
9379 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9380 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9381 423835 : idata = idata + 1
9382 423835 : data_tmp = full_data(idata)
9383 423835 : data_tmp = ISHFT(data_tmp, 50)
9384 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9385 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9386 423835 : idata = idata + 1
9387 423835 : data_tmp = full_data(idata)
9388 423835 : data_tmp = ISHFT(data_tmp, 50)
9389 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9390 423835 : pack_tmp = ISHFT(pack_tmp, -14)
9391 423835 : idata = idata + 1
9392 423835 : data_tmp = full_data(idata)
9393 423835 : data_tmp = ISHFT(data_tmp, 50)
9394 423835 : pack_tmp = IOR(pack_tmp, data_tmp)
9395 : pack_tmp = ISHFT(pack_tmp, 0)
9396 423835 : pack_tmp = ISHFT(pack_tmp, 0)
9397 423835 : ipack = ipack + 1
9398 423895 : packed_data(ipack) = pack_tmp
9399 : END DO
9400 27125 : IF (Ndata_rep < Ndata) THEN
9401 1130 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9402 : END IF
9403 27125 : END SUBROUTINE ints2bits_14
9404 :
9405 : ! **************************************************************************************************
9406 : !> \brief ...
9407 : !> \param Ndata ...
9408 : !> \param packed_data ...
9409 : !> \param full_data ...
9410 : ! **************************************************************************************************
9411 122833 : 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 122833 : ipack = 0
9422 122833 : idata = 0
9423 122833 : pack_tmp = 0
9424 122833 : Ndata_rep = (Ndata/64)*64
9425 122833 : DO kdata = 1, Ndata_rep, 64
9426 1887567 : idata = idata + 1
9427 1887567 : data_tmp = ISHFT(pack_tmp, 14)
9428 1887567 : ipack = ipack + 1
9429 1887567 : pack_tmp = packed_data(ipack)
9430 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9431 1887567 : pack_tmp = ISHFT(pack_tmp, -14)
9432 1887567 : idata = idata + 1
9433 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9434 1887567 : full_data(idata) = data_tmp
9435 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9436 1887567 : idata = idata + 1
9437 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9438 1887567 : full_data(idata) = data_tmp
9439 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9440 1887567 : idata = idata + 1
9441 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9442 1887567 : full_data(idata) = data_tmp
9443 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9444 1887567 : idata = idata + 1
9445 1887567 : data_tmp = ISHFT(pack_tmp, 6)
9446 1887567 : ipack = ipack + 1
9447 1887567 : pack_tmp = packed_data(ipack)
9448 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9449 1887567 : pack_tmp = ISHFT(pack_tmp, -6)
9450 1887567 : idata = idata + 1
9451 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9452 1887567 : full_data(idata) = data_tmp
9453 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9454 1887567 : idata = idata + 1
9455 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9456 1887567 : full_data(idata) = data_tmp
9457 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9458 1887567 : idata = idata + 1
9459 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9460 1887567 : full_data(idata) = data_tmp
9461 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9462 1887567 : idata = idata + 1
9463 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9464 1887567 : full_data(idata) = data_tmp
9465 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9466 1887567 : idata = idata + 1
9467 1887567 : data_tmp = ISHFT(pack_tmp, 12)
9468 1887567 : ipack = ipack + 1
9469 1887567 : pack_tmp = packed_data(ipack)
9470 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9471 1887567 : pack_tmp = ISHFT(pack_tmp, -12)
9472 1887567 : idata = idata + 1
9473 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9474 1887567 : full_data(idata) = data_tmp
9475 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9476 1887567 : idata = idata + 1
9477 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9478 1887567 : full_data(idata) = data_tmp
9479 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9480 1887567 : idata = idata + 1
9481 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9482 1887567 : full_data(idata) = data_tmp
9483 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9484 1887567 : idata = idata + 1
9485 1887567 : data_tmp = ISHFT(pack_tmp, 4)
9486 1887567 : ipack = ipack + 1
9487 1887567 : pack_tmp = packed_data(ipack)
9488 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9489 1887567 : pack_tmp = ISHFT(pack_tmp, -4)
9490 1887567 : idata = idata + 1
9491 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9492 1887567 : full_data(idata) = data_tmp
9493 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9494 1887567 : idata = idata + 1
9495 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9496 1887567 : full_data(idata) = data_tmp
9497 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9498 1887567 : idata = idata + 1
9499 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9500 1887567 : full_data(idata) = data_tmp
9501 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9502 1887567 : idata = idata + 1
9503 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9504 1887567 : full_data(idata) = data_tmp
9505 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9506 1887567 : idata = idata + 1
9507 1887567 : data_tmp = ISHFT(pack_tmp, 10)
9508 1887567 : ipack = ipack + 1
9509 1887567 : pack_tmp = packed_data(ipack)
9510 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9511 1887567 : pack_tmp = ISHFT(pack_tmp, -10)
9512 1887567 : idata = idata + 1
9513 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9514 1887567 : full_data(idata) = data_tmp
9515 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9516 1887567 : idata = idata + 1
9517 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9518 1887567 : full_data(idata) = data_tmp
9519 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9520 1887567 : idata = idata + 1
9521 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9522 1887567 : full_data(idata) = data_tmp
9523 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9524 1887567 : idata = idata + 1
9525 1887567 : data_tmp = ISHFT(pack_tmp, 2)
9526 1887567 : ipack = ipack + 1
9527 1887567 : pack_tmp = packed_data(ipack)
9528 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9529 1887567 : pack_tmp = ISHFT(pack_tmp, -2)
9530 1887567 : idata = idata + 1
9531 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9532 1887567 : full_data(idata) = data_tmp
9533 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9534 1887567 : idata = idata + 1
9535 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9536 1887567 : full_data(idata) = data_tmp
9537 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9538 1887567 : idata = idata + 1
9539 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9540 1887567 : full_data(idata) = data_tmp
9541 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9542 1887567 : idata = idata + 1
9543 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9544 1887567 : full_data(idata) = data_tmp
9545 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9546 1887567 : idata = idata + 1
9547 1887567 : data_tmp = ISHFT(pack_tmp, 8)
9548 1887567 : ipack = ipack + 1
9549 1887567 : pack_tmp = packed_data(ipack)
9550 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9551 1887567 : pack_tmp = ISHFT(pack_tmp, -8)
9552 1887567 : idata = idata + 1
9553 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9554 1887567 : full_data(idata) = data_tmp
9555 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9556 1887567 : idata = idata + 1
9557 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9558 1887567 : full_data(idata) = data_tmp
9559 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9560 1887567 : idata = idata + 1
9561 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9562 1887567 : full_data(idata) = data_tmp
9563 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9564 1887567 : idata = idata + 1
9565 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9566 1887567 : full_data(idata) = data_tmp
9567 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9568 1887567 : idata = idata + 1
9569 1887567 : data_tmp = ISHFT(pack_tmp, 14)
9570 1887567 : ipack = ipack + 1
9571 1887567 : pack_tmp = packed_data(ipack)
9572 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9573 1887567 : pack_tmp = ISHFT(pack_tmp, -14)
9574 1887567 : idata = idata + 1
9575 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9576 1887567 : full_data(idata) = data_tmp
9577 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9578 1887567 : idata = idata + 1
9579 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9580 1887567 : full_data(idata) = data_tmp
9581 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9582 1887567 : idata = idata + 1
9583 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9584 1887567 : full_data(idata) = data_tmp
9585 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9586 1887567 : idata = idata + 1
9587 1887567 : data_tmp = ISHFT(pack_tmp, 6)
9588 1887567 : ipack = ipack + 1
9589 1887567 : pack_tmp = packed_data(ipack)
9590 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9591 1887567 : pack_tmp = ISHFT(pack_tmp, -6)
9592 1887567 : idata = idata + 1
9593 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9594 1887567 : full_data(idata) = data_tmp
9595 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9596 1887567 : idata = idata + 1
9597 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9598 1887567 : full_data(idata) = data_tmp
9599 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9600 1887567 : idata = idata + 1
9601 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9602 1887567 : full_data(idata) = data_tmp
9603 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9604 1887567 : idata = idata + 1
9605 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9606 1887567 : full_data(idata) = data_tmp
9607 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9608 1887567 : idata = idata + 1
9609 1887567 : data_tmp = ISHFT(pack_tmp, 12)
9610 1887567 : ipack = ipack + 1
9611 1887567 : pack_tmp = packed_data(ipack)
9612 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9613 1887567 : pack_tmp = ISHFT(pack_tmp, -12)
9614 1887567 : idata = idata + 1
9615 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9616 1887567 : full_data(idata) = data_tmp
9617 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9618 1887567 : idata = idata + 1
9619 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9620 1887567 : full_data(idata) = data_tmp
9621 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9622 1887567 : idata = idata + 1
9623 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9624 1887567 : full_data(idata) = data_tmp
9625 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9626 1887567 : idata = idata + 1
9627 1887567 : data_tmp = ISHFT(pack_tmp, 4)
9628 1887567 : ipack = ipack + 1
9629 1887567 : pack_tmp = packed_data(ipack)
9630 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9631 1887567 : pack_tmp = ISHFT(pack_tmp, -4)
9632 1887567 : idata = idata + 1
9633 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9634 1887567 : full_data(idata) = data_tmp
9635 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9636 1887567 : idata = idata + 1
9637 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9638 1887567 : full_data(idata) = data_tmp
9639 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9640 1887567 : idata = idata + 1
9641 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9642 1887567 : full_data(idata) = data_tmp
9643 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9644 1887567 : idata = idata + 1
9645 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9646 1887567 : full_data(idata) = data_tmp
9647 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9648 1887567 : idata = idata + 1
9649 1887567 : data_tmp = ISHFT(pack_tmp, 10)
9650 1887567 : ipack = ipack + 1
9651 1887567 : pack_tmp = packed_data(ipack)
9652 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9653 1887567 : pack_tmp = ISHFT(pack_tmp, -10)
9654 1887567 : idata = idata + 1
9655 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9656 1887567 : full_data(idata) = data_tmp
9657 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9658 1887567 : idata = idata + 1
9659 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9660 1887567 : full_data(idata) = data_tmp
9661 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9662 1887567 : idata = idata + 1
9663 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9664 1887567 : full_data(idata) = data_tmp
9665 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9666 1887567 : idata = idata + 1
9667 1887567 : data_tmp = ISHFT(pack_tmp, 2)
9668 1887567 : ipack = ipack + 1
9669 1887567 : pack_tmp = packed_data(ipack)
9670 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9671 1887567 : pack_tmp = ISHFT(pack_tmp, -2)
9672 1887567 : idata = idata + 1
9673 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9674 1887567 : full_data(idata) = data_tmp
9675 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9676 1887567 : idata = idata + 1
9677 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9678 1887567 : full_data(idata) = data_tmp
9679 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9680 1887567 : idata = idata + 1
9681 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9682 1887567 : full_data(idata) = data_tmp
9683 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9684 1887567 : idata = idata + 1
9685 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9686 1887567 : full_data(idata) = data_tmp
9687 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9688 1887567 : idata = idata + 1
9689 1887567 : data_tmp = ISHFT(pack_tmp, 8)
9690 1887567 : ipack = ipack + 1
9691 1887567 : pack_tmp = packed_data(ipack)
9692 1887567 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9693 1887567 : pack_tmp = ISHFT(pack_tmp, -8)
9694 1887567 : idata = idata + 1
9695 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9696 1887567 : full_data(idata) = data_tmp
9697 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9698 1887567 : idata = idata + 1
9699 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9700 1887567 : full_data(idata) = data_tmp
9701 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9702 1887567 : idata = idata + 1
9703 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9704 1887567 : full_data(idata) = data_tmp
9705 1887567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9706 1887567 : idata = idata + 1
9707 1887567 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9708 1887567 : full_data(idata) = data_tmp
9709 1888032 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9710 : END DO
9711 122833 : IF (Ndata_rep < Ndata) THEN
9712 8642 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9713 : END IF
9714 122833 : END SUBROUTINE bits2ints_14
9715 :
9716 : ! **************************************************************************************************
9717 : !> \brief ...
9718 : !> \param Ndata ...
9719 : !> \param packed_data ...
9720 : !> \param full_data ...
9721 : ! **************************************************************************************************
9722 27440 : 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 27440 : idata = 0
9733 27440 : ipack = 0
9734 27440 : Ndata_rep = (Ndata/64)*64
9735 27440 : DO kdata = 1, Ndata_rep, 64
9736 427344 : pack_tmp = 0
9737 427344 : idata = idata + 1
9738 427344 : data_tmp = full_data(idata)
9739 427344 : data_tmp = ISHFT(data_tmp, 49)
9740 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9741 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9742 427344 : idata = idata + 1
9743 427344 : data_tmp = full_data(idata)
9744 427344 : data_tmp = ISHFT(data_tmp, 49)
9745 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9746 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9747 427344 : idata = idata + 1
9748 427344 : data_tmp = full_data(idata)
9749 427344 : data_tmp = ISHFT(data_tmp, 49)
9750 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9751 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9752 427344 : idata = idata + 1
9753 427344 : data_tmp = full_data(idata)
9754 427344 : data_tmp = ISHFT(data_tmp, 49)
9755 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9756 427344 : pack_tmp = ISHFT(pack_tmp, -4)
9757 427344 : idata = idata + 1
9758 427344 : data_tmp = full_data(idata)
9759 427344 : data_tmp = ISHFT(data_tmp, 49)
9760 427344 : data_tmp = IAND(data_tmp, mask_left(4))
9761 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9762 427344 : ipack = ipack + 1
9763 427344 : packed_data(ipack) = pack_tmp
9764 427344 : data_tmp = full_data(idata)
9765 427344 : pack_tmp = ISHFT(data_tmp, 53)
9766 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9767 427344 : idata = idata + 1
9768 427344 : data_tmp = full_data(idata)
9769 427344 : data_tmp = ISHFT(data_tmp, 49)
9770 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9771 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9772 427344 : idata = idata + 1
9773 427344 : data_tmp = full_data(idata)
9774 427344 : data_tmp = ISHFT(data_tmp, 49)
9775 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9776 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9777 427344 : idata = idata + 1
9778 427344 : data_tmp = full_data(idata)
9779 427344 : data_tmp = ISHFT(data_tmp, 49)
9780 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9781 427344 : pack_tmp = ISHFT(pack_tmp, -8)
9782 427344 : idata = idata + 1
9783 427344 : data_tmp = full_data(idata)
9784 427344 : data_tmp = ISHFT(data_tmp, 49)
9785 427344 : data_tmp = IAND(data_tmp, mask_left(8))
9786 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9787 427344 : ipack = ipack + 1
9788 427344 : packed_data(ipack) = pack_tmp
9789 427344 : data_tmp = full_data(idata)
9790 427344 : pack_tmp = ISHFT(data_tmp, 57)
9791 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9792 427344 : idata = idata + 1
9793 427344 : data_tmp = full_data(idata)
9794 427344 : data_tmp = ISHFT(data_tmp, 49)
9795 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9796 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9797 427344 : idata = idata + 1
9798 427344 : data_tmp = full_data(idata)
9799 427344 : data_tmp = ISHFT(data_tmp, 49)
9800 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9801 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9802 427344 : idata = idata + 1
9803 427344 : data_tmp = full_data(idata)
9804 427344 : data_tmp = ISHFT(data_tmp, 49)
9805 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9806 427344 : pack_tmp = ISHFT(pack_tmp, -12)
9807 427344 : idata = idata + 1
9808 427344 : data_tmp = full_data(idata)
9809 427344 : data_tmp = ISHFT(data_tmp, 49)
9810 427344 : data_tmp = IAND(data_tmp, mask_left(12))
9811 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9812 427344 : ipack = ipack + 1
9813 427344 : packed_data(ipack) = pack_tmp
9814 427344 : data_tmp = full_data(idata)
9815 427344 : pack_tmp = ISHFT(data_tmp, 61)
9816 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9817 427344 : idata = idata + 1
9818 427344 : data_tmp = full_data(idata)
9819 427344 : data_tmp = ISHFT(data_tmp, 49)
9820 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9821 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9822 427344 : idata = idata + 1
9823 427344 : data_tmp = full_data(idata)
9824 427344 : data_tmp = ISHFT(data_tmp, 49)
9825 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9826 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9827 427344 : idata = idata + 1
9828 427344 : data_tmp = full_data(idata)
9829 427344 : data_tmp = ISHFT(data_tmp, 49)
9830 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9831 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9832 427344 : idata = idata + 1
9833 427344 : data_tmp = full_data(idata)
9834 427344 : data_tmp = ISHFT(data_tmp, 49)
9835 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9836 427344 : pack_tmp = ISHFT(pack_tmp, -1)
9837 427344 : idata = idata + 1
9838 427344 : data_tmp = full_data(idata)
9839 427344 : data_tmp = ISHFT(data_tmp, 49)
9840 427344 : data_tmp = IAND(data_tmp, mask_left(1))
9841 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9842 427344 : ipack = ipack + 1
9843 427344 : packed_data(ipack) = pack_tmp
9844 427344 : data_tmp = full_data(idata)
9845 427344 : pack_tmp = ISHFT(data_tmp, 50)
9846 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9847 427344 : idata = idata + 1
9848 427344 : data_tmp = full_data(idata)
9849 427344 : data_tmp = ISHFT(data_tmp, 49)
9850 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9851 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9852 427344 : idata = idata + 1
9853 427344 : data_tmp = full_data(idata)
9854 427344 : data_tmp = ISHFT(data_tmp, 49)
9855 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9856 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9857 427344 : idata = idata + 1
9858 427344 : data_tmp = full_data(idata)
9859 427344 : data_tmp = ISHFT(data_tmp, 49)
9860 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9861 427344 : pack_tmp = ISHFT(pack_tmp, -5)
9862 427344 : idata = idata + 1
9863 427344 : data_tmp = full_data(idata)
9864 427344 : data_tmp = ISHFT(data_tmp, 49)
9865 427344 : data_tmp = IAND(data_tmp, mask_left(5))
9866 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9867 427344 : ipack = ipack + 1
9868 427344 : packed_data(ipack) = pack_tmp
9869 427344 : data_tmp = full_data(idata)
9870 427344 : pack_tmp = ISHFT(data_tmp, 54)
9871 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9872 427344 : idata = idata + 1
9873 427344 : data_tmp = full_data(idata)
9874 427344 : data_tmp = ISHFT(data_tmp, 49)
9875 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9876 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9877 427344 : idata = idata + 1
9878 427344 : data_tmp = full_data(idata)
9879 427344 : data_tmp = ISHFT(data_tmp, 49)
9880 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9881 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9882 427344 : idata = idata + 1
9883 427344 : data_tmp = full_data(idata)
9884 427344 : data_tmp = ISHFT(data_tmp, 49)
9885 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9886 427344 : pack_tmp = ISHFT(pack_tmp, -9)
9887 427344 : idata = idata + 1
9888 427344 : data_tmp = full_data(idata)
9889 427344 : data_tmp = ISHFT(data_tmp, 49)
9890 427344 : data_tmp = IAND(data_tmp, mask_left(9))
9891 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9892 427344 : ipack = ipack + 1
9893 427344 : packed_data(ipack) = pack_tmp
9894 427344 : data_tmp = full_data(idata)
9895 427344 : pack_tmp = ISHFT(data_tmp, 58)
9896 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9897 427344 : idata = idata + 1
9898 427344 : data_tmp = full_data(idata)
9899 427344 : data_tmp = ISHFT(data_tmp, 49)
9900 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9901 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9902 427344 : idata = idata + 1
9903 427344 : data_tmp = full_data(idata)
9904 427344 : data_tmp = ISHFT(data_tmp, 49)
9905 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9906 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9907 427344 : idata = idata + 1
9908 427344 : data_tmp = full_data(idata)
9909 427344 : data_tmp = ISHFT(data_tmp, 49)
9910 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9911 427344 : pack_tmp = ISHFT(pack_tmp, -13)
9912 427344 : idata = idata + 1
9913 427344 : data_tmp = full_data(idata)
9914 427344 : data_tmp = ISHFT(data_tmp, 49)
9915 427344 : data_tmp = IAND(data_tmp, mask_left(13))
9916 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9917 427344 : ipack = ipack + 1
9918 427344 : packed_data(ipack) = pack_tmp
9919 427344 : data_tmp = full_data(idata)
9920 427344 : pack_tmp = ISHFT(data_tmp, 62)
9921 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9922 427344 : idata = idata + 1
9923 427344 : data_tmp = full_data(idata)
9924 427344 : data_tmp = ISHFT(data_tmp, 49)
9925 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9926 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9927 427344 : idata = idata + 1
9928 427344 : data_tmp = full_data(idata)
9929 427344 : data_tmp = ISHFT(data_tmp, 49)
9930 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9931 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9932 427344 : idata = idata + 1
9933 427344 : data_tmp = full_data(idata)
9934 427344 : data_tmp = ISHFT(data_tmp, 49)
9935 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9936 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9937 427344 : idata = idata + 1
9938 427344 : data_tmp = full_data(idata)
9939 427344 : data_tmp = ISHFT(data_tmp, 49)
9940 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9941 427344 : pack_tmp = ISHFT(pack_tmp, -2)
9942 427344 : idata = idata + 1
9943 427344 : data_tmp = full_data(idata)
9944 427344 : data_tmp = ISHFT(data_tmp, 49)
9945 427344 : data_tmp = IAND(data_tmp, mask_left(2))
9946 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9947 427344 : ipack = ipack + 1
9948 427344 : packed_data(ipack) = pack_tmp
9949 427344 : data_tmp = full_data(idata)
9950 427344 : pack_tmp = ISHFT(data_tmp, 51)
9951 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9952 427344 : idata = idata + 1
9953 427344 : data_tmp = full_data(idata)
9954 427344 : data_tmp = ISHFT(data_tmp, 49)
9955 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9956 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9957 427344 : idata = idata + 1
9958 427344 : data_tmp = full_data(idata)
9959 427344 : data_tmp = ISHFT(data_tmp, 49)
9960 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9961 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9962 427344 : idata = idata + 1
9963 427344 : data_tmp = full_data(idata)
9964 427344 : data_tmp = ISHFT(data_tmp, 49)
9965 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9966 427344 : pack_tmp = ISHFT(pack_tmp, -6)
9967 427344 : idata = idata + 1
9968 427344 : data_tmp = full_data(idata)
9969 427344 : data_tmp = ISHFT(data_tmp, 49)
9970 427344 : data_tmp = IAND(data_tmp, mask_left(6))
9971 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9972 427344 : ipack = ipack + 1
9973 427344 : packed_data(ipack) = pack_tmp
9974 427344 : data_tmp = full_data(idata)
9975 427344 : pack_tmp = ISHFT(data_tmp, 55)
9976 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9977 427344 : idata = idata + 1
9978 427344 : data_tmp = full_data(idata)
9979 427344 : data_tmp = ISHFT(data_tmp, 49)
9980 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9981 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9982 427344 : idata = idata + 1
9983 427344 : data_tmp = full_data(idata)
9984 427344 : data_tmp = ISHFT(data_tmp, 49)
9985 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9986 427344 : pack_tmp = ISHFT(pack_tmp, -15)
9987 427344 : idata = idata + 1
9988 427344 : data_tmp = full_data(idata)
9989 427344 : data_tmp = ISHFT(data_tmp, 49)
9990 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9991 427344 : pack_tmp = ISHFT(pack_tmp, -10)
9992 427344 : idata = idata + 1
9993 427344 : data_tmp = full_data(idata)
9994 427344 : data_tmp = ISHFT(data_tmp, 49)
9995 427344 : data_tmp = IAND(data_tmp, mask_left(10))
9996 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
9997 427344 : ipack = ipack + 1
9998 427344 : packed_data(ipack) = pack_tmp
9999 427344 : data_tmp = full_data(idata)
10000 427344 : pack_tmp = ISHFT(data_tmp, 59)
10001 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10002 427344 : idata = idata + 1
10003 427344 : data_tmp = full_data(idata)
10004 427344 : data_tmp = ISHFT(data_tmp, 49)
10005 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10006 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10007 427344 : idata = idata + 1
10008 427344 : data_tmp = full_data(idata)
10009 427344 : data_tmp = ISHFT(data_tmp, 49)
10010 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10011 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10012 427344 : idata = idata + 1
10013 427344 : data_tmp = full_data(idata)
10014 427344 : data_tmp = ISHFT(data_tmp, 49)
10015 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10016 427344 : pack_tmp = ISHFT(pack_tmp, -14)
10017 427344 : idata = idata + 1
10018 427344 : data_tmp = full_data(idata)
10019 427344 : data_tmp = ISHFT(data_tmp, 49)
10020 427344 : data_tmp = IAND(data_tmp, mask_left(14))
10021 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10022 427344 : ipack = ipack + 1
10023 427344 : packed_data(ipack) = pack_tmp
10024 427344 : data_tmp = full_data(idata)
10025 427344 : pack_tmp = ISHFT(data_tmp, 63)
10026 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10027 427344 : idata = idata + 1
10028 427344 : data_tmp = full_data(idata)
10029 427344 : data_tmp = ISHFT(data_tmp, 49)
10030 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10031 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10032 427344 : idata = idata + 1
10033 427344 : data_tmp = full_data(idata)
10034 427344 : data_tmp = ISHFT(data_tmp, 49)
10035 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10036 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10037 427344 : idata = idata + 1
10038 427344 : data_tmp = full_data(idata)
10039 427344 : data_tmp = ISHFT(data_tmp, 49)
10040 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10041 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10042 427344 : idata = idata + 1
10043 427344 : data_tmp = full_data(idata)
10044 427344 : data_tmp = ISHFT(data_tmp, 49)
10045 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10046 427344 : pack_tmp = ISHFT(pack_tmp, -3)
10047 427344 : idata = idata + 1
10048 427344 : data_tmp = full_data(idata)
10049 427344 : data_tmp = ISHFT(data_tmp, 49)
10050 427344 : data_tmp = IAND(data_tmp, mask_left(3))
10051 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10052 427344 : ipack = ipack + 1
10053 427344 : packed_data(ipack) = pack_tmp
10054 427344 : data_tmp = full_data(idata)
10055 427344 : pack_tmp = ISHFT(data_tmp, 52)
10056 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10057 427344 : idata = idata + 1
10058 427344 : data_tmp = full_data(idata)
10059 427344 : data_tmp = ISHFT(data_tmp, 49)
10060 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10061 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10062 427344 : idata = idata + 1
10063 427344 : data_tmp = full_data(idata)
10064 427344 : data_tmp = ISHFT(data_tmp, 49)
10065 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10066 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10067 427344 : idata = idata + 1
10068 427344 : data_tmp = full_data(idata)
10069 427344 : data_tmp = ISHFT(data_tmp, 49)
10070 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10071 427344 : pack_tmp = ISHFT(pack_tmp, -7)
10072 427344 : idata = idata + 1
10073 427344 : data_tmp = full_data(idata)
10074 427344 : data_tmp = ISHFT(data_tmp, 49)
10075 427344 : data_tmp = IAND(data_tmp, mask_left(7))
10076 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10077 427344 : ipack = ipack + 1
10078 427344 : packed_data(ipack) = pack_tmp
10079 427344 : data_tmp = full_data(idata)
10080 427344 : pack_tmp = ISHFT(data_tmp, 56)
10081 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10082 427344 : idata = idata + 1
10083 427344 : data_tmp = full_data(idata)
10084 427344 : data_tmp = ISHFT(data_tmp, 49)
10085 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10086 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10087 427344 : idata = idata + 1
10088 427344 : data_tmp = full_data(idata)
10089 427344 : data_tmp = ISHFT(data_tmp, 49)
10090 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10091 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10092 427344 : idata = idata + 1
10093 427344 : data_tmp = full_data(idata)
10094 427344 : data_tmp = ISHFT(data_tmp, 49)
10095 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10096 427344 : pack_tmp = ISHFT(pack_tmp, -11)
10097 427344 : idata = idata + 1
10098 427344 : data_tmp = full_data(idata)
10099 427344 : data_tmp = ISHFT(data_tmp, 49)
10100 427344 : data_tmp = IAND(data_tmp, mask_left(11))
10101 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10102 427344 : ipack = ipack + 1
10103 427344 : packed_data(ipack) = pack_tmp
10104 427344 : data_tmp = full_data(idata)
10105 427344 : pack_tmp = ISHFT(data_tmp, 60)
10106 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10107 427344 : idata = idata + 1
10108 427344 : data_tmp = full_data(idata)
10109 427344 : data_tmp = ISHFT(data_tmp, 49)
10110 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10111 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10112 427344 : idata = idata + 1
10113 427344 : data_tmp = full_data(idata)
10114 427344 : data_tmp = ISHFT(data_tmp, 49)
10115 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10116 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10117 427344 : idata = idata + 1
10118 427344 : data_tmp = full_data(idata)
10119 427344 : data_tmp = ISHFT(data_tmp, 49)
10120 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10121 427344 : pack_tmp = ISHFT(pack_tmp, -15)
10122 427344 : idata = idata + 1
10123 427344 : data_tmp = full_data(idata)
10124 427344 : data_tmp = ISHFT(data_tmp, 49)
10125 427344 : pack_tmp = IOR(pack_tmp, data_tmp)
10126 : pack_tmp = ISHFT(pack_tmp, 0)
10127 427344 : pack_tmp = ISHFT(pack_tmp, 0)
10128 427344 : ipack = ipack + 1
10129 427427 : packed_data(ipack) = pack_tmp
10130 : END DO
10131 27440 : 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 27440 : END SUBROUTINE ints2bits_15
10135 :
10136 : ! **************************************************************************************************
10137 : !> \brief ...
10138 : !> \param Ndata ...
10139 : !> \param packed_data ...
10140 : !> \param full_data ...
10141 : ! **************************************************************************************************
10142 124919 : 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 124919 : ipack = 0
10153 124919 : idata = 0
10154 124919 : pack_tmp = 0
10155 124919 : Ndata_rep = (Ndata/64)*64
10156 124919 : DO kdata = 1, Ndata_rep, 64
10157 1908689 : idata = idata + 1
10158 1908689 : data_tmp = ISHFT(pack_tmp, 15)
10159 1908689 : ipack = ipack + 1
10160 1908689 : pack_tmp = packed_data(ipack)
10161 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
10162 1908689 : pack_tmp = ISHFT(pack_tmp, -15)
10163 1908689 : idata = idata + 1
10164 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10165 1908689 : full_data(idata) = data_tmp
10166 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10167 1908689 : idata = idata + 1
10168 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10169 1908689 : full_data(idata) = data_tmp
10170 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10171 1908689 : idata = idata + 1
10172 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10173 1908689 : full_data(idata) = data_tmp
10174 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10175 1908689 : idata = idata + 1
10176 1908689 : data_tmp = ISHFT(pack_tmp, 11)
10177 1908689 : ipack = ipack + 1
10178 1908689 : pack_tmp = packed_data(ipack)
10179 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
10180 1908689 : pack_tmp = ISHFT(pack_tmp, -11)
10181 1908689 : idata = idata + 1
10182 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10183 1908689 : full_data(idata) = data_tmp
10184 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10185 1908689 : idata = idata + 1
10186 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10187 1908689 : full_data(idata) = data_tmp
10188 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10189 1908689 : idata = idata + 1
10190 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10191 1908689 : full_data(idata) = data_tmp
10192 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10193 1908689 : idata = idata + 1
10194 1908689 : data_tmp = ISHFT(pack_tmp, 7)
10195 1908689 : ipack = ipack + 1
10196 1908689 : pack_tmp = packed_data(ipack)
10197 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
10198 1908689 : pack_tmp = ISHFT(pack_tmp, -7)
10199 1908689 : idata = idata + 1
10200 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10201 1908689 : full_data(idata) = data_tmp
10202 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10203 1908689 : idata = idata + 1
10204 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10205 1908689 : full_data(idata) = data_tmp
10206 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10207 1908689 : idata = idata + 1
10208 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10209 1908689 : full_data(idata) = data_tmp
10210 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10211 1908689 : idata = idata + 1
10212 1908689 : data_tmp = ISHFT(pack_tmp, 3)
10213 1908689 : ipack = ipack + 1
10214 1908689 : pack_tmp = packed_data(ipack)
10215 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
10216 1908689 : pack_tmp = ISHFT(pack_tmp, -3)
10217 1908689 : idata = idata + 1
10218 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10219 1908689 : full_data(idata) = data_tmp
10220 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10221 1908689 : idata = idata + 1
10222 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10223 1908689 : full_data(idata) = data_tmp
10224 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10225 1908689 : idata = idata + 1
10226 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10227 1908689 : full_data(idata) = data_tmp
10228 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10229 1908689 : idata = idata + 1
10230 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10231 1908689 : full_data(idata) = data_tmp
10232 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10233 1908689 : idata = idata + 1
10234 1908689 : data_tmp = ISHFT(pack_tmp, 14)
10235 1908689 : ipack = ipack + 1
10236 1908689 : pack_tmp = packed_data(ipack)
10237 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
10238 1908689 : pack_tmp = ISHFT(pack_tmp, -14)
10239 1908689 : idata = idata + 1
10240 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10241 1908689 : full_data(idata) = data_tmp
10242 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10243 1908689 : idata = idata + 1
10244 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10245 1908689 : full_data(idata) = data_tmp
10246 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10247 1908689 : idata = idata + 1
10248 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10249 1908689 : full_data(idata) = data_tmp
10250 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10251 1908689 : idata = idata + 1
10252 1908689 : data_tmp = ISHFT(pack_tmp, 10)
10253 1908689 : ipack = ipack + 1
10254 1908689 : pack_tmp = packed_data(ipack)
10255 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
10256 1908689 : pack_tmp = ISHFT(pack_tmp, -10)
10257 1908689 : idata = idata + 1
10258 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10259 1908689 : full_data(idata) = data_tmp
10260 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10261 1908689 : idata = idata + 1
10262 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10263 1908689 : full_data(idata) = data_tmp
10264 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10265 1908689 : idata = idata + 1
10266 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10267 1908689 : full_data(idata) = data_tmp
10268 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10269 1908689 : idata = idata + 1
10270 1908689 : data_tmp = ISHFT(pack_tmp, 6)
10271 1908689 : ipack = ipack + 1
10272 1908689 : pack_tmp = packed_data(ipack)
10273 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
10274 1908689 : pack_tmp = ISHFT(pack_tmp, -6)
10275 1908689 : idata = idata + 1
10276 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10277 1908689 : full_data(idata) = data_tmp
10278 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10279 1908689 : idata = idata + 1
10280 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10281 1908689 : full_data(idata) = data_tmp
10282 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10283 1908689 : idata = idata + 1
10284 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10285 1908689 : full_data(idata) = data_tmp
10286 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10287 1908689 : idata = idata + 1
10288 1908689 : data_tmp = ISHFT(pack_tmp, 2)
10289 1908689 : ipack = ipack + 1
10290 1908689 : pack_tmp = packed_data(ipack)
10291 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
10292 1908689 : pack_tmp = ISHFT(pack_tmp, -2)
10293 1908689 : idata = idata + 1
10294 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10295 1908689 : full_data(idata) = data_tmp
10296 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10297 1908689 : idata = idata + 1
10298 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10299 1908689 : full_data(idata) = data_tmp
10300 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10301 1908689 : idata = idata + 1
10302 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10303 1908689 : full_data(idata) = data_tmp
10304 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10305 1908689 : idata = idata + 1
10306 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10307 1908689 : full_data(idata) = data_tmp
10308 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10309 1908689 : idata = idata + 1
10310 1908689 : data_tmp = ISHFT(pack_tmp, 13)
10311 1908689 : ipack = ipack + 1
10312 1908689 : pack_tmp = packed_data(ipack)
10313 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
10314 1908689 : pack_tmp = ISHFT(pack_tmp, -13)
10315 1908689 : idata = idata + 1
10316 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10317 1908689 : full_data(idata) = data_tmp
10318 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10319 1908689 : idata = idata + 1
10320 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10321 1908689 : full_data(idata) = data_tmp
10322 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10323 1908689 : idata = idata + 1
10324 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10325 1908689 : full_data(idata) = data_tmp
10326 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10327 1908689 : idata = idata + 1
10328 1908689 : data_tmp = ISHFT(pack_tmp, 9)
10329 1908689 : ipack = ipack + 1
10330 1908689 : pack_tmp = packed_data(ipack)
10331 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
10332 1908689 : pack_tmp = ISHFT(pack_tmp, -9)
10333 1908689 : idata = idata + 1
10334 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10335 1908689 : full_data(idata) = data_tmp
10336 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10337 1908689 : idata = idata + 1
10338 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10339 1908689 : full_data(idata) = data_tmp
10340 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10341 1908689 : idata = idata + 1
10342 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10343 1908689 : full_data(idata) = data_tmp
10344 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10345 1908689 : idata = idata + 1
10346 1908689 : data_tmp = ISHFT(pack_tmp, 5)
10347 1908689 : ipack = ipack + 1
10348 1908689 : pack_tmp = packed_data(ipack)
10349 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
10350 1908689 : pack_tmp = ISHFT(pack_tmp, -5)
10351 1908689 : idata = idata + 1
10352 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10353 1908689 : full_data(idata) = data_tmp
10354 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10355 1908689 : idata = idata + 1
10356 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10357 1908689 : full_data(idata) = data_tmp
10358 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10359 1908689 : idata = idata + 1
10360 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10361 1908689 : full_data(idata) = data_tmp
10362 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10363 1908689 : idata = idata + 1
10364 1908689 : data_tmp = ISHFT(pack_tmp, 1)
10365 1908689 : ipack = ipack + 1
10366 1908689 : pack_tmp = packed_data(ipack)
10367 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
10368 1908689 : pack_tmp = ISHFT(pack_tmp, -1)
10369 1908689 : idata = idata + 1
10370 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10371 1908689 : full_data(idata) = data_tmp
10372 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10373 1908689 : idata = idata + 1
10374 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10375 1908689 : full_data(idata) = data_tmp
10376 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10377 1908689 : idata = idata + 1
10378 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10379 1908689 : full_data(idata) = data_tmp
10380 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10381 1908689 : idata = idata + 1
10382 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10383 1908689 : full_data(idata) = data_tmp
10384 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10385 1908689 : idata = idata + 1
10386 1908689 : data_tmp = ISHFT(pack_tmp, 12)
10387 1908689 : ipack = ipack + 1
10388 1908689 : pack_tmp = packed_data(ipack)
10389 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
10390 1908689 : pack_tmp = ISHFT(pack_tmp, -12)
10391 1908689 : idata = idata + 1
10392 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10393 1908689 : full_data(idata) = data_tmp
10394 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10395 1908689 : idata = idata + 1
10396 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10397 1908689 : full_data(idata) = data_tmp
10398 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10399 1908689 : idata = idata + 1
10400 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10401 1908689 : full_data(idata) = data_tmp
10402 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10403 1908689 : idata = idata + 1
10404 1908689 : data_tmp = ISHFT(pack_tmp, 8)
10405 1908689 : ipack = ipack + 1
10406 1908689 : pack_tmp = packed_data(ipack)
10407 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
10408 1908689 : pack_tmp = ISHFT(pack_tmp, -8)
10409 1908689 : idata = idata + 1
10410 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10411 1908689 : full_data(idata) = data_tmp
10412 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10413 1908689 : idata = idata + 1
10414 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10415 1908689 : full_data(idata) = data_tmp
10416 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10417 1908689 : idata = idata + 1
10418 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10419 1908689 : full_data(idata) = data_tmp
10420 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10421 1908689 : idata = idata + 1
10422 1908689 : data_tmp = ISHFT(pack_tmp, 4)
10423 1908689 : ipack = ipack + 1
10424 1908689 : pack_tmp = packed_data(ipack)
10425 1908689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
10426 1908689 : pack_tmp = ISHFT(pack_tmp, -4)
10427 1908689 : idata = idata + 1
10428 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10429 1908689 : full_data(idata) = data_tmp
10430 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10431 1908689 : idata = idata + 1
10432 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10433 1908689 : full_data(idata) = data_tmp
10434 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10435 1908689 : idata = idata + 1
10436 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10437 1908689 : full_data(idata) = data_tmp
10438 1908689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10439 1908689 : idata = idata + 1
10440 1908689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10441 1908689 : full_data(idata) = data_tmp
10442 1909326 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10443 : END DO
10444 124919 : IF (Ndata_rep < Ndata) THEN
10445 10590 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
10446 : END IF
10447 124919 : END SUBROUTINE bits2ints_15
10448 :
10449 : ! **************************************************************************************************
10450 : !> \brief ...
10451 : !> \param Ndata ...
10452 : !> \param packed_data ...
10453 : !> \param full_data ...
10454 : ! **************************************************************************************************
10455 28303 : 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 28303 : idata = 0
10466 28303 : ipack = 0
10467 28303 : Ndata_rep = (Ndata/64)*64
10468 28303 : DO kdata = 1, Ndata_rep, 64
10469 438864 : pack_tmp = 0
10470 438864 : idata = idata + 1
10471 438864 : data_tmp = full_data(idata)
10472 438864 : data_tmp = ISHFT(data_tmp, 48)
10473 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10474 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10475 438864 : idata = idata + 1
10476 438864 : data_tmp = full_data(idata)
10477 438864 : data_tmp = ISHFT(data_tmp, 48)
10478 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10479 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10480 438864 : idata = idata + 1
10481 438864 : data_tmp = full_data(idata)
10482 438864 : data_tmp = ISHFT(data_tmp, 48)
10483 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10484 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10485 438864 : idata = idata + 1
10486 438864 : data_tmp = full_data(idata)
10487 438864 : data_tmp = ISHFT(data_tmp, 48)
10488 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10489 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10490 438864 : idata = idata + 1
10491 438864 : data_tmp = full_data(idata)
10492 : data_tmp = ISHFT(data_tmp, 48)
10493 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10494 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10495 438864 : ipack = ipack + 1
10496 438864 : packed_data(ipack) = pack_tmp
10497 438864 : data_tmp = full_data(idata)
10498 438864 : pack_tmp = ISHFT(data_tmp, 48)
10499 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10500 438864 : idata = idata + 1
10501 438864 : data_tmp = full_data(idata)
10502 438864 : data_tmp = ISHFT(data_tmp, 48)
10503 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10504 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10505 438864 : idata = idata + 1
10506 438864 : data_tmp = full_data(idata)
10507 438864 : data_tmp = ISHFT(data_tmp, 48)
10508 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10509 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10510 438864 : idata = idata + 1
10511 438864 : data_tmp = full_data(idata)
10512 438864 : data_tmp = ISHFT(data_tmp, 48)
10513 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10514 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10515 438864 : idata = idata + 1
10516 438864 : data_tmp = full_data(idata)
10517 : data_tmp = ISHFT(data_tmp, 48)
10518 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10519 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10520 438864 : ipack = ipack + 1
10521 438864 : packed_data(ipack) = pack_tmp
10522 438864 : data_tmp = full_data(idata)
10523 438864 : pack_tmp = ISHFT(data_tmp, 48)
10524 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10525 438864 : idata = idata + 1
10526 438864 : data_tmp = full_data(idata)
10527 438864 : data_tmp = ISHFT(data_tmp, 48)
10528 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10529 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10530 438864 : idata = idata + 1
10531 438864 : data_tmp = full_data(idata)
10532 438864 : data_tmp = ISHFT(data_tmp, 48)
10533 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10534 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10535 438864 : idata = idata + 1
10536 438864 : data_tmp = full_data(idata)
10537 438864 : data_tmp = ISHFT(data_tmp, 48)
10538 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10539 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10540 438864 : idata = idata + 1
10541 438864 : data_tmp = full_data(idata)
10542 : data_tmp = ISHFT(data_tmp, 48)
10543 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10544 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10545 438864 : ipack = ipack + 1
10546 438864 : packed_data(ipack) = pack_tmp
10547 438864 : data_tmp = full_data(idata)
10548 438864 : pack_tmp = ISHFT(data_tmp, 48)
10549 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10550 438864 : idata = idata + 1
10551 438864 : data_tmp = full_data(idata)
10552 438864 : data_tmp = ISHFT(data_tmp, 48)
10553 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10554 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10555 438864 : idata = idata + 1
10556 438864 : data_tmp = full_data(idata)
10557 438864 : data_tmp = ISHFT(data_tmp, 48)
10558 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10559 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10560 438864 : idata = idata + 1
10561 438864 : data_tmp = full_data(idata)
10562 438864 : data_tmp = ISHFT(data_tmp, 48)
10563 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10564 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10565 438864 : idata = idata + 1
10566 438864 : data_tmp = full_data(idata)
10567 : data_tmp = ISHFT(data_tmp, 48)
10568 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10569 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10570 438864 : ipack = ipack + 1
10571 438864 : packed_data(ipack) = pack_tmp
10572 438864 : data_tmp = full_data(idata)
10573 438864 : pack_tmp = ISHFT(data_tmp, 48)
10574 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10575 438864 : idata = idata + 1
10576 438864 : data_tmp = full_data(idata)
10577 438864 : data_tmp = ISHFT(data_tmp, 48)
10578 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10579 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10580 438864 : idata = idata + 1
10581 438864 : data_tmp = full_data(idata)
10582 438864 : data_tmp = ISHFT(data_tmp, 48)
10583 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10584 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10585 438864 : idata = idata + 1
10586 438864 : data_tmp = full_data(idata)
10587 438864 : data_tmp = ISHFT(data_tmp, 48)
10588 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10589 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10590 438864 : idata = idata + 1
10591 438864 : data_tmp = full_data(idata)
10592 : data_tmp = ISHFT(data_tmp, 48)
10593 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10594 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10595 438864 : ipack = ipack + 1
10596 438864 : packed_data(ipack) = pack_tmp
10597 438864 : data_tmp = full_data(idata)
10598 438864 : pack_tmp = ISHFT(data_tmp, 48)
10599 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10600 438864 : idata = idata + 1
10601 438864 : data_tmp = full_data(idata)
10602 438864 : data_tmp = ISHFT(data_tmp, 48)
10603 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10604 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10605 438864 : idata = idata + 1
10606 438864 : data_tmp = full_data(idata)
10607 438864 : data_tmp = ISHFT(data_tmp, 48)
10608 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10609 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10610 438864 : idata = idata + 1
10611 438864 : data_tmp = full_data(idata)
10612 438864 : data_tmp = ISHFT(data_tmp, 48)
10613 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10614 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10615 438864 : idata = idata + 1
10616 438864 : data_tmp = full_data(idata)
10617 : data_tmp = ISHFT(data_tmp, 48)
10618 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10619 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10620 438864 : ipack = ipack + 1
10621 438864 : packed_data(ipack) = pack_tmp
10622 438864 : data_tmp = full_data(idata)
10623 438864 : pack_tmp = ISHFT(data_tmp, 48)
10624 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10625 438864 : idata = idata + 1
10626 438864 : data_tmp = full_data(idata)
10627 438864 : data_tmp = ISHFT(data_tmp, 48)
10628 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10629 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10630 438864 : idata = idata + 1
10631 438864 : data_tmp = full_data(idata)
10632 438864 : data_tmp = ISHFT(data_tmp, 48)
10633 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10634 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10635 438864 : idata = idata + 1
10636 438864 : data_tmp = full_data(idata)
10637 438864 : data_tmp = ISHFT(data_tmp, 48)
10638 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10639 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10640 438864 : idata = idata + 1
10641 438864 : data_tmp = full_data(idata)
10642 : data_tmp = ISHFT(data_tmp, 48)
10643 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10644 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10645 438864 : ipack = ipack + 1
10646 438864 : packed_data(ipack) = pack_tmp
10647 438864 : data_tmp = full_data(idata)
10648 438864 : pack_tmp = ISHFT(data_tmp, 48)
10649 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10650 438864 : idata = idata + 1
10651 438864 : data_tmp = full_data(idata)
10652 438864 : data_tmp = ISHFT(data_tmp, 48)
10653 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10654 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10655 438864 : idata = idata + 1
10656 438864 : data_tmp = full_data(idata)
10657 438864 : data_tmp = ISHFT(data_tmp, 48)
10658 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10659 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10660 438864 : idata = idata + 1
10661 438864 : data_tmp = full_data(idata)
10662 438864 : data_tmp = ISHFT(data_tmp, 48)
10663 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10664 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10665 438864 : idata = idata + 1
10666 438864 : data_tmp = full_data(idata)
10667 : data_tmp = ISHFT(data_tmp, 48)
10668 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10669 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10670 438864 : ipack = ipack + 1
10671 438864 : packed_data(ipack) = pack_tmp
10672 438864 : data_tmp = full_data(idata)
10673 438864 : pack_tmp = ISHFT(data_tmp, 48)
10674 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10675 438864 : idata = idata + 1
10676 438864 : data_tmp = full_data(idata)
10677 438864 : data_tmp = ISHFT(data_tmp, 48)
10678 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10679 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10680 438864 : idata = idata + 1
10681 438864 : data_tmp = full_data(idata)
10682 438864 : data_tmp = ISHFT(data_tmp, 48)
10683 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10684 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10685 438864 : idata = idata + 1
10686 438864 : data_tmp = full_data(idata)
10687 438864 : data_tmp = ISHFT(data_tmp, 48)
10688 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10689 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10690 438864 : idata = idata + 1
10691 438864 : data_tmp = full_data(idata)
10692 : data_tmp = ISHFT(data_tmp, 48)
10693 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10694 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10695 438864 : ipack = ipack + 1
10696 438864 : packed_data(ipack) = pack_tmp
10697 438864 : data_tmp = full_data(idata)
10698 438864 : pack_tmp = ISHFT(data_tmp, 48)
10699 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10700 438864 : idata = idata + 1
10701 438864 : data_tmp = full_data(idata)
10702 438864 : data_tmp = ISHFT(data_tmp, 48)
10703 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10704 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10705 438864 : idata = idata + 1
10706 438864 : data_tmp = full_data(idata)
10707 438864 : data_tmp = ISHFT(data_tmp, 48)
10708 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10709 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10710 438864 : idata = idata + 1
10711 438864 : data_tmp = full_data(idata)
10712 438864 : data_tmp = ISHFT(data_tmp, 48)
10713 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10714 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10715 438864 : idata = idata + 1
10716 438864 : data_tmp = full_data(idata)
10717 : data_tmp = ISHFT(data_tmp, 48)
10718 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10719 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10720 438864 : ipack = ipack + 1
10721 438864 : packed_data(ipack) = pack_tmp
10722 438864 : data_tmp = full_data(idata)
10723 438864 : pack_tmp = ISHFT(data_tmp, 48)
10724 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10725 438864 : idata = idata + 1
10726 438864 : data_tmp = full_data(idata)
10727 438864 : data_tmp = ISHFT(data_tmp, 48)
10728 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10729 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10730 438864 : idata = idata + 1
10731 438864 : data_tmp = full_data(idata)
10732 438864 : data_tmp = ISHFT(data_tmp, 48)
10733 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10734 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10735 438864 : idata = idata + 1
10736 438864 : data_tmp = full_data(idata)
10737 438864 : data_tmp = ISHFT(data_tmp, 48)
10738 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10739 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10740 438864 : idata = idata + 1
10741 438864 : data_tmp = full_data(idata)
10742 : data_tmp = ISHFT(data_tmp, 48)
10743 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10744 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10745 438864 : ipack = ipack + 1
10746 438864 : packed_data(ipack) = pack_tmp
10747 438864 : data_tmp = full_data(idata)
10748 438864 : pack_tmp = ISHFT(data_tmp, 48)
10749 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10750 438864 : idata = idata + 1
10751 438864 : data_tmp = full_data(idata)
10752 438864 : data_tmp = ISHFT(data_tmp, 48)
10753 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10754 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10755 438864 : idata = idata + 1
10756 438864 : data_tmp = full_data(idata)
10757 438864 : data_tmp = ISHFT(data_tmp, 48)
10758 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10759 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10760 438864 : idata = idata + 1
10761 438864 : data_tmp = full_data(idata)
10762 438864 : data_tmp = ISHFT(data_tmp, 48)
10763 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10764 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10765 438864 : idata = idata + 1
10766 438864 : data_tmp = full_data(idata)
10767 : data_tmp = ISHFT(data_tmp, 48)
10768 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10769 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10770 438864 : ipack = ipack + 1
10771 438864 : packed_data(ipack) = pack_tmp
10772 438864 : data_tmp = full_data(idata)
10773 438864 : pack_tmp = ISHFT(data_tmp, 48)
10774 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10775 438864 : idata = idata + 1
10776 438864 : data_tmp = full_data(idata)
10777 438864 : data_tmp = ISHFT(data_tmp, 48)
10778 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10779 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10780 438864 : idata = idata + 1
10781 438864 : data_tmp = full_data(idata)
10782 438864 : data_tmp = ISHFT(data_tmp, 48)
10783 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10784 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10785 438864 : idata = idata + 1
10786 438864 : data_tmp = full_data(idata)
10787 438864 : data_tmp = ISHFT(data_tmp, 48)
10788 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10789 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10790 438864 : idata = idata + 1
10791 438864 : data_tmp = full_data(idata)
10792 : data_tmp = ISHFT(data_tmp, 48)
10793 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10794 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10795 438864 : ipack = ipack + 1
10796 438864 : packed_data(ipack) = pack_tmp
10797 438864 : data_tmp = full_data(idata)
10798 438864 : pack_tmp = ISHFT(data_tmp, 48)
10799 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10800 438864 : idata = idata + 1
10801 438864 : data_tmp = full_data(idata)
10802 438864 : data_tmp = ISHFT(data_tmp, 48)
10803 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10804 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10805 438864 : idata = idata + 1
10806 438864 : data_tmp = full_data(idata)
10807 438864 : data_tmp = ISHFT(data_tmp, 48)
10808 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10809 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10810 438864 : idata = idata + 1
10811 438864 : data_tmp = full_data(idata)
10812 438864 : data_tmp = ISHFT(data_tmp, 48)
10813 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10814 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10815 438864 : idata = idata + 1
10816 438864 : data_tmp = full_data(idata)
10817 : data_tmp = ISHFT(data_tmp, 48)
10818 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10819 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10820 438864 : ipack = ipack + 1
10821 438864 : packed_data(ipack) = pack_tmp
10822 438864 : data_tmp = full_data(idata)
10823 438864 : pack_tmp = ISHFT(data_tmp, 48)
10824 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10825 438864 : idata = idata + 1
10826 438864 : data_tmp = full_data(idata)
10827 438864 : data_tmp = ISHFT(data_tmp, 48)
10828 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10829 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10830 438864 : idata = idata + 1
10831 438864 : data_tmp = full_data(idata)
10832 438864 : data_tmp = ISHFT(data_tmp, 48)
10833 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10834 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10835 438864 : idata = idata + 1
10836 438864 : data_tmp = full_data(idata)
10837 438864 : data_tmp = ISHFT(data_tmp, 48)
10838 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10839 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10840 438864 : idata = idata + 1
10841 438864 : data_tmp = full_data(idata)
10842 : data_tmp = ISHFT(data_tmp, 48)
10843 438864 : data_tmp = IAND(data_tmp, mask_left(0))
10844 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10845 438864 : ipack = ipack + 1
10846 438864 : packed_data(ipack) = pack_tmp
10847 438864 : data_tmp = full_data(idata)
10848 438864 : pack_tmp = ISHFT(data_tmp, 48)
10849 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10850 438864 : idata = idata + 1
10851 438864 : data_tmp = full_data(idata)
10852 438864 : data_tmp = ISHFT(data_tmp, 48)
10853 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10854 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10855 438864 : idata = idata + 1
10856 438864 : data_tmp = full_data(idata)
10857 438864 : data_tmp = ISHFT(data_tmp, 48)
10858 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10859 438864 : pack_tmp = ISHFT(pack_tmp, -16)
10860 438864 : idata = idata + 1
10861 438864 : data_tmp = full_data(idata)
10862 438864 : data_tmp = ISHFT(data_tmp, 48)
10863 438864 : pack_tmp = IOR(pack_tmp, data_tmp)
10864 : pack_tmp = ISHFT(pack_tmp, 0)
10865 438864 : pack_tmp = ISHFT(pack_tmp, 0)
10866 438864 : ipack = ipack + 1
10867 439738 : packed_data(ipack) = pack_tmp
10868 : END DO
10869 28303 : 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 28303 : END SUBROUTINE ints2bits_16
10873 :
10874 : ! **************************************************************************************************
10875 : !> \brief ...
10876 : !> \param Ndata ...
10877 : !> \param packed_data ...
10878 : !> \param full_data ...
10879 : ! **************************************************************************************************
10880 137247 : 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 137247 : ipack = 0
10891 137247 : idata = 0
10892 137247 : pack_tmp = 0
10893 137247 : Ndata_rep = (Ndata/64)*64
10894 137247 : DO kdata = 1, Ndata_rep, 64
10895 2070688 : idata = idata + 1
10896 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10897 2070688 : ipack = ipack + 1
10898 2070688 : pack_tmp = packed_data(ipack)
10899 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10900 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10901 2070688 : idata = idata + 1
10902 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10903 2070688 : full_data(idata) = data_tmp
10904 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10905 2070688 : idata = idata + 1
10906 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10907 2070688 : full_data(idata) = data_tmp
10908 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10909 2070688 : idata = idata + 1
10910 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10911 2070688 : full_data(idata) = data_tmp
10912 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10913 2070688 : idata = idata + 1
10914 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10915 2070688 : ipack = ipack + 1
10916 2070688 : pack_tmp = packed_data(ipack)
10917 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10918 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10919 2070688 : idata = idata + 1
10920 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10921 2070688 : full_data(idata) = data_tmp
10922 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10923 2070688 : idata = idata + 1
10924 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10925 2070688 : full_data(idata) = data_tmp
10926 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10927 2070688 : idata = idata + 1
10928 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10929 2070688 : full_data(idata) = data_tmp
10930 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10931 2070688 : idata = idata + 1
10932 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10933 2070688 : ipack = ipack + 1
10934 2070688 : pack_tmp = packed_data(ipack)
10935 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10936 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10937 2070688 : idata = idata + 1
10938 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10939 2070688 : full_data(idata) = data_tmp
10940 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10941 2070688 : idata = idata + 1
10942 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10943 2070688 : full_data(idata) = data_tmp
10944 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10945 2070688 : idata = idata + 1
10946 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10947 2070688 : full_data(idata) = data_tmp
10948 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10949 2070688 : idata = idata + 1
10950 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10951 2070688 : ipack = ipack + 1
10952 2070688 : pack_tmp = packed_data(ipack)
10953 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10954 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10955 2070688 : idata = idata + 1
10956 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10957 2070688 : full_data(idata) = data_tmp
10958 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10959 2070688 : idata = idata + 1
10960 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10961 2070688 : full_data(idata) = data_tmp
10962 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10963 2070688 : idata = idata + 1
10964 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10965 2070688 : full_data(idata) = data_tmp
10966 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10967 2070688 : idata = idata + 1
10968 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10969 2070688 : ipack = ipack + 1
10970 2070688 : pack_tmp = packed_data(ipack)
10971 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10972 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10973 2070688 : idata = idata + 1
10974 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10975 2070688 : full_data(idata) = data_tmp
10976 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10977 2070688 : idata = idata + 1
10978 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10979 2070688 : full_data(idata) = data_tmp
10980 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10981 2070688 : idata = idata + 1
10982 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10983 2070688 : full_data(idata) = data_tmp
10984 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10985 2070688 : idata = idata + 1
10986 2070688 : data_tmp = ISHFT(pack_tmp, 16)
10987 2070688 : ipack = ipack + 1
10988 2070688 : pack_tmp = packed_data(ipack)
10989 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10990 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
10991 2070688 : idata = idata + 1
10992 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10993 2070688 : full_data(idata) = data_tmp
10994 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10995 2070688 : idata = idata + 1
10996 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10997 2070688 : full_data(idata) = data_tmp
10998 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10999 2070688 : idata = idata + 1
11000 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11001 2070688 : full_data(idata) = data_tmp
11002 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11003 2070688 : idata = idata + 1
11004 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11005 2070688 : ipack = ipack + 1
11006 2070688 : pack_tmp = packed_data(ipack)
11007 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11008 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11009 2070688 : idata = idata + 1
11010 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11011 2070688 : full_data(idata) = data_tmp
11012 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11013 2070688 : idata = idata + 1
11014 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11015 2070688 : full_data(idata) = data_tmp
11016 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11017 2070688 : idata = idata + 1
11018 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11019 2070688 : full_data(idata) = data_tmp
11020 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11021 2070688 : idata = idata + 1
11022 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11023 2070688 : ipack = ipack + 1
11024 2070688 : pack_tmp = packed_data(ipack)
11025 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11026 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11027 2070688 : idata = idata + 1
11028 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11029 2070688 : full_data(idata) = data_tmp
11030 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11031 2070688 : idata = idata + 1
11032 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11033 2070688 : full_data(idata) = data_tmp
11034 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11035 2070688 : idata = idata + 1
11036 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11037 2070688 : full_data(idata) = data_tmp
11038 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11039 2070688 : idata = idata + 1
11040 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11041 2070688 : ipack = ipack + 1
11042 2070688 : pack_tmp = packed_data(ipack)
11043 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11044 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11045 2070688 : idata = idata + 1
11046 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11047 2070688 : full_data(idata) = data_tmp
11048 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11049 2070688 : idata = idata + 1
11050 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11051 2070688 : full_data(idata) = data_tmp
11052 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11053 2070688 : idata = idata + 1
11054 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11055 2070688 : full_data(idata) = data_tmp
11056 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11057 2070688 : idata = idata + 1
11058 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11059 2070688 : ipack = ipack + 1
11060 2070688 : pack_tmp = packed_data(ipack)
11061 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11062 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11063 2070688 : idata = idata + 1
11064 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11065 2070688 : full_data(idata) = data_tmp
11066 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11067 2070688 : idata = idata + 1
11068 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11069 2070688 : full_data(idata) = data_tmp
11070 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11071 2070688 : idata = idata + 1
11072 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11073 2070688 : full_data(idata) = data_tmp
11074 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11075 2070688 : idata = idata + 1
11076 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11077 2070688 : ipack = ipack + 1
11078 2070688 : pack_tmp = packed_data(ipack)
11079 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11080 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11081 2070688 : idata = idata + 1
11082 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11083 2070688 : full_data(idata) = data_tmp
11084 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11085 2070688 : idata = idata + 1
11086 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11087 2070688 : full_data(idata) = data_tmp
11088 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11089 2070688 : idata = idata + 1
11090 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11091 2070688 : full_data(idata) = data_tmp
11092 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11093 2070688 : idata = idata + 1
11094 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11095 2070688 : ipack = ipack + 1
11096 2070688 : pack_tmp = packed_data(ipack)
11097 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11098 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11099 2070688 : idata = idata + 1
11100 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11101 2070688 : full_data(idata) = data_tmp
11102 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11103 2070688 : idata = idata + 1
11104 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11105 2070688 : full_data(idata) = data_tmp
11106 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11107 2070688 : idata = idata + 1
11108 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11109 2070688 : full_data(idata) = data_tmp
11110 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11111 2070688 : idata = idata + 1
11112 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11113 2070688 : ipack = ipack + 1
11114 2070688 : pack_tmp = packed_data(ipack)
11115 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11116 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11117 2070688 : idata = idata + 1
11118 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11119 2070688 : full_data(idata) = data_tmp
11120 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11121 2070688 : idata = idata + 1
11122 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11123 2070688 : full_data(idata) = data_tmp
11124 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11125 2070688 : idata = idata + 1
11126 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11127 2070688 : full_data(idata) = data_tmp
11128 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11129 2070688 : idata = idata + 1
11130 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11131 2070688 : ipack = ipack + 1
11132 2070688 : pack_tmp = packed_data(ipack)
11133 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11134 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11135 2070688 : idata = idata + 1
11136 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11137 2070688 : full_data(idata) = data_tmp
11138 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11139 2070688 : idata = idata + 1
11140 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11141 2070688 : full_data(idata) = data_tmp
11142 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11143 2070688 : idata = idata + 1
11144 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11145 2070688 : full_data(idata) = data_tmp
11146 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11147 2070688 : idata = idata + 1
11148 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11149 2070688 : ipack = ipack + 1
11150 2070688 : pack_tmp = packed_data(ipack)
11151 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11152 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11153 2070688 : idata = idata + 1
11154 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11155 2070688 : full_data(idata) = data_tmp
11156 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11157 2070688 : idata = idata + 1
11158 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11159 2070688 : full_data(idata) = data_tmp
11160 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11161 2070688 : idata = idata + 1
11162 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11163 2070688 : full_data(idata) = data_tmp
11164 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11165 2070688 : idata = idata + 1
11166 2070688 : data_tmp = ISHFT(pack_tmp, 16)
11167 2070688 : ipack = ipack + 1
11168 2070688 : pack_tmp = packed_data(ipack)
11169 2070688 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11170 2070688 : pack_tmp = ISHFT(pack_tmp, -16)
11171 2070688 : idata = idata + 1
11172 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11173 2070688 : full_data(idata) = data_tmp
11174 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11175 2070688 : idata = idata + 1
11176 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11177 2070688 : full_data(idata) = data_tmp
11178 2070688 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11179 2070688 : idata = idata + 1
11180 2070688 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11181 2070688 : full_data(idata) = data_tmp
11182 2078517 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11183 : END DO
11184 137247 : 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 137247 : END SUBROUTINE bits2ints_16
11188 :
11189 : ! **************************************************************************************************
11190 : !> \brief ...
11191 : !> \param Ndata ...
11192 : !> \param packed_data ...
11193 : !> \param full_data ...
11194 : ! **************************************************************************************************
11195 31815 : 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 31815 : idata = 0
11206 31815 : ipack = 0
11207 31815 : Ndata_rep = (Ndata/64)*64
11208 31815 : DO kdata = 1, Ndata_rep, 64
11209 481368 : pack_tmp = 0
11210 481368 : idata = idata + 1
11211 481368 : data_tmp = full_data(idata)
11212 481368 : data_tmp = ISHFT(data_tmp, 47)
11213 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11214 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11215 481368 : idata = idata + 1
11216 481368 : data_tmp = full_data(idata)
11217 481368 : data_tmp = ISHFT(data_tmp, 47)
11218 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11219 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11220 481368 : idata = idata + 1
11221 481368 : data_tmp = full_data(idata)
11222 481368 : data_tmp = ISHFT(data_tmp, 47)
11223 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11224 481368 : pack_tmp = ISHFT(pack_tmp, -13)
11225 481368 : idata = idata + 1
11226 481368 : data_tmp = full_data(idata)
11227 481368 : data_tmp = ISHFT(data_tmp, 47)
11228 481368 : data_tmp = IAND(data_tmp, mask_left(13))
11229 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11230 481368 : ipack = ipack + 1
11231 481368 : packed_data(ipack) = pack_tmp
11232 481368 : data_tmp = full_data(idata)
11233 481368 : pack_tmp = ISHFT(data_tmp, 60)
11234 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11235 481368 : idata = idata + 1
11236 481368 : data_tmp = full_data(idata)
11237 481368 : data_tmp = ISHFT(data_tmp, 47)
11238 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11239 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11240 481368 : idata = idata + 1
11241 481368 : data_tmp = full_data(idata)
11242 481368 : data_tmp = ISHFT(data_tmp, 47)
11243 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11244 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11245 481368 : idata = idata + 1
11246 481368 : data_tmp = full_data(idata)
11247 481368 : data_tmp = ISHFT(data_tmp, 47)
11248 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11249 481368 : pack_tmp = ISHFT(pack_tmp, -9)
11250 481368 : idata = idata + 1
11251 481368 : data_tmp = full_data(idata)
11252 481368 : data_tmp = ISHFT(data_tmp, 47)
11253 481368 : data_tmp = IAND(data_tmp, mask_left(9))
11254 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11255 481368 : ipack = ipack + 1
11256 481368 : packed_data(ipack) = pack_tmp
11257 481368 : data_tmp = full_data(idata)
11258 481368 : pack_tmp = ISHFT(data_tmp, 56)
11259 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11260 481368 : idata = idata + 1
11261 481368 : data_tmp = full_data(idata)
11262 481368 : data_tmp = ISHFT(data_tmp, 47)
11263 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11264 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11265 481368 : idata = idata + 1
11266 481368 : data_tmp = full_data(idata)
11267 481368 : data_tmp = ISHFT(data_tmp, 47)
11268 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11269 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11270 481368 : idata = idata + 1
11271 481368 : data_tmp = full_data(idata)
11272 481368 : data_tmp = ISHFT(data_tmp, 47)
11273 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11274 481368 : pack_tmp = ISHFT(pack_tmp, -5)
11275 481368 : idata = idata + 1
11276 481368 : data_tmp = full_data(idata)
11277 481368 : data_tmp = ISHFT(data_tmp, 47)
11278 481368 : data_tmp = IAND(data_tmp, mask_left(5))
11279 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11280 481368 : ipack = ipack + 1
11281 481368 : packed_data(ipack) = pack_tmp
11282 481368 : data_tmp = full_data(idata)
11283 481368 : pack_tmp = ISHFT(data_tmp, 52)
11284 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11285 481368 : idata = idata + 1
11286 481368 : data_tmp = full_data(idata)
11287 481368 : data_tmp = ISHFT(data_tmp, 47)
11288 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11289 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11290 481368 : idata = idata + 1
11291 481368 : data_tmp = full_data(idata)
11292 481368 : data_tmp = ISHFT(data_tmp, 47)
11293 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11294 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11295 481368 : idata = idata + 1
11296 481368 : data_tmp = full_data(idata)
11297 481368 : data_tmp = ISHFT(data_tmp, 47)
11298 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11299 481368 : pack_tmp = ISHFT(pack_tmp, -1)
11300 481368 : idata = idata + 1
11301 481368 : data_tmp = full_data(idata)
11302 481368 : data_tmp = ISHFT(data_tmp, 47)
11303 481368 : data_tmp = IAND(data_tmp, mask_left(1))
11304 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11305 481368 : ipack = ipack + 1
11306 481368 : packed_data(ipack) = pack_tmp
11307 481368 : data_tmp = full_data(idata)
11308 481368 : pack_tmp = ISHFT(data_tmp, 48)
11309 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11310 481368 : idata = idata + 1
11311 481368 : data_tmp = full_data(idata)
11312 481368 : data_tmp = ISHFT(data_tmp, 47)
11313 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11314 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11315 481368 : idata = idata + 1
11316 481368 : data_tmp = full_data(idata)
11317 481368 : data_tmp = ISHFT(data_tmp, 47)
11318 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11319 481368 : pack_tmp = ISHFT(pack_tmp, -14)
11320 481368 : idata = idata + 1
11321 481368 : data_tmp = full_data(idata)
11322 481368 : data_tmp = ISHFT(data_tmp, 47)
11323 481368 : data_tmp = IAND(data_tmp, mask_left(14))
11324 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11325 481368 : ipack = ipack + 1
11326 481368 : packed_data(ipack) = pack_tmp
11327 481368 : data_tmp = full_data(idata)
11328 481368 : pack_tmp = ISHFT(data_tmp, 61)
11329 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11330 481368 : idata = idata + 1
11331 481368 : data_tmp = full_data(idata)
11332 481368 : data_tmp = ISHFT(data_tmp, 47)
11333 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11334 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11335 481368 : idata = idata + 1
11336 481368 : data_tmp = full_data(idata)
11337 481368 : data_tmp = ISHFT(data_tmp, 47)
11338 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11339 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11340 481368 : idata = idata + 1
11341 481368 : data_tmp = full_data(idata)
11342 481368 : data_tmp = ISHFT(data_tmp, 47)
11343 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11344 481368 : pack_tmp = ISHFT(pack_tmp, -10)
11345 481368 : idata = idata + 1
11346 481368 : data_tmp = full_data(idata)
11347 481368 : data_tmp = ISHFT(data_tmp, 47)
11348 481368 : data_tmp = IAND(data_tmp, mask_left(10))
11349 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11350 481368 : ipack = ipack + 1
11351 481368 : packed_data(ipack) = pack_tmp
11352 481368 : data_tmp = full_data(idata)
11353 481368 : pack_tmp = ISHFT(data_tmp, 57)
11354 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11355 481368 : idata = idata + 1
11356 481368 : data_tmp = full_data(idata)
11357 481368 : data_tmp = ISHFT(data_tmp, 47)
11358 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11359 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11360 481368 : idata = idata + 1
11361 481368 : data_tmp = full_data(idata)
11362 481368 : data_tmp = ISHFT(data_tmp, 47)
11363 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11364 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11365 481368 : idata = idata + 1
11366 481368 : data_tmp = full_data(idata)
11367 481368 : data_tmp = ISHFT(data_tmp, 47)
11368 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11369 481368 : pack_tmp = ISHFT(pack_tmp, -6)
11370 481368 : idata = idata + 1
11371 481368 : data_tmp = full_data(idata)
11372 481368 : data_tmp = ISHFT(data_tmp, 47)
11373 481368 : data_tmp = IAND(data_tmp, mask_left(6))
11374 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11375 481368 : ipack = ipack + 1
11376 481368 : packed_data(ipack) = pack_tmp
11377 481368 : data_tmp = full_data(idata)
11378 481368 : pack_tmp = ISHFT(data_tmp, 53)
11379 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11380 481368 : idata = idata + 1
11381 481368 : data_tmp = full_data(idata)
11382 481368 : data_tmp = ISHFT(data_tmp, 47)
11383 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11384 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11385 481368 : idata = idata + 1
11386 481368 : data_tmp = full_data(idata)
11387 481368 : data_tmp = ISHFT(data_tmp, 47)
11388 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11389 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11390 481368 : idata = idata + 1
11391 481368 : data_tmp = full_data(idata)
11392 481368 : data_tmp = ISHFT(data_tmp, 47)
11393 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11394 481368 : pack_tmp = ISHFT(pack_tmp, -2)
11395 481368 : idata = idata + 1
11396 481368 : data_tmp = full_data(idata)
11397 481368 : data_tmp = ISHFT(data_tmp, 47)
11398 481368 : data_tmp = IAND(data_tmp, mask_left(2))
11399 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11400 481368 : ipack = ipack + 1
11401 481368 : packed_data(ipack) = pack_tmp
11402 481368 : data_tmp = full_data(idata)
11403 481368 : pack_tmp = ISHFT(data_tmp, 49)
11404 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11405 481368 : idata = idata + 1
11406 481368 : data_tmp = full_data(idata)
11407 481368 : data_tmp = ISHFT(data_tmp, 47)
11408 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11409 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11410 481368 : idata = idata + 1
11411 481368 : data_tmp = full_data(idata)
11412 481368 : data_tmp = ISHFT(data_tmp, 47)
11413 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11414 481368 : pack_tmp = ISHFT(pack_tmp, -15)
11415 481368 : idata = idata + 1
11416 481368 : data_tmp = full_data(idata)
11417 481368 : data_tmp = ISHFT(data_tmp, 47)
11418 481368 : data_tmp = IAND(data_tmp, mask_left(15))
11419 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11420 481368 : ipack = ipack + 1
11421 481368 : packed_data(ipack) = pack_tmp
11422 481368 : data_tmp = full_data(idata)
11423 481368 : pack_tmp = ISHFT(data_tmp, 62)
11424 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11425 481368 : idata = idata + 1
11426 481368 : data_tmp = full_data(idata)
11427 481368 : data_tmp = ISHFT(data_tmp, 47)
11428 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11429 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11430 481368 : idata = idata + 1
11431 481368 : data_tmp = full_data(idata)
11432 481368 : data_tmp = ISHFT(data_tmp, 47)
11433 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11434 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11435 481368 : idata = idata + 1
11436 481368 : data_tmp = full_data(idata)
11437 481368 : data_tmp = ISHFT(data_tmp, 47)
11438 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11439 481368 : pack_tmp = ISHFT(pack_tmp, -11)
11440 481368 : idata = idata + 1
11441 481368 : data_tmp = full_data(idata)
11442 481368 : data_tmp = ISHFT(data_tmp, 47)
11443 481368 : data_tmp = IAND(data_tmp, mask_left(11))
11444 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11445 481368 : ipack = ipack + 1
11446 481368 : packed_data(ipack) = pack_tmp
11447 481368 : data_tmp = full_data(idata)
11448 481368 : pack_tmp = ISHFT(data_tmp, 58)
11449 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11450 481368 : idata = idata + 1
11451 481368 : data_tmp = full_data(idata)
11452 481368 : data_tmp = ISHFT(data_tmp, 47)
11453 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11454 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11455 481368 : idata = idata + 1
11456 481368 : data_tmp = full_data(idata)
11457 481368 : data_tmp = ISHFT(data_tmp, 47)
11458 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11459 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11460 481368 : idata = idata + 1
11461 481368 : data_tmp = full_data(idata)
11462 481368 : data_tmp = ISHFT(data_tmp, 47)
11463 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11464 481368 : pack_tmp = ISHFT(pack_tmp, -7)
11465 481368 : idata = idata + 1
11466 481368 : data_tmp = full_data(idata)
11467 481368 : data_tmp = ISHFT(data_tmp, 47)
11468 481368 : data_tmp = IAND(data_tmp, mask_left(7))
11469 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11470 481368 : ipack = ipack + 1
11471 481368 : packed_data(ipack) = pack_tmp
11472 481368 : data_tmp = full_data(idata)
11473 481368 : pack_tmp = ISHFT(data_tmp, 54)
11474 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11475 481368 : idata = idata + 1
11476 481368 : data_tmp = full_data(idata)
11477 481368 : data_tmp = ISHFT(data_tmp, 47)
11478 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11479 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11480 481368 : idata = idata + 1
11481 481368 : data_tmp = full_data(idata)
11482 481368 : data_tmp = ISHFT(data_tmp, 47)
11483 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11484 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11485 481368 : idata = idata + 1
11486 481368 : data_tmp = full_data(idata)
11487 481368 : data_tmp = ISHFT(data_tmp, 47)
11488 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11489 481368 : pack_tmp = ISHFT(pack_tmp, -3)
11490 481368 : idata = idata + 1
11491 481368 : data_tmp = full_data(idata)
11492 481368 : data_tmp = ISHFT(data_tmp, 47)
11493 481368 : data_tmp = IAND(data_tmp, mask_left(3))
11494 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11495 481368 : ipack = ipack + 1
11496 481368 : packed_data(ipack) = pack_tmp
11497 481368 : data_tmp = full_data(idata)
11498 481368 : pack_tmp = ISHFT(data_tmp, 50)
11499 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11500 481368 : idata = idata + 1
11501 481368 : data_tmp = full_data(idata)
11502 481368 : data_tmp = ISHFT(data_tmp, 47)
11503 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11504 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11505 481368 : idata = idata + 1
11506 481368 : data_tmp = full_data(idata)
11507 481368 : data_tmp = ISHFT(data_tmp, 47)
11508 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11509 481368 : pack_tmp = ISHFT(pack_tmp, -16)
11510 481368 : idata = idata + 1
11511 481368 : data_tmp = full_data(idata)
11512 481368 : data_tmp = ISHFT(data_tmp, 47)
11513 481368 : data_tmp = IAND(data_tmp, mask_left(16))
11514 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11515 481368 : ipack = ipack + 1
11516 481368 : packed_data(ipack) = pack_tmp
11517 481368 : data_tmp = full_data(idata)
11518 481368 : pack_tmp = ISHFT(data_tmp, 63)
11519 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11520 481368 : idata = idata + 1
11521 481368 : data_tmp = full_data(idata)
11522 481368 : data_tmp = ISHFT(data_tmp, 47)
11523 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11524 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11525 481368 : idata = idata + 1
11526 481368 : data_tmp = full_data(idata)
11527 481368 : data_tmp = ISHFT(data_tmp, 47)
11528 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11529 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11530 481368 : idata = idata + 1
11531 481368 : data_tmp = full_data(idata)
11532 481368 : data_tmp = ISHFT(data_tmp, 47)
11533 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11534 481368 : pack_tmp = ISHFT(pack_tmp, -12)
11535 481368 : idata = idata + 1
11536 481368 : data_tmp = full_data(idata)
11537 481368 : data_tmp = ISHFT(data_tmp, 47)
11538 481368 : data_tmp = IAND(data_tmp, mask_left(12))
11539 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11540 481368 : ipack = ipack + 1
11541 481368 : packed_data(ipack) = pack_tmp
11542 481368 : data_tmp = full_data(idata)
11543 481368 : pack_tmp = ISHFT(data_tmp, 59)
11544 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11545 481368 : idata = idata + 1
11546 481368 : data_tmp = full_data(idata)
11547 481368 : data_tmp = ISHFT(data_tmp, 47)
11548 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11549 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11550 481368 : idata = idata + 1
11551 481368 : data_tmp = full_data(idata)
11552 481368 : data_tmp = ISHFT(data_tmp, 47)
11553 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11554 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11555 481368 : idata = idata + 1
11556 481368 : data_tmp = full_data(idata)
11557 481368 : data_tmp = ISHFT(data_tmp, 47)
11558 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11559 481368 : pack_tmp = ISHFT(pack_tmp, -8)
11560 481368 : idata = idata + 1
11561 481368 : data_tmp = full_data(idata)
11562 481368 : data_tmp = ISHFT(data_tmp, 47)
11563 481368 : data_tmp = IAND(data_tmp, mask_left(8))
11564 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11565 481368 : ipack = ipack + 1
11566 481368 : packed_data(ipack) = pack_tmp
11567 481368 : data_tmp = full_data(idata)
11568 481368 : pack_tmp = ISHFT(data_tmp, 55)
11569 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11570 481368 : idata = idata + 1
11571 481368 : data_tmp = full_data(idata)
11572 481368 : data_tmp = ISHFT(data_tmp, 47)
11573 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11574 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11575 481368 : idata = idata + 1
11576 481368 : data_tmp = full_data(idata)
11577 481368 : data_tmp = ISHFT(data_tmp, 47)
11578 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11579 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11580 481368 : idata = idata + 1
11581 481368 : data_tmp = full_data(idata)
11582 481368 : data_tmp = ISHFT(data_tmp, 47)
11583 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11584 481368 : pack_tmp = ISHFT(pack_tmp, -4)
11585 481368 : idata = idata + 1
11586 481368 : data_tmp = full_data(idata)
11587 481368 : data_tmp = ISHFT(data_tmp, 47)
11588 481368 : data_tmp = IAND(data_tmp, mask_left(4))
11589 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11590 481368 : ipack = ipack + 1
11591 481368 : packed_data(ipack) = pack_tmp
11592 481368 : data_tmp = full_data(idata)
11593 481368 : pack_tmp = ISHFT(data_tmp, 51)
11594 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11595 481368 : idata = idata + 1
11596 481368 : data_tmp = full_data(idata)
11597 481368 : data_tmp = ISHFT(data_tmp, 47)
11598 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11599 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11600 481368 : idata = idata + 1
11601 481368 : data_tmp = full_data(idata)
11602 481368 : data_tmp = ISHFT(data_tmp, 47)
11603 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11604 481368 : pack_tmp = ISHFT(pack_tmp, -17)
11605 481368 : idata = idata + 1
11606 481368 : data_tmp = full_data(idata)
11607 481368 : data_tmp = ISHFT(data_tmp, 47)
11608 481368 : pack_tmp = IOR(pack_tmp, data_tmp)
11609 : pack_tmp = ISHFT(pack_tmp, 0)
11610 481368 : pack_tmp = ISHFT(pack_tmp, 0)
11611 481368 : ipack = ipack + 1
11612 481511 : packed_data(ipack) = pack_tmp
11613 : END DO
11614 31815 : IF (Ndata_rep < Ndata) THEN
11615 3152 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11616 : END IF
11617 31815 : END SUBROUTINE ints2bits_17
11618 :
11619 : ! **************************************************************************************************
11620 : !> \brief ...
11621 : !> \param Ndata ...
11622 : !> \param packed_data ...
11623 : !> \param full_data ...
11624 : ! **************************************************************************************************
11625 162945 : 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 162945 : ipack = 0
11636 162945 : idata = 0
11637 162945 : pack_tmp = 0
11638 162945 : Ndata_rep = (Ndata/64)*64
11639 162945 : DO kdata = 1, Ndata_rep, 64
11640 2382198 : idata = idata + 1
11641 2382198 : data_tmp = ISHFT(pack_tmp, 17)
11642 2382198 : ipack = ipack + 1
11643 2382198 : pack_tmp = packed_data(ipack)
11644 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
11645 2382198 : pack_tmp = ISHFT(pack_tmp, -17)
11646 2382198 : idata = idata + 1
11647 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11648 2382198 : full_data(idata) = data_tmp
11649 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11650 2382198 : idata = idata + 1
11651 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11652 2382198 : full_data(idata) = data_tmp
11653 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11654 2382198 : idata = idata + 1
11655 2382198 : data_tmp = ISHFT(pack_tmp, 4)
11656 2382198 : ipack = ipack + 1
11657 2382198 : pack_tmp = packed_data(ipack)
11658 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
11659 2382198 : pack_tmp = ISHFT(pack_tmp, -4)
11660 2382198 : idata = idata + 1
11661 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11662 2382198 : full_data(idata) = data_tmp
11663 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11664 2382198 : idata = idata + 1
11665 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11666 2382198 : full_data(idata) = data_tmp
11667 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11668 2382198 : idata = idata + 1
11669 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11670 2382198 : full_data(idata) = data_tmp
11671 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11672 2382198 : idata = idata + 1
11673 2382198 : data_tmp = ISHFT(pack_tmp, 8)
11674 2382198 : ipack = ipack + 1
11675 2382198 : pack_tmp = packed_data(ipack)
11676 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
11677 2382198 : pack_tmp = ISHFT(pack_tmp, -8)
11678 2382198 : idata = idata + 1
11679 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11680 2382198 : full_data(idata) = data_tmp
11681 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11682 2382198 : idata = idata + 1
11683 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11684 2382198 : full_data(idata) = data_tmp
11685 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11686 2382198 : idata = idata + 1
11687 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11688 2382198 : full_data(idata) = data_tmp
11689 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11690 2382198 : idata = idata + 1
11691 2382198 : data_tmp = ISHFT(pack_tmp, 12)
11692 2382198 : ipack = ipack + 1
11693 2382198 : pack_tmp = packed_data(ipack)
11694 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
11695 2382198 : pack_tmp = ISHFT(pack_tmp, -12)
11696 2382198 : idata = idata + 1
11697 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11698 2382198 : full_data(idata) = data_tmp
11699 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11700 2382198 : idata = idata + 1
11701 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11702 2382198 : full_data(idata) = data_tmp
11703 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11704 2382198 : idata = idata + 1
11705 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11706 2382198 : full_data(idata) = data_tmp
11707 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11708 2382198 : idata = idata + 1
11709 2382198 : data_tmp = ISHFT(pack_tmp, 16)
11710 2382198 : ipack = ipack + 1
11711 2382198 : pack_tmp = packed_data(ipack)
11712 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11713 2382198 : pack_tmp = ISHFT(pack_tmp, -16)
11714 2382198 : idata = idata + 1
11715 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11716 2382198 : full_data(idata) = data_tmp
11717 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11718 2382198 : idata = idata + 1
11719 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11720 2382198 : full_data(idata) = data_tmp
11721 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11722 2382198 : idata = idata + 1
11723 2382198 : data_tmp = ISHFT(pack_tmp, 3)
11724 2382198 : ipack = ipack + 1
11725 2382198 : pack_tmp = packed_data(ipack)
11726 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
11727 2382198 : pack_tmp = ISHFT(pack_tmp, -3)
11728 2382198 : idata = idata + 1
11729 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11730 2382198 : full_data(idata) = data_tmp
11731 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11732 2382198 : idata = idata + 1
11733 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11734 2382198 : full_data(idata) = data_tmp
11735 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11736 2382198 : idata = idata + 1
11737 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11738 2382198 : full_data(idata) = data_tmp
11739 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11740 2382198 : idata = idata + 1
11741 2382198 : data_tmp = ISHFT(pack_tmp, 7)
11742 2382198 : ipack = ipack + 1
11743 2382198 : pack_tmp = packed_data(ipack)
11744 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
11745 2382198 : pack_tmp = ISHFT(pack_tmp, -7)
11746 2382198 : idata = idata + 1
11747 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11748 2382198 : full_data(idata) = data_tmp
11749 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11750 2382198 : idata = idata + 1
11751 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11752 2382198 : full_data(idata) = data_tmp
11753 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11754 2382198 : idata = idata + 1
11755 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11756 2382198 : full_data(idata) = data_tmp
11757 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11758 2382198 : idata = idata + 1
11759 2382198 : data_tmp = ISHFT(pack_tmp, 11)
11760 2382198 : ipack = ipack + 1
11761 2382198 : pack_tmp = packed_data(ipack)
11762 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
11763 2382198 : pack_tmp = ISHFT(pack_tmp, -11)
11764 2382198 : idata = idata + 1
11765 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11766 2382198 : full_data(idata) = data_tmp
11767 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11768 2382198 : idata = idata + 1
11769 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11770 2382198 : full_data(idata) = data_tmp
11771 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11772 2382198 : idata = idata + 1
11773 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11774 2382198 : full_data(idata) = data_tmp
11775 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11776 2382198 : idata = idata + 1
11777 2382198 : data_tmp = ISHFT(pack_tmp, 15)
11778 2382198 : ipack = ipack + 1
11779 2382198 : pack_tmp = packed_data(ipack)
11780 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
11781 2382198 : pack_tmp = ISHFT(pack_tmp, -15)
11782 2382198 : idata = idata + 1
11783 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11784 2382198 : full_data(idata) = data_tmp
11785 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11786 2382198 : idata = idata + 1
11787 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11788 2382198 : full_data(idata) = data_tmp
11789 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11790 2382198 : idata = idata + 1
11791 2382198 : data_tmp = ISHFT(pack_tmp, 2)
11792 2382198 : ipack = ipack + 1
11793 2382198 : pack_tmp = packed_data(ipack)
11794 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
11795 2382198 : pack_tmp = ISHFT(pack_tmp, -2)
11796 2382198 : idata = idata + 1
11797 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11798 2382198 : full_data(idata) = data_tmp
11799 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11800 2382198 : idata = idata + 1
11801 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11802 2382198 : full_data(idata) = data_tmp
11803 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11804 2382198 : idata = idata + 1
11805 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11806 2382198 : full_data(idata) = data_tmp
11807 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11808 2382198 : idata = idata + 1
11809 2382198 : data_tmp = ISHFT(pack_tmp, 6)
11810 2382198 : ipack = ipack + 1
11811 2382198 : pack_tmp = packed_data(ipack)
11812 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
11813 2382198 : pack_tmp = ISHFT(pack_tmp, -6)
11814 2382198 : idata = idata + 1
11815 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11816 2382198 : full_data(idata) = data_tmp
11817 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11818 2382198 : idata = idata + 1
11819 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11820 2382198 : full_data(idata) = data_tmp
11821 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11822 2382198 : idata = idata + 1
11823 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11824 2382198 : full_data(idata) = data_tmp
11825 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11826 2382198 : idata = idata + 1
11827 2382198 : data_tmp = ISHFT(pack_tmp, 10)
11828 2382198 : ipack = ipack + 1
11829 2382198 : pack_tmp = packed_data(ipack)
11830 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
11831 2382198 : pack_tmp = ISHFT(pack_tmp, -10)
11832 2382198 : idata = idata + 1
11833 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11834 2382198 : full_data(idata) = data_tmp
11835 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11836 2382198 : idata = idata + 1
11837 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11838 2382198 : full_data(idata) = data_tmp
11839 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11840 2382198 : idata = idata + 1
11841 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11842 2382198 : full_data(idata) = data_tmp
11843 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11844 2382198 : idata = idata + 1
11845 2382198 : data_tmp = ISHFT(pack_tmp, 14)
11846 2382198 : ipack = ipack + 1
11847 2382198 : pack_tmp = packed_data(ipack)
11848 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
11849 2382198 : pack_tmp = ISHFT(pack_tmp, -14)
11850 2382198 : idata = idata + 1
11851 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11852 2382198 : full_data(idata) = data_tmp
11853 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11854 2382198 : idata = idata + 1
11855 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11856 2382198 : full_data(idata) = data_tmp
11857 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11858 2382198 : idata = idata + 1
11859 2382198 : data_tmp = ISHFT(pack_tmp, 1)
11860 2382198 : ipack = ipack + 1
11861 2382198 : pack_tmp = packed_data(ipack)
11862 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
11863 2382198 : pack_tmp = ISHFT(pack_tmp, -1)
11864 2382198 : idata = idata + 1
11865 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11866 2382198 : full_data(idata) = data_tmp
11867 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11868 2382198 : idata = idata + 1
11869 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11870 2382198 : full_data(idata) = data_tmp
11871 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11872 2382198 : idata = idata + 1
11873 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11874 2382198 : full_data(idata) = data_tmp
11875 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11876 2382198 : idata = idata + 1
11877 2382198 : data_tmp = ISHFT(pack_tmp, 5)
11878 2382198 : ipack = ipack + 1
11879 2382198 : pack_tmp = packed_data(ipack)
11880 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
11881 2382198 : pack_tmp = ISHFT(pack_tmp, -5)
11882 2382198 : idata = idata + 1
11883 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11884 2382198 : full_data(idata) = data_tmp
11885 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11886 2382198 : idata = idata + 1
11887 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11888 2382198 : full_data(idata) = data_tmp
11889 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11890 2382198 : idata = idata + 1
11891 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11892 2382198 : full_data(idata) = data_tmp
11893 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11894 2382198 : idata = idata + 1
11895 2382198 : data_tmp = ISHFT(pack_tmp, 9)
11896 2382198 : ipack = ipack + 1
11897 2382198 : pack_tmp = packed_data(ipack)
11898 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
11899 2382198 : pack_tmp = ISHFT(pack_tmp, -9)
11900 2382198 : idata = idata + 1
11901 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11902 2382198 : full_data(idata) = data_tmp
11903 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11904 2382198 : idata = idata + 1
11905 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11906 2382198 : full_data(idata) = data_tmp
11907 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11908 2382198 : idata = idata + 1
11909 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11910 2382198 : full_data(idata) = data_tmp
11911 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11912 2382198 : idata = idata + 1
11913 2382198 : data_tmp = ISHFT(pack_tmp, 13)
11914 2382198 : ipack = ipack + 1
11915 2382198 : pack_tmp = packed_data(ipack)
11916 2382198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
11917 2382198 : pack_tmp = ISHFT(pack_tmp, -13)
11918 2382198 : idata = idata + 1
11919 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11920 2382198 : full_data(idata) = data_tmp
11921 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11922 2382198 : idata = idata + 1
11923 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11924 2382198 : full_data(idata) = data_tmp
11925 2382198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11926 2382198 : idata = idata + 1
11927 2382198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11928 2382198 : full_data(idata) = data_tmp
11929 2383225 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11930 : END DO
11931 162945 : IF (Ndata_rep < Ndata) THEN
11932 25652 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11933 : END IF
11934 162945 : END SUBROUTINE bits2ints_17
11935 :
11936 : ! **************************************************************************************************
11937 : !> \brief ...
11938 : !> \param Ndata ...
11939 : !> \param packed_data ...
11940 : !> \param full_data ...
11941 : ! **************************************************************************************************
11942 32716 : 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 32716 : idata = 0
11953 32716 : ipack = 0
11954 32716 : Ndata_rep = (Ndata/64)*64
11955 32716 : DO kdata = 1, Ndata_rep, 64
11956 490272 : pack_tmp = 0
11957 490272 : idata = idata + 1
11958 490272 : data_tmp = full_data(idata)
11959 490272 : data_tmp = ISHFT(data_tmp, 46)
11960 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11961 490272 : pack_tmp = ISHFT(pack_tmp, -18)
11962 490272 : idata = idata + 1
11963 490272 : data_tmp = full_data(idata)
11964 490272 : data_tmp = ISHFT(data_tmp, 46)
11965 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11966 490272 : pack_tmp = ISHFT(pack_tmp, -18)
11967 490272 : idata = idata + 1
11968 490272 : data_tmp = full_data(idata)
11969 490272 : data_tmp = ISHFT(data_tmp, 46)
11970 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11971 490272 : pack_tmp = ISHFT(pack_tmp, -10)
11972 490272 : idata = idata + 1
11973 490272 : data_tmp = full_data(idata)
11974 490272 : data_tmp = ISHFT(data_tmp, 46)
11975 490272 : data_tmp = IAND(data_tmp, mask_left(10))
11976 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11977 490272 : ipack = ipack + 1
11978 490272 : packed_data(ipack) = pack_tmp
11979 490272 : data_tmp = full_data(idata)
11980 490272 : pack_tmp = ISHFT(data_tmp, 56)
11981 490272 : pack_tmp = ISHFT(pack_tmp, -18)
11982 490272 : idata = idata + 1
11983 490272 : data_tmp = full_data(idata)
11984 490272 : data_tmp = ISHFT(data_tmp, 46)
11985 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11986 490272 : pack_tmp = ISHFT(pack_tmp, -18)
11987 490272 : idata = idata + 1
11988 490272 : data_tmp = full_data(idata)
11989 490272 : data_tmp = ISHFT(data_tmp, 46)
11990 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11991 490272 : pack_tmp = ISHFT(pack_tmp, -18)
11992 490272 : idata = idata + 1
11993 490272 : data_tmp = full_data(idata)
11994 490272 : data_tmp = ISHFT(data_tmp, 46)
11995 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
11996 490272 : pack_tmp = ISHFT(pack_tmp, -2)
11997 490272 : idata = idata + 1
11998 490272 : data_tmp = full_data(idata)
11999 490272 : data_tmp = ISHFT(data_tmp, 46)
12000 490272 : data_tmp = IAND(data_tmp, mask_left(2))
12001 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12002 490272 : ipack = ipack + 1
12003 490272 : packed_data(ipack) = pack_tmp
12004 490272 : data_tmp = full_data(idata)
12005 490272 : pack_tmp = ISHFT(data_tmp, 48)
12006 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12007 490272 : idata = idata + 1
12008 490272 : data_tmp = full_data(idata)
12009 490272 : data_tmp = ISHFT(data_tmp, 46)
12010 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12011 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12012 490272 : idata = idata + 1
12013 490272 : data_tmp = full_data(idata)
12014 490272 : data_tmp = ISHFT(data_tmp, 46)
12015 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12016 490272 : pack_tmp = ISHFT(pack_tmp, -12)
12017 490272 : idata = idata + 1
12018 490272 : data_tmp = full_data(idata)
12019 490272 : data_tmp = ISHFT(data_tmp, 46)
12020 490272 : data_tmp = IAND(data_tmp, mask_left(12))
12021 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12022 490272 : ipack = ipack + 1
12023 490272 : packed_data(ipack) = pack_tmp
12024 490272 : data_tmp = full_data(idata)
12025 490272 : pack_tmp = ISHFT(data_tmp, 58)
12026 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12027 490272 : idata = idata + 1
12028 490272 : data_tmp = full_data(idata)
12029 490272 : data_tmp = ISHFT(data_tmp, 46)
12030 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12031 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12032 490272 : idata = idata + 1
12033 490272 : data_tmp = full_data(idata)
12034 490272 : data_tmp = ISHFT(data_tmp, 46)
12035 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12036 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12037 490272 : idata = idata + 1
12038 490272 : data_tmp = full_data(idata)
12039 490272 : data_tmp = ISHFT(data_tmp, 46)
12040 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12041 490272 : pack_tmp = ISHFT(pack_tmp, -4)
12042 490272 : idata = idata + 1
12043 490272 : data_tmp = full_data(idata)
12044 490272 : data_tmp = ISHFT(data_tmp, 46)
12045 490272 : data_tmp = IAND(data_tmp, mask_left(4))
12046 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12047 490272 : ipack = ipack + 1
12048 490272 : packed_data(ipack) = pack_tmp
12049 490272 : data_tmp = full_data(idata)
12050 490272 : pack_tmp = ISHFT(data_tmp, 50)
12051 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12052 490272 : idata = idata + 1
12053 490272 : data_tmp = full_data(idata)
12054 490272 : data_tmp = ISHFT(data_tmp, 46)
12055 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12056 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12057 490272 : idata = idata + 1
12058 490272 : data_tmp = full_data(idata)
12059 490272 : data_tmp = ISHFT(data_tmp, 46)
12060 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12061 490272 : pack_tmp = ISHFT(pack_tmp, -14)
12062 490272 : idata = idata + 1
12063 490272 : data_tmp = full_data(idata)
12064 490272 : data_tmp = ISHFT(data_tmp, 46)
12065 490272 : data_tmp = IAND(data_tmp, mask_left(14))
12066 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12067 490272 : ipack = ipack + 1
12068 490272 : packed_data(ipack) = pack_tmp
12069 490272 : data_tmp = full_data(idata)
12070 490272 : pack_tmp = ISHFT(data_tmp, 60)
12071 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12072 490272 : idata = idata + 1
12073 490272 : data_tmp = full_data(idata)
12074 490272 : data_tmp = ISHFT(data_tmp, 46)
12075 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12076 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12077 490272 : idata = idata + 1
12078 490272 : data_tmp = full_data(idata)
12079 490272 : data_tmp = ISHFT(data_tmp, 46)
12080 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12081 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12082 490272 : idata = idata + 1
12083 490272 : data_tmp = full_data(idata)
12084 490272 : data_tmp = ISHFT(data_tmp, 46)
12085 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12086 490272 : pack_tmp = ISHFT(pack_tmp, -6)
12087 490272 : idata = idata + 1
12088 490272 : data_tmp = full_data(idata)
12089 490272 : data_tmp = ISHFT(data_tmp, 46)
12090 490272 : data_tmp = IAND(data_tmp, mask_left(6))
12091 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12092 490272 : ipack = ipack + 1
12093 490272 : packed_data(ipack) = pack_tmp
12094 490272 : data_tmp = full_data(idata)
12095 490272 : pack_tmp = ISHFT(data_tmp, 52)
12096 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12097 490272 : idata = idata + 1
12098 490272 : data_tmp = full_data(idata)
12099 490272 : data_tmp = ISHFT(data_tmp, 46)
12100 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12101 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12102 490272 : idata = idata + 1
12103 490272 : data_tmp = full_data(idata)
12104 490272 : data_tmp = ISHFT(data_tmp, 46)
12105 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12106 490272 : pack_tmp = ISHFT(pack_tmp, -16)
12107 490272 : idata = idata + 1
12108 490272 : data_tmp = full_data(idata)
12109 490272 : data_tmp = ISHFT(data_tmp, 46)
12110 490272 : data_tmp = IAND(data_tmp, mask_left(16))
12111 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12112 490272 : ipack = ipack + 1
12113 490272 : packed_data(ipack) = pack_tmp
12114 490272 : data_tmp = full_data(idata)
12115 490272 : pack_tmp = ISHFT(data_tmp, 62)
12116 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12117 490272 : idata = idata + 1
12118 490272 : data_tmp = full_data(idata)
12119 490272 : data_tmp = ISHFT(data_tmp, 46)
12120 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12121 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12122 490272 : idata = idata + 1
12123 490272 : data_tmp = full_data(idata)
12124 490272 : data_tmp = ISHFT(data_tmp, 46)
12125 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12126 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12127 490272 : idata = idata + 1
12128 490272 : data_tmp = full_data(idata)
12129 490272 : data_tmp = ISHFT(data_tmp, 46)
12130 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12131 490272 : pack_tmp = ISHFT(pack_tmp, -8)
12132 490272 : idata = idata + 1
12133 490272 : data_tmp = full_data(idata)
12134 490272 : data_tmp = ISHFT(data_tmp, 46)
12135 490272 : data_tmp = IAND(data_tmp, mask_left(8))
12136 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12137 490272 : ipack = ipack + 1
12138 490272 : packed_data(ipack) = pack_tmp
12139 490272 : data_tmp = full_data(idata)
12140 490272 : pack_tmp = ISHFT(data_tmp, 54)
12141 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12142 490272 : idata = idata + 1
12143 490272 : data_tmp = full_data(idata)
12144 490272 : data_tmp = ISHFT(data_tmp, 46)
12145 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12146 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12147 490272 : idata = idata + 1
12148 490272 : data_tmp = full_data(idata)
12149 490272 : data_tmp = ISHFT(data_tmp, 46)
12150 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12151 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12152 490272 : idata = idata + 1
12153 490272 : data_tmp = full_data(idata)
12154 490272 : data_tmp = ISHFT(data_tmp, 46)
12155 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12156 490272 : pack_tmp = ISHFT(pack_tmp, 0)
12157 490272 : idata = idata + 1
12158 490272 : data_tmp = full_data(idata)
12159 : data_tmp = ISHFT(data_tmp, 46)
12160 490272 : data_tmp = IAND(data_tmp, mask_left(0))
12161 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12162 490272 : ipack = ipack + 1
12163 490272 : packed_data(ipack) = pack_tmp
12164 490272 : data_tmp = full_data(idata)
12165 490272 : pack_tmp = ISHFT(data_tmp, 46)
12166 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12167 490272 : idata = idata + 1
12168 490272 : data_tmp = full_data(idata)
12169 490272 : data_tmp = ISHFT(data_tmp, 46)
12170 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12171 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12172 490272 : idata = idata + 1
12173 490272 : data_tmp = full_data(idata)
12174 490272 : data_tmp = ISHFT(data_tmp, 46)
12175 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12176 490272 : pack_tmp = ISHFT(pack_tmp, -10)
12177 490272 : idata = idata + 1
12178 490272 : data_tmp = full_data(idata)
12179 490272 : data_tmp = ISHFT(data_tmp, 46)
12180 490272 : data_tmp = IAND(data_tmp, mask_left(10))
12181 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12182 490272 : ipack = ipack + 1
12183 490272 : packed_data(ipack) = pack_tmp
12184 490272 : data_tmp = full_data(idata)
12185 490272 : pack_tmp = ISHFT(data_tmp, 56)
12186 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12187 490272 : idata = idata + 1
12188 490272 : data_tmp = full_data(idata)
12189 490272 : data_tmp = ISHFT(data_tmp, 46)
12190 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12191 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12192 490272 : idata = idata + 1
12193 490272 : data_tmp = full_data(idata)
12194 490272 : data_tmp = ISHFT(data_tmp, 46)
12195 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12196 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12197 490272 : idata = idata + 1
12198 490272 : data_tmp = full_data(idata)
12199 490272 : data_tmp = ISHFT(data_tmp, 46)
12200 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12201 490272 : pack_tmp = ISHFT(pack_tmp, -2)
12202 490272 : idata = idata + 1
12203 490272 : data_tmp = full_data(idata)
12204 490272 : data_tmp = ISHFT(data_tmp, 46)
12205 490272 : data_tmp = IAND(data_tmp, mask_left(2))
12206 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12207 490272 : ipack = ipack + 1
12208 490272 : packed_data(ipack) = pack_tmp
12209 490272 : data_tmp = full_data(idata)
12210 490272 : pack_tmp = ISHFT(data_tmp, 48)
12211 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12212 490272 : idata = idata + 1
12213 490272 : data_tmp = full_data(idata)
12214 490272 : data_tmp = ISHFT(data_tmp, 46)
12215 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12216 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12217 490272 : idata = idata + 1
12218 490272 : data_tmp = full_data(idata)
12219 490272 : data_tmp = ISHFT(data_tmp, 46)
12220 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12221 490272 : pack_tmp = ISHFT(pack_tmp, -12)
12222 490272 : idata = idata + 1
12223 490272 : data_tmp = full_data(idata)
12224 490272 : data_tmp = ISHFT(data_tmp, 46)
12225 490272 : data_tmp = IAND(data_tmp, mask_left(12))
12226 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12227 490272 : ipack = ipack + 1
12228 490272 : packed_data(ipack) = pack_tmp
12229 490272 : data_tmp = full_data(idata)
12230 490272 : pack_tmp = ISHFT(data_tmp, 58)
12231 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12232 490272 : idata = idata + 1
12233 490272 : data_tmp = full_data(idata)
12234 490272 : data_tmp = ISHFT(data_tmp, 46)
12235 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12236 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12237 490272 : idata = idata + 1
12238 490272 : data_tmp = full_data(idata)
12239 490272 : data_tmp = ISHFT(data_tmp, 46)
12240 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12241 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12242 490272 : idata = idata + 1
12243 490272 : data_tmp = full_data(idata)
12244 490272 : data_tmp = ISHFT(data_tmp, 46)
12245 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12246 490272 : pack_tmp = ISHFT(pack_tmp, -4)
12247 490272 : idata = idata + 1
12248 490272 : data_tmp = full_data(idata)
12249 490272 : data_tmp = ISHFT(data_tmp, 46)
12250 490272 : data_tmp = IAND(data_tmp, mask_left(4))
12251 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12252 490272 : ipack = ipack + 1
12253 490272 : packed_data(ipack) = pack_tmp
12254 490272 : data_tmp = full_data(idata)
12255 490272 : pack_tmp = ISHFT(data_tmp, 50)
12256 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12257 490272 : idata = idata + 1
12258 490272 : data_tmp = full_data(idata)
12259 490272 : data_tmp = ISHFT(data_tmp, 46)
12260 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12261 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12262 490272 : idata = idata + 1
12263 490272 : data_tmp = full_data(idata)
12264 490272 : data_tmp = ISHFT(data_tmp, 46)
12265 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12266 490272 : pack_tmp = ISHFT(pack_tmp, -14)
12267 490272 : idata = idata + 1
12268 490272 : data_tmp = full_data(idata)
12269 490272 : data_tmp = ISHFT(data_tmp, 46)
12270 490272 : data_tmp = IAND(data_tmp, mask_left(14))
12271 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12272 490272 : ipack = ipack + 1
12273 490272 : packed_data(ipack) = pack_tmp
12274 490272 : data_tmp = full_data(idata)
12275 490272 : pack_tmp = ISHFT(data_tmp, 60)
12276 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12277 490272 : idata = idata + 1
12278 490272 : data_tmp = full_data(idata)
12279 490272 : data_tmp = ISHFT(data_tmp, 46)
12280 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12281 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12282 490272 : idata = idata + 1
12283 490272 : data_tmp = full_data(idata)
12284 490272 : data_tmp = ISHFT(data_tmp, 46)
12285 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12286 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12287 490272 : idata = idata + 1
12288 490272 : data_tmp = full_data(idata)
12289 490272 : data_tmp = ISHFT(data_tmp, 46)
12290 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12291 490272 : pack_tmp = ISHFT(pack_tmp, -6)
12292 490272 : idata = idata + 1
12293 490272 : data_tmp = full_data(idata)
12294 490272 : data_tmp = ISHFT(data_tmp, 46)
12295 490272 : data_tmp = IAND(data_tmp, mask_left(6))
12296 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12297 490272 : ipack = ipack + 1
12298 490272 : packed_data(ipack) = pack_tmp
12299 490272 : data_tmp = full_data(idata)
12300 490272 : pack_tmp = ISHFT(data_tmp, 52)
12301 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12302 490272 : idata = idata + 1
12303 490272 : data_tmp = full_data(idata)
12304 490272 : data_tmp = ISHFT(data_tmp, 46)
12305 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12306 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12307 490272 : idata = idata + 1
12308 490272 : data_tmp = full_data(idata)
12309 490272 : data_tmp = ISHFT(data_tmp, 46)
12310 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12311 490272 : pack_tmp = ISHFT(pack_tmp, -16)
12312 490272 : idata = idata + 1
12313 490272 : data_tmp = full_data(idata)
12314 490272 : data_tmp = ISHFT(data_tmp, 46)
12315 490272 : data_tmp = IAND(data_tmp, mask_left(16))
12316 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12317 490272 : ipack = ipack + 1
12318 490272 : packed_data(ipack) = pack_tmp
12319 490272 : data_tmp = full_data(idata)
12320 490272 : pack_tmp = ISHFT(data_tmp, 62)
12321 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12322 490272 : idata = idata + 1
12323 490272 : data_tmp = full_data(idata)
12324 490272 : data_tmp = ISHFT(data_tmp, 46)
12325 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12326 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12327 490272 : idata = idata + 1
12328 490272 : data_tmp = full_data(idata)
12329 490272 : data_tmp = ISHFT(data_tmp, 46)
12330 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12331 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12332 490272 : idata = idata + 1
12333 490272 : data_tmp = full_data(idata)
12334 490272 : data_tmp = ISHFT(data_tmp, 46)
12335 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12336 490272 : pack_tmp = ISHFT(pack_tmp, -8)
12337 490272 : idata = idata + 1
12338 490272 : data_tmp = full_data(idata)
12339 490272 : data_tmp = ISHFT(data_tmp, 46)
12340 490272 : data_tmp = IAND(data_tmp, mask_left(8))
12341 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12342 490272 : ipack = ipack + 1
12343 490272 : packed_data(ipack) = pack_tmp
12344 490272 : data_tmp = full_data(idata)
12345 490272 : pack_tmp = ISHFT(data_tmp, 54)
12346 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12347 490272 : idata = idata + 1
12348 490272 : data_tmp = full_data(idata)
12349 490272 : data_tmp = ISHFT(data_tmp, 46)
12350 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12351 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12352 490272 : idata = idata + 1
12353 490272 : data_tmp = full_data(idata)
12354 490272 : data_tmp = ISHFT(data_tmp, 46)
12355 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12356 490272 : pack_tmp = ISHFT(pack_tmp, -18)
12357 490272 : idata = idata + 1
12358 490272 : data_tmp = full_data(idata)
12359 490272 : data_tmp = ISHFT(data_tmp, 46)
12360 490272 : pack_tmp = IOR(pack_tmp, data_tmp)
12361 : pack_tmp = ISHFT(pack_tmp, 0)
12362 490272 : pack_tmp = ISHFT(pack_tmp, 0)
12363 490272 : ipack = ipack + 1
12364 490370 : packed_data(ipack) = pack_tmp
12365 : END DO
12366 32716 : IF (Ndata_rep < Ndata) THEN
12367 3904 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
12368 : END IF
12369 32716 : END SUBROUTINE ints2bits_18
12370 :
12371 : ! **************************************************************************************************
12372 : !> \brief ...
12373 : !> \param Ndata ...
12374 : !> \param packed_data ...
12375 : !> \param full_data ...
12376 : ! **************************************************************************************************
12377 170130 : 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 170130 : ipack = 0
12388 170130 : idata = 0
12389 170130 : pack_tmp = 0
12390 170130 : Ndata_rep = (Ndata/64)*64
12391 170130 : DO kdata = 1, Ndata_rep, 64
12392 2450743 : idata = idata + 1
12393 2450743 : data_tmp = ISHFT(pack_tmp, 18)
12394 2450743 : ipack = ipack + 1
12395 2450743 : pack_tmp = packed_data(ipack)
12396 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12397 2450743 : pack_tmp = ISHFT(pack_tmp, -18)
12398 2450743 : idata = idata + 1
12399 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12400 2450743 : full_data(idata) = data_tmp
12401 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12402 2450743 : idata = idata + 1
12403 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12404 2450743 : full_data(idata) = data_tmp
12405 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12406 2450743 : idata = idata + 1
12407 2450743 : data_tmp = ISHFT(pack_tmp, 8)
12408 2450743 : ipack = ipack + 1
12409 2450743 : pack_tmp = packed_data(ipack)
12410 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12411 2450743 : pack_tmp = ISHFT(pack_tmp, -8)
12412 2450743 : idata = idata + 1
12413 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12414 2450743 : full_data(idata) = data_tmp
12415 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12416 2450743 : idata = idata + 1
12417 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12418 2450743 : full_data(idata) = data_tmp
12419 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12420 2450743 : idata = idata + 1
12421 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12422 2450743 : full_data(idata) = data_tmp
12423 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12424 2450743 : idata = idata + 1
12425 2450743 : data_tmp = ISHFT(pack_tmp, 16)
12426 2450743 : ipack = ipack + 1
12427 2450743 : pack_tmp = packed_data(ipack)
12428 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12429 2450743 : pack_tmp = ISHFT(pack_tmp, -16)
12430 2450743 : idata = idata + 1
12431 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12432 2450743 : full_data(idata) = data_tmp
12433 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12434 2450743 : idata = idata + 1
12435 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12436 2450743 : full_data(idata) = data_tmp
12437 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12438 2450743 : idata = idata + 1
12439 2450743 : data_tmp = ISHFT(pack_tmp, 6)
12440 2450743 : ipack = ipack + 1
12441 2450743 : pack_tmp = packed_data(ipack)
12442 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12443 2450743 : pack_tmp = ISHFT(pack_tmp, -6)
12444 2450743 : idata = idata + 1
12445 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12446 2450743 : full_data(idata) = data_tmp
12447 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12448 2450743 : idata = idata + 1
12449 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12450 2450743 : full_data(idata) = data_tmp
12451 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12452 2450743 : idata = idata + 1
12453 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12454 2450743 : full_data(idata) = data_tmp
12455 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12456 2450743 : idata = idata + 1
12457 2450743 : data_tmp = ISHFT(pack_tmp, 14)
12458 2450743 : ipack = ipack + 1
12459 2450743 : pack_tmp = packed_data(ipack)
12460 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12461 2450743 : pack_tmp = ISHFT(pack_tmp, -14)
12462 2450743 : idata = idata + 1
12463 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12464 2450743 : full_data(idata) = data_tmp
12465 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12466 2450743 : idata = idata + 1
12467 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12468 2450743 : full_data(idata) = data_tmp
12469 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12470 2450743 : idata = idata + 1
12471 2450743 : data_tmp = ISHFT(pack_tmp, 4)
12472 2450743 : ipack = ipack + 1
12473 2450743 : pack_tmp = packed_data(ipack)
12474 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12475 2450743 : pack_tmp = ISHFT(pack_tmp, -4)
12476 2450743 : idata = idata + 1
12477 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12478 2450743 : full_data(idata) = data_tmp
12479 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12480 2450743 : idata = idata + 1
12481 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12482 2450743 : full_data(idata) = data_tmp
12483 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12484 2450743 : idata = idata + 1
12485 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12486 2450743 : full_data(idata) = data_tmp
12487 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12488 2450743 : idata = idata + 1
12489 2450743 : data_tmp = ISHFT(pack_tmp, 12)
12490 2450743 : ipack = ipack + 1
12491 2450743 : pack_tmp = packed_data(ipack)
12492 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12493 2450743 : pack_tmp = ISHFT(pack_tmp, -12)
12494 2450743 : idata = idata + 1
12495 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12496 2450743 : full_data(idata) = data_tmp
12497 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12498 2450743 : idata = idata + 1
12499 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12500 2450743 : full_data(idata) = data_tmp
12501 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12502 2450743 : idata = idata + 1
12503 2450743 : data_tmp = ISHFT(pack_tmp, 2)
12504 2450743 : ipack = ipack + 1
12505 2450743 : pack_tmp = packed_data(ipack)
12506 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12507 2450743 : pack_tmp = ISHFT(pack_tmp, -2)
12508 2450743 : idata = idata + 1
12509 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12510 2450743 : full_data(idata) = data_tmp
12511 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12512 2450743 : idata = idata + 1
12513 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12514 2450743 : full_data(idata) = data_tmp
12515 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12516 2450743 : idata = idata + 1
12517 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12518 2450743 : full_data(idata) = data_tmp
12519 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12520 2450743 : idata = idata + 1
12521 2450743 : data_tmp = ISHFT(pack_tmp, 10)
12522 2450743 : ipack = ipack + 1
12523 2450743 : pack_tmp = packed_data(ipack)
12524 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12525 2450743 : pack_tmp = ISHFT(pack_tmp, -10)
12526 2450743 : idata = idata + 1
12527 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12528 2450743 : full_data(idata) = data_tmp
12529 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12530 2450743 : idata = idata + 1
12531 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12532 2450743 : full_data(idata) = data_tmp
12533 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12534 2450743 : idata = idata + 1
12535 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12536 2450743 : full_data(idata) = data_tmp
12537 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12538 2450743 : idata = idata + 1
12539 2450743 : data_tmp = ISHFT(pack_tmp, 18)
12540 2450743 : ipack = ipack + 1
12541 2450743 : pack_tmp = packed_data(ipack)
12542 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12543 2450743 : pack_tmp = ISHFT(pack_tmp, -18)
12544 2450743 : idata = idata + 1
12545 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12546 2450743 : full_data(idata) = data_tmp
12547 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12548 2450743 : idata = idata + 1
12549 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12550 2450743 : full_data(idata) = data_tmp
12551 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12552 2450743 : idata = idata + 1
12553 2450743 : data_tmp = ISHFT(pack_tmp, 8)
12554 2450743 : ipack = ipack + 1
12555 2450743 : pack_tmp = packed_data(ipack)
12556 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12557 2450743 : pack_tmp = ISHFT(pack_tmp, -8)
12558 2450743 : idata = idata + 1
12559 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12560 2450743 : full_data(idata) = data_tmp
12561 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12562 2450743 : idata = idata + 1
12563 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12564 2450743 : full_data(idata) = data_tmp
12565 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12566 2450743 : idata = idata + 1
12567 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12568 2450743 : full_data(idata) = data_tmp
12569 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12570 2450743 : idata = idata + 1
12571 2450743 : data_tmp = ISHFT(pack_tmp, 16)
12572 2450743 : ipack = ipack + 1
12573 2450743 : pack_tmp = packed_data(ipack)
12574 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12575 2450743 : pack_tmp = ISHFT(pack_tmp, -16)
12576 2450743 : idata = idata + 1
12577 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12578 2450743 : full_data(idata) = data_tmp
12579 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12580 2450743 : idata = idata + 1
12581 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12582 2450743 : full_data(idata) = data_tmp
12583 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12584 2450743 : idata = idata + 1
12585 2450743 : data_tmp = ISHFT(pack_tmp, 6)
12586 2450743 : ipack = ipack + 1
12587 2450743 : pack_tmp = packed_data(ipack)
12588 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12589 2450743 : pack_tmp = ISHFT(pack_tmp, -6)
12590 2450743 : idata = idata + 1
12591 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12592 2450743 : full_data(idata) = data_tmp
12593 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12594 2450743 : idata = idata + 1
12595 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12596 2450743 : full_data(idata) = data_tmp
12597 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12598 2450743 : idata = idata + 1
12599 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12600 2450743 : full_data(idata) = data_tmp
12601 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12602 2450743 : idata = idata + 1
12603 2450743 : data_tmp = ISHFT(pack_tmp, 14)
12604 2450743 : ipack = ipack + 1
12605 2450743 : pack_tmp = packed_data(ipack)
12606 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12607 2450743 : pack_tmp = ISHFT(pack_tmp, -14)
12608 2450743 : idata = idata + 1
12609 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12610 2450743 : full_data(idata) = data_tmp
12611 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12612 2450743 : idata = idata + 1
12613 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12614 2450743 : full_data(idata) = data_tmp
12615 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12616 2450743 : idata = idata + 1
12617 2450743 : data_tmp = ISHFT(pack_tmp, 4)
12618 2450743 : ipack = ipack + 1
12619 2450743 : pack_tmp = packed_data(ipack)
12620 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12621 2450743 : pack_tmp = ISHFT(pack_tmp, -4)
12622 2450743 : idata = idata + 1
12623 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12624 2450743 : full_data(idata) = data_tmp
12625 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12626 2450743 : idata = idata + 1
12627 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12628 2450743 : full_data(idata) = data_tmp
12629 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12630 2450743 : idata = idata + 1
12631 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12632 2450743 : full_data(idata) = data_tmp
12633 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12634 2450743 : idata = idata + 1
12635 2450743 : data_tmp = ISHFT(pack_tmp, 12)
12636 2450743 : ipack = ipack + 1
12637 2450743 : pack_tmp = packed_data(ipack)
12638 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12639 2450743 : pack_tmp = ISHFT(pack_tmp, -12)
12640 2450743 : idata = idata + 1
12641 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12642 2450743 : full_data(idata) = data_tmp
12643 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12644 2450743 : idata = idata + 1
12645 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12646 2450743 : full_data(idata) = data_tmp
12647 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12648 2450743 : idata = idata + 1
12649 2450743 : data_tmp = ISHFT(pack_tmp, 2)
12650 2450743 : ipack = ipack + 1
12651 2450743 : pack_tmp = packed_data(ipack)
12652 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12653 2450743 : pack_tmp = ISHFT(pack_tmp, -2)
12654 2450743 : idata = idata + 1
12655 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12656 2450743 : full_data(idata) = data_tmp
12657 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12658 2450743 : idata = idata + 1
12659 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12660 2450743 : full_data(idata) = data_tmp
12661 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12662 2450743 : idata = idata + 1
12663 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12664 2450743 : full_data(idata) = data_tmp
12665 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12666 2450743 : idata = idata + 1
12667 2450743 : data_tmp = ISHFT(pack_tmp, 10)
12668 2450743 : ipack = ipack + 1
12669 2450743 : pack_tmp = packed_data(ipack)
12670 2450743 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12671 2450743 : pack_tmp = ISHFT(pack_tmp, -10)
12672 2450743 : idata = idata + 1
12673 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12674 2450743 : full_data(idata) = data_tmp
12675 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12676 2450743 : idata = idata + 1
12677 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12678 2450743 : full_data(idata) = data_tmp
12679 2450743 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12680 2450743 : idata = idata + 1
12681 2450743 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12682 2450743 : full_data(idata) = data_tmp
12683 2451486 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12684 : END DO
12685 170130 : IF (Ndata_rep < Ndata) THEN
12686 31922 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
12687 : END IF
12688 170130 : END SUBROUTINE bits2ints_18
12689 :
12690 : ! **************************************************************************************************
12691 : !> \brief ...
12692 : !> \param Ndata ...
12693 : !> \param packed_data ...
12694 : !> \param full_data ...
12695 : ! **************************************************************************************************
12696 30451 : 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 30451 : idata = 0
12707 30451 : ipack = 0
12708 30451 : Ndata_rep = (Ndata/64)*64
12709 30451 : DO kdata = 1, Ndata_rep, 64
12710 462840 : pack_tmp = 0
12711 462840 : idata = idata + 1
12712 462840 : data_tmp = full_data(idata)
12713 462840 : data_tmp = ISHFT(data_tmp, 45)
12714 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12715 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12716 462840 : idata = idata + 1
12717 462840 : data_tmp = full_data(idata)
12718 462840 : data_tmp = ISHFT(data_tmp, 45)
12719 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12720 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12721 462840 : idata = idata + 1
12722 462840 : data_tmp = full_data(idata)
12723 462840 : data_tmp = ISHFT(data_tmp, 45)
12724 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12725 462840 : pack_tmp = ISHFT(pack_tmp, -7)
12726 462840 : idata = idata + 1
12727 462840 : data_tmp = full_data(idata)
12728 462840 : data_tmp = ISHFT(data_tmp, 45)
12729 462840 : data_tmp = IAND(data_tmp, mask_left(7))
12730 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12731 462840 : ipack = ipack + 1
12732 462840 : packed_data(ipack) = pack_tmp
12733 462840 : data_tmp = full_data(idata)
12734 462840 : pack_tmp = ISHFT(data_tmp, 52)
12735 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12736 462840 : idata = idata + 1
12737 462840 : data_tmp = full_data(idata)
12738 462840 : data_tmp = ISHFT(data_tmp, 45)
12739 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12740 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12741 462840 : idata = idata + 1
12742 462840 : data_tmp = full_data(idata)
12743 462840 : data_tmp = ISHFT(data_tmp, 45)
12744 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12745 462840 : pack_tmp = ISHFT(pack_tmp, -14)
12746 462840 : idata = idata + 1
12747 462840 : data_tmp = full_data(idata)
12748 462840 : data_tmp = ISHFT(data_tmp, 45)
12749 462840 : data_tmp = IAND(data_tmp, mask_left(14))
12750 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12751 462840 : ipack = ipack + 1
12752 462840 : packed_data(ipack) = pack_tmp
12753 462840 : data_tmp = full_data(idata)
12754 462840 : pack_tmp = ISHFT(data_tmp, 59)
12755 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12756 462840 : idata = idata + 1
12757 462840 : data_tmp = full_data(idata)
12758 462840 : data_tmp = ISHFT(data_tmp, 45)
12759 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12760 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12761 462840 : idata = idata + 1
12762 462840 : data_tmp = full_data(idata)
12763 462840 : data_tmp = ISHFT(data_tmp, 45)
12764 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12765 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12766 462840 : idata = idata + 1
12767 462840 : data_tmp = full_data(idata)
12768 462840 : data_tmp = ISHFT(data_tmp, 45)
12769 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12770 462840 : pack_tmp = ISHFT(pack_tmp, -2)
12771 462840 : idata = idata + 1
12772 462840 : data_tmp = full_data(idata)
12773 462840 : data_tmp = ISHFT(data_tmp, 45)
12774 462840 : data_tmp = IAND(data_tmp, mask_left(2))
12775 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12776 462840 : ipack = ipack + 1
12777 462840 : packed_data(ipack) = pack_tmp
12778 462840 : data_tmp = full_data(idata)
12779 462840 : pack_tmp = ISHFT(data_tmp, 47)
12780 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12781 462840 : idata = idata + 1
12782 462840 : data_tmp = full_data(idata)
12783 462840 : data_tmp = ISHFT(data_tmp, 45)
12784 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12785 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12786 462840 : idata = idata + 1
12787 462840 : data_tmp = full_data(idata)
12788 462840 : data_tmp = ISHFT(data_tmp, 45)
12789 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12790 462840 : pack_tmp = ISHFT(pack_tmp, -9)
12791 462840 : idata = idata + 1
12792 462840 : data_tmp = full_data(idata)
12793 462840 : data_tmp = ISHFT(data_tmp, 45)
12794 462840 : data_tmp = IAND(data_tmp, mask_left(9))
12795 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12796 462840 : ipack = ipack + 1
12797 462840 : packed_data(ipack) = pack_tmp
12798 462840 : data_tmp = full_data(idata)
12799 462840 : pack_tmp = ISHFT(data_tmp, 54)
12800 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12801 462840 : idata = idata + 1
12802 462840 : data_tmp = full_data(idata)
12803 462840 : data_tmp = ISHFT(data_tmp, 45)
12804 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12805 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12806 462840 : idata = idata + 1
12807 462840 : data_tmp = full_data(idata)
12808 462840 : data_tmp = ISHFT(data_tmp, 45)
12809 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12810 462840 : pack_tmp = ISHFT(pack_tmp, -16)
12811 462840 : idata = idata + 1
12812 462840 : data_tmp = full_data(idata)
12813 462840 : data_tmp = ISHFT(data_tmp, 45)
12814 462840 : data_tmp = IAND(data_tmp, mask_left(16))
12815 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12816 462840 : ipack = ipack + 1
12817 462840 : packed_data(ipack) = pack_tmp
12818 462840 : data_tmp = full_data(idata)
12819 462840 : pack_tmp = ISHFT(data_tmp, 61)
12820 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12821 462840 : idata = idata + 1
12822 462840 : data_tmp = full_data(idata)
12823 462840 : data_tmp = ISHFT(data_tmp, 45)
12824 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12825 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12826 462840 : idata = idata + 1
12827 462840 : data_tmp = full_data(idata)
12828 462840 : data_tmp = ISHFT(data_tmp, 45)
12829 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12830 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12831 462840 : idata = idata + 1
12832 462840 : data_tmp = full_data(idata)
12833 462840 : data_tmp = ISHFT(data_tmp, 45)
12834 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12835 462840 : pack_tmp = ISHFT(pack_tmp, -4)
12836 462840 : idata = idata + 1
12837 462840 : data_tmp = full_data(idata)
12838 462840 : data_tmp = ISHFT(data_tmp, 45)
12839 462840 : data_tmp = IAND(data_tmp, mask_left(4))
12840 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12841 462840 : ipack = ipack + 1
12842 462840 : packed_data(ipack) = pack_tmp
12843 462840 : data_tmp = full_data(idata)
12844 462840 : pack_tmp = ISHFT(data_tmp, 49)
12845 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12846 462840 : idata = idata + 1
12847 462840 : data_tmp = full_data(idata)
12848 462840 : data_tmp = ISHFT(data_tmp, 45)
12849 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12850 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12851 462840 : idata = idata + 1
12852 462840 : data_tmp = full_data(idata)
12853 462840 : data_tmp = ISHFT(data_tmp, 45)
12854 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12855 462840 : pack_tmp = ISHFT(pack_tmp, -11)
12856 462840 : idata = idata + 1
12857 462840 : data_tmp = full_data(idata)
12858 462840 : data_tmp = ISHFT(data_tmp, 45)
12859 462840 : data_tmp = IAND(data_tmp, mask_left(11))
12860 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12861 462840 : ipack = ipack + 1
12862 462840 : packed_data(ipack) = pack_tmp
12863 462840 : data_tmp = full_data(idata)
12864 462840 : pack_tmp = ISHFT(data_tmp, 56)
12865 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12866 462840 : idata = idata + 1
12867 462840 : data_tmp = full_data(idata)
12868 462840 : data_tmp = ISHFT(data_tmp, 45)
12869 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12870 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12871 462840 : idata = idata + 1
12872 462840 : data_tmp = full_data(idata)
12873 462840 : data_tmp = ISHFT(data_tmp, 45)
12874 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12875 462840 : pack_tmp = ISHFT(pack_tmp, -18)
12876 462840 : idata = idata + 1
12877 462840 : data_tmp = full_data(idata)
12878 462840 : data_tmp = ISHFT(data_tmp, 45)
12879 462840 : data_tmp = IAND(data_tmp, mask_left(18))
12880 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12881 462840 : ipack = ipack + 1
12882 462840 : packed_data(ipack) = pack_tmp
12883 462840 : data_tmp = full_data(idata)
12884 462840 : pack_tmp = ISHFT(data_tmp, 63)
12885 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12886 462840 : idata = idata + 1
12887 462840 : data_tmp = full_data(idata)
12888 462840 : data_tmp = ISHFT(data_tmp, 45)
12889 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12890 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12891 462840 : idata = idata + 1
12892 462840 : data_tmp = full_data(idata)
12893 462840 : data_tmp = ISHFT(data_tmp, 45)
12894 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12895 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12896 462840 : idata = idata + 1
12897 462840 : data_tmp = full_data(idata)
12898 462840 : data_tmp = ISHFT(data_tmp, 45)
12899 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12900 462840 : pack_tmp = ISHFT(pack_tmp, -6)
12901 462840 : idata = idata + 1
12902 462840 : data_tmp = full_data(idata)
12903 462840 : data_tmp = ISHFT(data_tmp, 45)
12904 462840 : data_tmp = IAND(data_tmp, mask_left(6))
12905 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12906 462840 : ipack = ipack + 1
12907 462840 : packed_data(ipack) = pack_tmp
12908 462840 : data_tmp = full_data(idata)
12909 462840 : pack_tmp = ISHFT(data_tmp, 51)
12910 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12911 462840 : idata = idata + 1
12912 462840 : data_tmp = full_data(idata)
12913 462840 : data_tmp = ISHFT(data_tmp, 45)
12914 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12915 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12916 462840 : idata = idata + 1
12917 462840 : data_tmp = full_data(idata)
12918 462840 : data_tmp = ISHFT(data_tmp, 45)
12919 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12920 462840 : pack_tmp = ISHFT(pack_tmp, -13)
12921 462840 : idata = idata + 1
12922 462840 : data_tmp = full_data(idata)
12923 462840 : data_tmp = ISHFT(data_tmp, 45)
12924 462840 : data_tmp = IAND(data_tmp, mask_left(13))
12925 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12926 462840 : ipack = ipack + 1
12927 462840 : packed_data(ipack) = pack_tmp
12928 462840 : data_tmp = full_data(idata)
12929 462840 : pack_tmp = ISHFT(data_tmp, 58)
12930 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12931 462840 : idata = idata + 1
12932 462840 : data_tmp = full_data(idata)
12933 462840 : data_tmp = ISHFT(data_tmp, 45)
12934 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12935 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12936 462840 : idata = idata + 1
12937 462840 : data_tmp = full_data(idata)
12938 462840 : data_tmp = ISHFT(data_tmp, 45)
12939 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12940 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12941 462840 : idata = idata + 1
12942 462840 : data_tmp = full_data(idata)
12943 462840 : data_tmp = ISHFT(data_tmp, 45)
12944 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12945 462840 : pack_tmp = ISHFT(pack_tmp, -1)
12946 462840 : idata = idata + 1
12947 462840 : data_tmp = full_data(idata)
12948 462840 : data_tmp = ISHFT(data_tmp, 45)
12949 462840 : data_tmp = IAND(data_tmp, mask_left(1))
12950 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12951 462840 : ipack = ipack + 1
12952 462840 : packed_data(ipack) = pack_tmp
12953 462840 : data_tmp = full_data(idata)
12954 462840 : pack_tmp = ISHFT(data_tmp, 46)
12955 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12956 462840 : idata = idata + 1
12957 462840 : data_tmp = full_data(idata)
12958 462840 : data_tmp = ISHFT(data_tmp, 45)
12959 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12960 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12961 462840 : idata = idata + 1
12962 462840 : data_tmp = full_data(idata)
12963 462840 : data_tmp = ISHFT(data_tmp, 45)
12964 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12965 462840 : pack_tmp = ISHFT(pack_tmp, -8)
12966 462840 : idata = idata + 1
12967 462840 : data_tmp = full_data(idata)
12968 462840 : data_tmp = ISHFT(data_tmp, 45)
12969 462840 : data_tmp = IAND(data_tmp, mask_left(8))
12970 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12971 462840 : ipack = ipack + 1
12972 462840 : packed_data(ipack) = pack_tmp
12973 462840 : data_tmp = full_data(idata)
12974 462840 : pack_tmp = ISHFT(data_tmp, 53)
12975 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12976 462840 : idata = idata + 1
12977 462840 : data_tmp = full_data(idata)
12978 462840 : data_tmp = ISHFT(data_tmp, 45)
12979 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12980 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12981 462840 : idata = idata + 1
12982 462840 : data_tmp = full_data(idata)
12983 462840 : data_tmp = ISHFT(data_tmp, 45)
12984 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12985 462840 : pack_tmp = ISHFT(pack_tmp, -15)
12986 462840 : idata = idata + 1
12987 462840 : data_tmp = full_data(idata)
12988 462840 : data_tmp = ISHFT(data_tmp, 45)
12989 462840 : data_tmp = IAND(data_tmp, mask_left(15))
12990 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
12991 462840 : ipack = ipack + 1
12992 462840 : packed_data(ipack) = pack_tmp
12993 462840 : data_tmp = full_data(idata)
12994 462840 : pack_tmp = ISHFT(data_tmp, 60)
12995 462840 : pack_tmp = ISHFT(pack_tmp, -19)
12996 462840 : idata = idata + 1
12997 462840 : data_tmp = full_data(idata)
12998 462840 : data_tmp = ISHFT(data_tmp, 45)
12999 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13000 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13001 462840 : idata = idata + 1
13002 462840 : data_tmp = full_data(idata)
13003 462840 : data_tmp = ISHFT(data_tmp, 45)
13004 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13005 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13006 462840 : idata = idata + 1
13007 462840 : data_tmp = full_data(idata)
13008 462840 : data_tmp = ISHFT(data_tmp, 45)
13009 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13010 462840 : pack_tmp = ISHFT(pack_tmp, -3)
13011 462840 : idata = idata + 1
13012 462840 : data_tmp = full_data(idata)
13013 462840 : data_tmp = ISHFT(data_tmp, 45)
13014 462840 : data_tmp = IAND(data_tmp, mask_left(3))
13015 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13016 462840 : ipack = ipack + 1
13017 462840 : packed_data(ipack) = pack_tmp
13018 462840 : data_tmp = full_data(idata)
13019 462840 : pack_tmp = ISHFT(data_tmp, 48)
13020 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13021 462840 : idata = idata + 1
13022 462840 : data_tmp = full_data(idata)
13023 462840 : data_tmp = ISHFT(data_tmp, 45)
13024 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13025 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13026 462840 : idata = idata + 1
13027 462840 : data_tmp = full_data(idata)
13028 462840 : data_tmp = ISHFT(data_tmp, 45)
13029 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13030 462840 : pack_tmp = ISHFT(pack_tmp, -10)
13031 462840 : idata = idata + 1
13032 462840 : data_tmp = full_data(idata)
13033 462840 : data_tmp = ISHFT(data_tmp, 45)
13034 462840 : data_tmp = IAND(data_tmp, mask_left(10))
13035 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13036 462840 : ipack = ipack + 1
13037 462840 : packed_data(ipack) = pack_tmp
13038 462840 : data_tmp = full_data(idata)
13039 462840 : pack_tmp = ISHFT(data_tmp, 55)
13040 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13041 462840 : idata = idata + 1
13042 462840 : data_tmp = full_data(idata)
13043 462840 : data_tmp = ISHFT(data_tmp, 45)
13044 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13045 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13046 462840 : idata = idata + 1
13047 462840 : data_tmp = full_data(idata)
13048 462840 : data_tmp = ISHFT(data_tmp, 45)
13049 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13050 462840 : pack_tmp = ISHFT(pack_tmp, -17)
13051 462840 : idata = idata + 1
13052 462840 : data_tmp = full_data(idata)
13053 462840 : data_tmp = ISHFT(data_tmp, 45)
13054 462840 : data_tmp = IAND(data_tmp, mask_left(17))
13055 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13056 462840 : ipack = ipack + 1
13057 462840 : packed_data(ipack) = pack_tmp
13058 462840 : data_tmp = full_data(idata)
13059 462840 : pack_tmp = ISHFT(data_tmp, 62)
13060 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13061 462840 : idata = idata + 1
13062 462840 : data_tmp = full_data(idata)
13063 462840 : data_tmp = ISHFT(data_tmp, 45)
13064 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13065 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13066 462840 : idata = idata + 1
13067 462840 : data_tmp = full_data(idata)
13068 462840 : data_tmp = ISHFT(data_tmp, 45)
13069 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13070 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13071 462840 : idata = idata + 1
13072 462840 : data_tmp = full_data(idata)
13073 462840 : data_tmp = ISHFT(data_tmp, 45)
13074 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13075 462840 : pack_tmp = ISHFT(pack_tmp, -5)
13076 462840 : idata = idata + 1
13077 462840 : data_tmp = full_data(idata)
13078 462840 : data_tmp = ISHFT(data_tmp, 45)
13079 462840 : data_tmp = IAND(data_tmp, mask_left(5))
13080 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13081 462840 : ipack = ipack + 1
13082 462840 : packed_data(ipack) = pack_tmp
13083 462840 : data_tmp = full_data(idata)
13084 462840 : pack_tmp = ISHFT(data_tmp, 50)
13085 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13086 462840 : idata = idata + 1
13087 462840 : data_tmp = full_data(idata)
13088 462840 : data_tmp = ISHFT(data_tmp, 45)
13089 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13090 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13091 462840 : idata = idata + 1
13092 462840 : data_tmp = full_data(idata)
13093 462840 : data_tmp = ISHFT(data_tmp, 45)
13094 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13095 462840 : pack_tmp = ISHFT(pack_tmp, -12)
13096 462840 : idata = idata + 1
13097 462840 : data_tmp = full_data(idata)
13098 462840 : data_tmp = ISHFT(data_tmp, 45)
13099 462840 : data_tmp = IAND(data_tmp, mask_left(12))
13100 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13101 462840 : ipack = ipack + 1
13102 462840 : packed_data(ipack) = pack_tmp
13103 462840 : data_tmp = full_data(idata)
13104 462840 : pack_tmp = ISHFT(data_tmp, 57)
13105 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13106 462840 : idata = idata + 1
13107 462840 : data_tmp = full_data(idata)
13108 462840 : data_tmp = ISHFT(data_tmp, 45)
13109 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13110 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13111 462840 : idata = idata + 1
13112 462840 : data_tmp = full_data(idata)
13113 462840 : data_tmp = ISHFT(data_tmp, 45)
13114 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13115 462840 : pack_tmp = ISHFT(pack_tmp, -19)
13116 462840 : idata = idata + 1
13117 462840 : data_tmp = full_data(idata)
13118 462840 : data_tmp = ISHFT(data_tmp, 45)
13119 462840 : pack_tmp = IOR(pack_tmp, data_tmp)
13120 : pack_tmp = ISHFT(pack_tmp, 0)
13121 462840 : pack_tmp = ISHFT(pack_tmp, 0)
13122 462840 : ipack = ipack + 1
13123 462934 : packed_data(ipack) = pack_tmp
13124 : END DO
13125 30451 : IF (Ndata_rep < Ndata) THEN
13126 2768 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13127 : END IF
13128 30451 : END SUBROUTINE ints2bits_19
13129 :
13130 : ! **************************************************************************************************
13131 : !> \brief ...
13132 : !> \param Ndata ...
13133 : !> \param packed_data ...
13134 : !> \param full_data ...
13135 : ! **************************************************************************************************
13136 154065 : 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 154065 : ipack = 0
13147 154065 : idata = 0
13148 154065 : pack_tmp = 0
13149 154065 : Ndata_rep = (Ndata/64)*64
13150 154065 : DO kdata = 1, Ndata_rep, 64
13151 2260912 : idata = idata + 1
13152 2260912 : data_tmp = ISHFT(pack_tmp, 19)
13153 2260912 : ipack = ipack + 1
13154 2260912 : pack_tmp = packed_data(ipack)
13155 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
13156 2260912 : pack_tmp = ISHFT(pack_tmp, -19)
13157 2260912 : idata = idata + 1
13158 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13159 2260912 : full_data(idata) = data_tmp
13160 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13161 2260912 : idata = idata + 1
13162 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13163 2260912 : full_data(idata) = data_tmp
13164 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13165 2260912 : idata = idata + 1
13166 2260912 : data_tmp = ISHFT(pack_tmp, 12)
13167 2260912 : ipack = ipack + 1
13168 2260912 : pack_tmp = packed_data(ipack)
13169 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13170 2260912 : pack_tmp = ISHFT(pack_tmp, -12)
13171 2260912 : idata = idata + 1
13172 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13173 2260912 : full_data(idata) = data_tmp
13174 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13175 2260912 : idata = idata + 1
13176 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13177 2260912 : full_data(idata) = data_tmp
13178 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13179 2260912 : idata = idata + 1
13180 2260912 : data_tmp = ISHFT(pack_tmp, 5)
13181 2260912 : ipack = ipack + 1
13182 2260912 : pack_tmp = packed_data(ipack)
13183 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
13184 2260912 : pack_tmp = ISHFT(pack_tmp, -5)
13185 2260912 : idata = idata + 1
13186 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13187 2260912 : full_data(idata) = data_tmp
13188 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13189 2260912 : idata = idata + 1
13190 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13191 2260912 : full_data(idata) = data_tmp
13192 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13193 2260912 : idata = idata + 1
13194 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13195 2260912 : full_data(idata) = data_tmp
13196 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13197 2260912 : idata = idata + 1
13198 2260912 : data_tmp = ISHFT(pack_tmp, 17)
13199 2260912 : ipack = ipack + 1
13200 2260912 : pack_tmp = packed_data(ipack)
13201 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
13202 2260912 : pack_tmp = ISHFT(pack_tmp, -17)
13203 2260912 : idata = idata + 1
13204 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13205 2260912 : full_data(idata) = data_tmp
13206 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13207 2260912 : idata = idata + 1
13208 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13209 2260912 : full_data(idata) = data_tmp
13210 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13211 2260912 : idata = idata + 1
13212 2260912 : data_tmp = ISHFT(pack_tmp, 10)
13213 2260912 : ipack = ipack + 1
13214 2260912 : pack_tmp = packed_data(ipack)
13215 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
13216 2260912 : pack_tmp = ISHFT(pack_tmp, -10)
13217 2260912 : idata = idata + 1
13218 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13219 2260912 : full_data(idata) = data_tmp
13220 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13221 2260912 : idata = idata + 1
13222 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13223 2260912 : full_data(idata) = data_tmp
13224 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13225 2260912 : idata = idata + 1
13226 2260912 : data_tmp = ISHFT(pack_tmp, 3)
13227 2260912 : ipack = ipack + 1
13228 2260912 : pack_tmp = packed_data(ipack)
13229 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
13230 2260912 : pack_tmp = ISHFT(pack_tmp, -3)
13231 2260912 : idata = idata + 1
13232 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13233 2260912 : full_data(idata) = data_tmp
13234 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13235 2260912 : idata = idata + 1
13236 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13237 2260912 : full_data(idata) = data_tmp
13238 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13239 2260912 : idata = idata + 1
13240 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13241 2260912 : full_data(idata) = data_tmp
13242 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13243 2260912 : idata = idata + 1
13244 2260912 : data_tmp = ISHFT(pack_tmp, 15)
13245 2260912 : ipack = ipack + 1
13246 2260912 : pack_tmp = packed_data(ipack)
13247 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
13248 2260912 : pack_tmp = ISHFT(pack_tmp, -15)
13249 2260912 : idata = idata + 1
13250 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13251 2260912 : full_data(idata) = data_tmp
13252 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13253 2260912 : idata = idata + 1
13254 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13255 2260912 : full_data(idata) = data_tmp
13256 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13257 2260912 : idata = idata + 1
13258 2260912 : data_tmp = ISHFT(pack_tmp, 8)
13259 2260912 : ipack = ipack + 1
13260 2260912 : pack_tmp = packed_data(ipack)
13261 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13262 2260912 : pack_tmp = ISHFT(pack_tmp, -8)
13263 2260912 : idata = idata + 1
13264 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13265 2260912 : full_data(idata) = data_tmp
13266 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13267 2260912 : idata = idata + 1
13268 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13269 2260912 : full_data(idata) = data_tmp
13270 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13271 2260912 : idata = idata + 1
13272 2260912 : data_tmp = ISHFT(pack_tmp, 1)
13273 2260912 : ipack = ipack + 1
13274 2260912 : pack_tmp = packed_data(ipack)
13275 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
13276 2260912 : pack_tmp = ISHFT(pack_tmp, -1)
13277 2260912 : idata = idata + 1
13278 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13279 2260912 : full_data(idata) = data_tmp
13280 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13281 2260912 : idata = idata + 1
13282 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13283 2260912 : full_data(idata) = data_tmp
13284 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13285 2260912 : idata = idata + 1
13286 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13287 2260912 : full_data(idata) = data_tmp
13288 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13289 2260912 : idata = idata + 1
13290 2260912 : data_tmp = ISHFT(pack_tmp, 13)
13291 2260912 : ipack = ipack + 1
13292 2260912 : pack_tmp = packed_data(ipack)
13293 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
13294 2260912 : pack_tmp = ISHFT(pack_tmp, -13)
13295 2260912 : idata = idata + 1
13296 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13297 2260912 : full_data(idata) = data_tmp
13298 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13299 2260912 : idata = idata + 1
13300 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13301 2260912 : full_data(idata) = data_tmp
13302 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13303 2260912 : idata = idata + 1
13304 2260912 : data_tmp = ISHFT(pack_tmp, 6)
13305 2260912 : ipack = ipack + 1
13306 2260912 : pack_tmp = packed_data(ipack)
13307 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
13308 2260912 : pack_tmp = ISHFT(pack_tmp, -6)
13309 2260912 : idata = idata + 1
13310 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13311 2260912 : full_data(idata) = data_tmp
13312 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13313 2260912 : idata = idata + 1
13314 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13315 2260912 : full_data(idata) = data_tmp
13316 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13317 2260912 : idata = idata + 1
13318 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13319 2260912 : full_data(idata) = data_tmp
13320 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13321 2260912 : idata = idata + 1
13322 2260912 : data_tmp = ISHFT(pack_tmp, 18)
13323 2260912 : ipack = ipack + 1
13324 2260912 : pack_tmp = packed_data(ipack)
13325 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
13326 2260912 : pack_tmp = ISHFT(pack_tmp, -18)
13327 2260912 : idata = idata + 1
13328 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13329 2260912 : full_data(idata) = data_tmp
13330 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13331 2260912 : idata = idata + 1
13332 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13333 2260912 : full_data(idata) = data_tmp
13334 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13335 2260912 : idata = idata + 1
13336 2260912 : data_tmp = ISHFT(pack_tmp, 11)
13337 2260912 : ipack = ipack + 1
13338 2260912 : pack_tmp = packed_data(ipack)
13339 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
13340 2260912 : pack_tmp = ISHFT(pack_tmp, -11)
13341 2260912 : idata = idata + 1
13342 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13343 2260912 : full_data(idata) = data_tmp
13344 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13345 2260912 : idata = idata + 1
13346 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13347 2260912 : full_data(idata) = data_tmp
13348 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13349 2260912 : idata = idata + 1
13350 2260912 : data_tmp = ISHFT(pack_tmp, 4)
13351 2260912 : ipack = ipack + 1
13352 2260912 : pack_tmp = packed_data(ipack)
13353 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13354 2260912 : pack_tmp = ISHFT(pack_tmp, -4)
13355 2260912 : idata = idata + 1
13356 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13357 2260912 : full_data(idata) = data_tmp
13358 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13359 2260912 : idata = idata + 1
13360 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13361 2260912 : full_data(idata) = data_tmp
13362 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13363 2260912 : idata = idata + 1
13364 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13365 2260912 : full_data(idata) = data_tmp
13366 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13367 2260912 : idata = idata + 1
13368 2260912 : data_tmp = ISHFT(pack_tmp, 16)
13369 2260912 : ipack = ipack + 1
13370 2260912 : pack_tmp = packed_data(ipack)
13371 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13372 2260912 : pack_tmp = ISHFT(pack_tmp, -16)
13373 2260912 : idata = idata + 1
13374 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13375 2260912 : full_data(idata) = data_tmp
13376 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13377 2260912 : idata = idata + 1
13378 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13379 2260912 : full_data(idata) = data_tmp
13380 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13381 2260912 : idata = idata + 1
13382 2260912 : data_tmp = ISHFT(pack_tmp, 9)
13383 2260912 : ipack = ipack + 1
13384 2260912 : pack_tmp = packed_data(ipack)
13385 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
13386 2260912 : pack_tmp = ISHFT(pack_tmp, -9)
13387 2260912 : idata = idata + 1
13388 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13389 2260912 : full_data(idata) = data_tmp
13390 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13391 2260912 : idata = idata + 1
13392 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13393 2260912 : full_data(idata) = data_tmp
13394 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13395 2260912 : idata = idata + 1
13396 2260912 : data_tmp = ISHFT(pack_tmp, 2)
13397 2260912 : ipack = ipack + 1
13398 2260912 : pack_tmp = packed_data(ipack)
13399 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
13400 2260912 : pack_tmp = ISHFT(pack_tmp, -2)
13401 2260912 : idata = idata + 1
13402 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13403 2260912 : full_data(idata) = data_tmp
13404 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13405 2260912 : idata = idata + 1
13406 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13407 2260912 : full_data(idata) = data_tmp
13408 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13409 2260912 : idata = idata + 1
13410 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13411 2260912 : full_data(idata) = data_tmp
13412 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13413 2260912 : idata = idata + 1
13414 2260912 : data_tmp = ISHFT(pack_tmp, 14)
13415 2260912 : ipack = ipack + 1
13416 2260912 : pack_tmp = packed_data(ipack)
13417 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
13418 2260912 : pack_tmp = ISHFT(pack_tmp, -14)
13419 2260912 : idata = idata + 1
13420 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13421 2260912 : full_data(idata) = data_tmp
13422 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13423 2260912 : idata = idata + 1
13424 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13425 2260912 : full_data(idata) = data_tmp
13426 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13427 2260912 : idata = idata + 1
13428 2260912 : data_tmp = ISHFT(pack_tmp, 7)
13429 2260912 : ipack = ipack + 1
13430 2260912 : pack_tmp = packed_data(ipack)
13431 2260912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
13432 2260912 : pack_tmp = ISHFT(pack_tmp, -7)
13433 2260912 : idata = idata + 1
13434 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13435 2260912 : full_data(idata) = data_tmp
13436 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13437 2260912 : idata = idata + 1
13438 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13439 2260912 : full_data(idata) = data_tmp
13440 2260912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13441 2260912 : idata = idata + 1
13442 2260912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13443 2260912 : full_data(idata) = data_tmp
13444 2261685 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13445 : END DO
13446 154065 : IF (Ndata_rep < Ndata) THEN
13447 23200 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13448 : END IF
13449 154065 : END SUBROUTINE bits2ints_19
13450 :
13451 : ! **************************************************************************************************
13452 : !> \brief ...
13453 : !> \param Ndata ...
13454 : !> \param packed_data ...
13455 : !> \param full_data ...
13456 : ! **************************************************************************************************
13457 41404 : 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 41404 : idata = 0
13468 41404 : ipack = 0
13469 41404 : Ndata_rep = (Ndata/64)*64
13470 41404 : DO kdata = 1, Ndata_rep, 64
13471 592298 : pack_tmp = 0
13472 592298 : idata = idata + 1
13473 592298 : data_tmp = full_data(idata)
13474 592298 : data_tmp = ISHFT(data_tmp, 44)
13475 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13476 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13477 592298 : idata = idata + 1
13478 592298 : data_tmp = full_data(idata)
13479 592298 : data_tmp = ISHFT(data_tmp, 44)
13480 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13481 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13482 592298 : idata = idata + 1
13483 592298 : data_tmp = full_data(idata)
13484 592298 : data_tmp = ISHFT(data_tmp, 44)
13485 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13486 592298 : pack_tmp = ISHFT(pack_tmp, -4)
13487 592298 : idata = idata + 1
13488 592298 : data_tmp = full_data(idata)
13489 592298 : data_tmp = ISHFT(data_tmp, 44)
13490 592298 : data_tmp = IAND(data_tmp, mask_left(4))
13491 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13492 592298 : ipack = ipack + 1
13493 592298 : packed_data(ipack) = pack_tmp
13494 592298 : data_tmp = full_data(idata)
13495 592298 : pack_tmp = ISHFT(data_tmp, 48)
13496 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13497 592298 : idata = idata + 1
13498 592298 : data_tmp = full_data(idata)
13499 592298 : data_tmp = ISHFT(data_tmp, 44)
13500 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13501 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13502 592298 : idata = idata + 1
13503 592298 : data_tmp = full_data(idata)
13504 592298 : data_tmp = ISHFT(data_tmp, 44)
13505 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13506 592298 : pack_tmp = ISHFT(pack_tmp, -8)
13507 592298 : idata = idata + 1
13508 592298 : data_tmp = full_data(idata)
13509 592298 : data_tmp = ISHFT(data_tmp, 44)
13510 592298 : data_tmp = IAND(data_tmp, mask_left(8))
13511 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13512 592298 : ipack = ipack + 1
13513 592298 : packed_data(ipack) = pack_tmp
13514 592298 : data_tmp = full_data(idata)
13515 592298 : pack_tmp = ISHFT(data_tmp, 52)
13516 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13517 592298 : idata = idata + 1
13518 592298 : data_tmp = full_data(idata)
13519 592298 : data_tmp = ISHFT(data_tmp, 44)
13520 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13521 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13522 592298 : idata = idata + 1
13523 592298 : data_tmp = full_data(idata)
13524 592298 : data_tmp = ISHFT(data_tmp, 44)
13525 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13526 592298 : pack_tmp = ISHFT(pack_tmp, -12)
13527 592298 : idata = idata + 1
13528 592298 : data_tmp = full_data(idata)
13529 592298 : data_tmp = ISHFT(data_tmp, 44)
13530 592298 : data_tmp = IAND(data_tmp, mask_left(12))
13531 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13532 592298 : ipack = ipack + 1
13533 592298 : packed_data(ipack) = pack_tmp
13534 592298 : data_tmp = full_data(idata)
13535 592298 : pack_tmp = ISHFT(data_tmp, 56)
13536 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13537 592298 : idata = idata + 1
13538 592298 : data_tmp = full_data(idata)
13539 592298 : data_tmp = ISHFT(data_tmp, 44)
13540 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13541 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13542 592298 : idata = idata + 1
13543 592298 : data_tmp = full_data(idata)
13544 592298 : data_tmp = ISHFT(data_tmp, 44)
13545 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13546 592298 : pack_tmp = ISHFT(pack_tmp, -16)
13547 592298 : idata = idata + 1
13548 592298 : data_tmp = full_data(idata)
13549 592298 : data_tmp = ISHFT(data_tmp, 44)
13550 592298 : data_tmp = IAND(data_tmp, mask_left(16))
13551 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13552 592298 : ipack = ipack + 1
13553 592298 : packed_data(ipack) = pack_tmp
13554 592298 : data_tmp = full_data(idata)
13555 592298 : pack_tmp = ISHFT(data_tmp, 60)
13556 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13557 592298 : idata = idata + 1
13558 592298 : data_tmp = full_data(idata)
13559 592298 : data_tmp = ISHFT(data_tmp, 44)
13560 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13561 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13562 592298 : idata = idata + 1
13563 592298 : data_tmp = full_data(idata)
13564 592298 : data_tmp = ISHFT(data_tmp, 44)
13565 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13566 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13567 592298 : idata = idata + 1
13568 592298 : data_tmp = full_data(idata)
13569 592298 : data_tmp = ISHFT(data_tmp, 44)
13570 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13571 592298 : pack_tmp = ISHFT(pack_tmp, 0)
13572 592298 : idata = idata + 1
13573 592298 : data_tmp = full_data(idata)
13574 : data_tmp = ISHFT(data_tmp, 44)
13575 592298 : data_tmp = IAND(data_tmp, mask_left(0))
13576 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13577 592298 : ipack = ipack + 1
13578 592298 : packed_data(ipack) = pack_tmp
13579 592298 : data_tmp = full_data(idata)
13580 592298 : pack_tmp = ISHFT(data_tmp, 44)
13581 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13582 592298 : idata = idata + 1
13583 592298 : data_tmp = full_data(idata)
13584 592298 : data_tmp = ISHFT(data_tmp, 44)
13585 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13586 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13587 592298 : idata = idata + 1
13588 592298 : data_tmp = full_data(idata)
13589 592298 : data_tmp = ISHFT(data_tmp, 44)
13590 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13591 592298 : pack_tmp = ISHFT(pack_tmp, -4)
13592 592298 : idata = idata + 1
13593 592298 : data_tmp = full_data(idata)
13594 592298 : data_tmp = ISHFT(data_tmp, 44)
13595 592298 : data_tmp = IAND(data_tmp, mask_left(4))
13596 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13597 592298 : ipack = ipack + 1
13598 592298 : packed_data(ipack) = pack_tmp
13599 592298 : data_tmp = full_data(idata)
13600 592298 : pack_tmp = ISHFT(data_tmp, 48)
13601 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13602 592298 : idata = idata + 1
13603 592298 : data_tmp = full_data(idata)
13604 592298 : data_tmp = ISHFT(data_tmp, 44)
13605 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13606 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13607 592298 : idata = idata + 1
13608 592298 : data_tmp = full_data(idata)
13609 592298 : data_tmp = ISHFT(data_tmp, 44)
13610 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13611 592298 : pack_tmp = ISHFT(pack_tmp, -8)
13612 592298 : idata = idata + 1
13613 592298 : data_tmp = full_data(idata)
13614 592298 : data_tmp = ISHFT(data_tmp, 44)
13615 592298 : data_tmp = IAND(data_tmp, mask_left(8))
13616 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13617 592298 : ipack = ipack + 1
13618 592298 : packed_data(ipack) = pack_tmp
13619 592298 : data_tmp = full_data(idata)
13620 592298 : pack_tmp = ISHFT(data_tmp, 52)
13621 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13622 592298 : idata = idata + 1
13623 592298 : data_tmp = full_data(idata)
13624 592298 : data_tmp = ISHFT(data_tmp, 44)
13625 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13626 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13627 592298 : idata = idata + 1
13628 592298 : data_tmp = full_data(idata)
13629 592298 : data_tmp = ISHFT(data_tmp, 44)
13630 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13631 592298 : pack_tmp = ISHFT(pack_tmp, -12)
13632 592298 : idata = idata + 1
13633 592298 : data_tmp = full_data(idata)
13634 592298 : data_tmp = ISHFT(data_tmp, 44)
13635 592298 : data_tmp = IAND(data_tmp, mask_left(12))
13636 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13637 592298 : ipack = ipack + 1
13638 592298 : packed_data(ipack) = pack_tmp
13639 592298 : data_tmp = full_data(idata)
13640 592298 : pack_tmp = ISHFT(data_tmp, 56)
13641 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13642 592298 : idata = idata + 1
13643 592298 : data_tmp = full_data(idata)
13644 592298 : data_tmp = ISHFT(data_tmp, 44)
13645 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13646 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13647 592298 : idata = idata + 1
13648 592298 : data_tmp = full_data(idata)
13649 592298 : data_tmp = ISHFT(data_tmp, 44)
13650 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13651 592298 : pack_tmp = ISHFT(pack_tmp, -16)
13652 592298 : idata = idata + 1
13653 592298 : data_tmp = full_data(idata)
13654 592298 : data_tmp = ISHFT(data_tmp, 44)
13655 592298 : data_tmp = IAND(data_tmp, mask_left(16))
13656 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13657 592298 : ipack = ipack + 1
13658 592298 : packed_data(ipack) = pack_tmp
13659 592298 : data_tmp = full_data(idata)
13660 592298 : pack_tmp = ISHFT(data_tmp, 60)
13661 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13662 592298 : idata = idata + 1
13663 592298 : data_tmp = full_data(idata)
13664 592298 : data_tmp = ISHFT(data_tmp, 44)
13665 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13666 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13667 592298 : idata = idata + 1
13668 592298 : data_tmp = full_data(idata)
13669 592298 : data_tmp = ISHFT(data_tmp, 44)
13670 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13671 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13672 592298 : idata = idata + 1
13673 592298 : data_tmp = full_data(idata)
13674 592298 : data_tmp = ISHFT(data_tmp, 44)
13675 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13676 592298 : pack_tmp = ISHFT(pack_tmp, 0)
13677 592298 : idata = idata + 1
13678 592298 : data_tmp = full_data(idata)
13679 : data_tmp = ISHFT(data_tmp, 44)
13680 592298 : data_tmp = IAND(data_tmp, mask_left(0))
13681 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13682 592298 : ipack = ipack + 1
13683 592298 : packed_data(ipack) = pack_tmp
13684 592298 : data_tmp = full_data(idata)
13685 592298 : pack_tmp = ISHFT(data_tmp, 44)
13686 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13687 592298 : idata = idata + 1
13688 592298 : data_tmp = full_data(idata)
13689 592298 : data_tmp = ISHFT(data_tmp, 44)
13690 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13691 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13692 592298 : idata = idata + 1
13693 592298 : data_tmp = full_data(idata)
13694 592298 : data_tmp = ISHFT(data_tmp, 44)
13695 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13696 592298 : pack_tmp = ISHFT(pack_tmp, -4)
13697 592298 : idata = idata + 1
13698 592298 : data_tmp = full_data(idata)
13699 592298 : data_tmp = ISHFT(data_tmp, 44)
13700 592298 : data_tmp = IAND(data_tmp, mask_left(4))
13701 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13702 592298 : ipack = ipack + 1
13703 592298 : packed_data(ipack) = pack_tmp
13704 592298 : data_tmp = full_data(idata)
13705 592298 : pack_tmp = ISHFT(data_tmp, 48)
13706 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13707 592298 : idata = idata + 1
13708 592298 : data_tmp = full_data(idata)
13709 592298 : data_tmp = ISHFT(data_tmp, 44)
13710 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13711 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13712 592298 : idata = idata + 1
13713 592298 : data_tmp = full_data(idata)
13714 592298 : data_tmp = ISHFT(data_tmp, 44)
13715 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13716 592298 : pack_tmp = ISHFT(pack_tmp, -8)
13717 592298 : idata = idata + 1
13718 592298 : data_tmp = full_data(idata)
13719 592298 : data_tmp = ISHFT(data_tmp, 44)
13720 592298 : data_tmp = IAND(data_tmp, mask_left(8))
13721 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13722 592298 : ipack = ipack + 1
13723 592298 : packed_data(ipack) = pack_tmp
13724 592298 : data_tmp = full_data(idata)
13725 592298 : pack_tmp = ISHFT(data_tmp, 52)
13726 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13727 592298 : idata = idata + 1
13728 592298 : data_tmp = full_data(idata)
13729 592298 : data_tmp = ISHFT(data_tmp, 44)
13730 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13731 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13732 592298 : idata = idata + 1
13733 592298 : data_tmp = full_data(idata)
13734 592298 : data_tmp = ISHFT(data_tmp, 44)
13735 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13736 592298 : pack_tmp = ISHFT(pack_tmp, -12)
13737 592298 : idata = idata + 1
13738 592298 : data_tmp = full_data(idata)
13739 592298 : data_tmp = ISHFT(data_tmp, 44)
13740 592298 : data_tmp = IAND(data_tmp, mask_left(12))
13741 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13742 592298 : ipack = ipack + 1
13743 592298 : packed_data(ipack) = pack_tmp
13744 592298 : data_tmp = full_data(idata)
13745 592298 : pack_tmp = ISHFT(data_tmp, 56)
13746 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13747 592298 : idata = idata + 1
13748 592298 : data_tmp = full_data(idata)
13749 592298 : data_tmp = ISHFT(data_tmp, 44)
13750 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13751 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13752 592298 : idata = idata + 1
13753 592298 : data_tmp = full_data(idata)
13754 592298 : data_tmp = ISHFT(data_tmp, 44)
13755 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13756 592298 : pack_tmp = ISHFT(pack_tmp, -16)
13757 592298 : idata = idata + 1
13758 592298 : data_tmp = full_data(idata)
13759 592298 : data_tmp = ISHFT(data_tmp, 44)
13760 592298 : data_tmp = IAND(data_tmp, mask_left(16))
13761 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13762 592298 : ipack = ipack + 1
13763 592298 : packed_data(ipack) = pack_tmp
13764 592298 : data_tmp = full_data(idata)
13765 592298 : pack_tmp = ISHFT(data_tmp, 60)
13766 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13767 592298 : idata = idata + 1
13768 592298 : data_tmp = full_data(idata)
13769 592298 : data_tmp = ISHFT(data_tmp, 44)
13770 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13771 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13772 592298 : idata = idata + 1
13773 592298 : data_tmp = full_data(idata)
13774 592298 : data_tmp = ISHFT(data_tmp, 44)
13775 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13776 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13777 592298 : idata = idata + 1
13778 592298 : data_tmp = full_data(idata)
13779 592298 : data_tmp = ISHFT(data_tmp, 44)
13780 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13781 592298 : pack_tmp = ISHFT(pack_tmp, 0)
13782 592298 : idata = idata + 1
13783 592298 : data_tmp = full_data(idata)
13784 : data_tmp = ISHFT(data_tmp, 44)
13785 592298 : data_tmp = IAND(data_tmp, mask_left(0))
13786 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13787 592298 : ipack = ipack + 1
13788 592298 : packed_data(ipack) = pack_tmp
13789 592298 : data_tmp = full_data(idata)
13790 592298 : pack_tmp = ISHFT(data_tmp, 44)
13791 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13792 592298 : idata = idata + 1
13793 592298 : data_tmp = full_data(idata)
13794 592298 : data_tmp = ISHFT(data_tmp, 44)
13795 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13796 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13797 592298 : idata = idata + 1
13798 592298 : data_tmp = full_data(idata)
13799 592298 : data_tmp = ISHFT(data_tmp, 44)
13800 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13801 592298 : pack_tmp = ISHFT(pack_tmp, -4)
13802 592298 : idata = idata + 1
13803 592298 : data_tmp = full_data(idata)
13804 592298 : data_tmp = ISHFT(data_tmp, 44)
13805 592298 : data_tmp = IAND(data_tmp, mask_left(4))
13806 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13807 592298 : ipack = ipack + 1
13808 592298 : packed_data(ipack) = pack_tmp
13809 592298 : data_tmp = full_data(idata)
13810 592298 : pack_tmp = ISHFT(data_tmp, 48)
13811 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13812 592298 : idata = idata + 1
13813 592298 : data_tmp = full_data(idata)
13814 592298 : data_tmp = ISHFT(data_tmp, 44)
13815 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13816 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13817 592298 : idata = idata + 1
13818 592298 : data_tmp = full_data(idata)
13819 592298 : data_tmp = ISHFT(data_tmp, 44)
13820 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13821 592298 : pack_tmp = ISHFT(pack_tmp, -8)
13822 592298 : idata = idata + 1
13823 592298 : data_tmp = full_data(idata)
13824 592298 : data_tmp = ISHFT(data_tmp, 44)
13825 592298 : data_tmp = IAND(data_tmp, mask_left(8))
13826 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13827 592298 : ipack = ipack + 1
13828 592298 : packed_data(ipack) = pack_tmp
13829 592298 : data_tmp = full_data(idata)
13830 592298 : pack_tmp = ISHFT(data_tmp, 52)
13831 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13832 592298 : idata = idata + 1
13833 592298 : data_tmp = full_data(idata)
13834 592298 : data_tmp = ISHFT(data_tmp, 44)
13835 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13836 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13837 592298 : idata = idata + 1
13838 592298 : data_tmp = full_data(idata)
13839 592298 : data_tmp = ISHFT(data_tmp, 44)
13840 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13841 592298 : pack_tmp = ISHFT(pack_tmp, -12)
13842 592298 : idata = idata + 1
13843 592298 : data_tmp = full_data(idata)
13844 592298 : data_tmp = ISHFT(data_tmp, 44)
13845 592298 : data_tmp = IAND(data_tmp, mask_left(12))
13846 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13847 592298 : ipack = ipack + 1
13848 592298 : packed_data(ipack) = pack_tmp
13849 592298 : data_tmp = full_data(idata)
13850 592298 : pack_tmp = ISHFT(data_tmp, 56)
13851 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13852 592298 : idata = idata + 1
13853 592298 : data_tmp = full_data(idata)
13854 592298 : data_tmp = ISHFT(data_tmp, 44)
13855 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13856 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13857 592298 : idata = idata + 1
13858 592298 : data_tmp = full_data(idata)
13859 592298 : data_tmp = ISHFT(data_tmp, 44)
13860 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13861 592298 : pack_tmp = ISHFT(pack_tmp, -16)
13862 592298 : idata = idata + 1
13863 592298 : data_tmp = full_data(idata)
13864 592298 : data_tmp = ISHFT(data_tmp, 44)
13865 592298 : data_tmp = IAND(data_tmp, mask_left(16))
13866 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13867 592298 : ipack = ipack + 1
13868 592298 : packed_data(ipack) = pack_tmp
13869 592298 : data_tmp = full_data(idata)
13870 592298 : pack_tmp = ISHFT(data_tmp, 60)
13871 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13872 592298 : idata = idata + 1
13873 592298 : data_tmp = full_data(idata)
13874 592298 : data_tmp = ISHFT(data_tmp, 44)
13875 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13876 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13877 592298 : idata = idata + 1
13878 592298 : data_tmp = full_data(idata)
13879 592298 : data_tmp = ISHFT(data_tmp, 44)
13880 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13881 592298 : pack_tmp = ISHFT(pack_tmp, -20)
13882 592298 : idata = idata + 1
13883 592298 : data_tmp = full_data(idata)
13884 592298 : data_tmp = ISHFT(data_tmp, 44)
13885 592298 : pack_tmp = IOR(pack_tmp, data_tmp)
13886 : pack_tmp = ISHFT(pack_tmp, 0)
13887 592298 : pack_tmp = ISHFT(pack_tmp, 0)
13888 592298 : ipack = ipack + 1
13889 592685 : packed_data(ipack) = pack_tmp
13890 : END DO
13891 41404 : IF (Ndata_rep < Ndata) THEN
13892 7308 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13893 : END IF
13894 41404 : END SUBROUTINE ints2bits_20
13895 :
13896 : ! **************************************************************************************************
13897 : !> \brief ...
13898 : !> \param Ndata ...
13899 : !> \param packed_data ...
13900 : !> \param full_data ...
13901 : ! **************************************************************************************************
13902 283358 : 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 283358 : ipack = 0
13913 283358 : idata = 0
13914 283358 : pack_tmp = 0
13915 283358 : Ndata_rep = (Ndata/64)*64
13916 283358 : DO kdata = 1, Ndata_rep, 64
13917 3799329 : idata = idata + 1
13918 3799329 : data_tmp = ISHFT(pack_tmp, 20)
13919 3799329 : ipack = ipack + 1
13920 3799329 : pack_tmp = packed_data(ipack)
13921 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13922 3799329 : pack_tmp = ISHFT(pack_tmp, -20)
13923 3799329 : idata = idata + 1
13924 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13925 3799329 : full_data(idata) = data_tmp
13926 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13927 3799329 : idata = idata + 1
13928 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13929 3799329 : full_data(idata) = data_tmp
13930 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13931 3799329 : idata = idata + 1
13932 3799329 : data_tmp = ISHFT(pack_tmp, 16)
13933 3799329 : ipack = ipack + 1
13934 3799329 : pack_tmp = packed_data(ipack)
13935 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13936 3799329 : pack_tmp = ISHFT(pack_tmp, -16)
13937 3799329 : idata = idata + 1
13938 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13939 3799329 : full_data(idata) = data_tmp
13940 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13941 3799329 : idata = idata + 1
13942 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13943 3799329 : full_data(idata) = data_tmp
13944 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13945 3799329 : idata = idata + 1
13946 3799329 : data_tmp = ISHFT(pack_tmp, 12)
13947 3799329 : ipack = ipack + 1
13948 3799329 : pack_tmp = packed_data(ipack)
13949 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13950 3799329 : pack_tmp = ISHFT(pack_tmp, -12)
13951 3799329 : idata = idata + 1
13952 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13953 3799329 : full_data(idata) = data_tmp
13954 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13955 3799329 : idata = idata + 1
13956 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13957 3799329 : full_data(idata) = data_tmp
13958 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13959 3799329 : idata = idata + 1
13960 3799329 : data_tmp = ISHFT(pack_tmp, 8)
13961 3799329 : ipack = ipack + 1
13962 3799329 : pack_tmp = packed_data(ipack)
13963 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13964 3799329 : pack_tmp = ISHFT(pack_tmp, -8)
13965 3799329 : idata = idata + 1
13966 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13967 3799329 : full_data(idata) = data_tmp
13968 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13969 3799329 : idata = idata + 1
13970 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13971 3799329 : full_data(idata) = data_tmp
13972 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13973 3799329 : idata = idata + 1
13974 3799329 : data_tmp = ISHFT(pack_tmp, 4)
13975 3799329 : ipack = ipack + 1
13976 3799329 : pack_tmp = packed_data(ipack)
13977 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13978 3799329 : pack_tmp = ISHFT(pack_tmp, -4)
13979 3799329 : idata = idata + 1
13980 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13981 3799329 : full_data(idata) = data_tmp
13982 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13983 3799329 : idata = idata + 1
13984 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13985 3799329 : full_data(idata) = data_tmp
13986 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13987 3799329 : idata = idata + 1
13988 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13989 3799329 : full_data(idata) = data_tmp
13990 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13991 3799329 : idata = idata + 1
13992 3799329 : data_tmp = ISHFT(pack_tmp, 20)
13993 3799329 : ipack = ipack + 1
13994 3799329 : pack_tmp = packed_data(ipack)
13995 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13996 3799329 : pack_tmp = ISHFT(pack_tmp, -20)
13997 3799329 : idata = idata + 1
13998 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13999 3799329 : full_data(idata) = data_tmp
14000 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14001 3799329 : idata = idata + 1
14002 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14003 3799329 : full_data(idata) = data_tmp
14004 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14005 3799329 : idata = idata + 1
14006 3799329 : data_tmp = ISHFT(pack_tmp, 16)
14007 3799329 : ipack = ipack + 1
14008 3799329 : pack_tmp = packed_data(ipack)
14009 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14010 3799329 : pack_tmp = ISHFT(pack_tmp, -16)
14011 3799329 : idata = idata + 1
14012 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14013 3799329 : full_data(idata) = data_tmp
14014 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14015 3799329 : idata = idata + 1
14016 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14017 3799329 : full_data(idata) = data_tmp
14018 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14019 3799329 : idata = idata + 1
14020 3799329 : data_tmp = ISHFT(pack_tmp, 12)
14021 3799329 : ipack = ipack + 1
14022 3799329 : pack_tmp = packed_data(ipack)
14023 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14024 3799329 : pack_tmp = ISHFT(pack_tmp, -12)
14025 3799329 : idata = idata + 1
14026 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14027 3799329 : full_data(idata) = data_tmp
14028 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14029 3799329 : idata = idata + 1
14030 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14031 3799329 : full_data(idata) = data_tmp
14032 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14033 3799329 : idata = idata + 1
14034 3799329 : data_tmp = ISHFT(pack_tmp, 8)
14035 3799329 : ipack = ipack + 1
14036 3799329 : pack_tmp = packed_data(ipack)
14037 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14038 3799329 : pack_tmp = ISHFT(pack_tmp, -8)
14039 3799329 : idata = idata + 1
14040 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14041 3799329 : full_data(idata) = data_tmp
14042 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14043 3799329 : idata = idata + 1
14044 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14045 3799329 : full_data(idata) = data_tmp
14046 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14047 3799329 : idata = idata + 1
14048 3799329 : data_tmp = ISHFT(pack_tmp, 4)
14049 3799329 : ipack = ipack + 1
14050 3799329 : pack_tmp = packed_data(ipack)
14051 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14052 3799329 : pack_tmp = ISHFT(pack_tmp, -4)
14053 3799329 : idata = idata + 1
14054 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14055 3799329 : full_data(idata) = data_tmp
14056 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14057 3799329 : idata = idata + 1
14058 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14059 3799329 : full_data(idata) = data_tmp
14060 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14061 3799329 : idata = idata + 1
14062 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14063 3799329 : full_data(idata) = data_tmp
14064 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14065 3799329 : idata = idata + 1
14066 3799329 : data_tmp = ISHFT(pack_tmp, 20)
14067 3799329 : ipack = ipack + 1
14068 3799329 : pack_tmp = packed_data(ipack)
14069 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14070 3799329 : pack_tmp = ISHFT(pack_tmp, -20)
14071 3799329 : idata = idata + 1
14072 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14073 3799329 : full_data(idata) = data_tmp
14074 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14075 3799329 : idata = idata + 1
14076 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14077 3799329 : full_data(idata) = data_tmp
14078 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14079 3799329 : idata = idata + 1
14080 3799329 : data_tmp = ISHFT(pack_tmp, 16)
14081 3799329 : ipack = ipack + 1
14082 3799329 : pack_tmp = packed_data(ipack)
14083 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14084 3799329 : pack_tmp = ISHFT(pack_tmp, -16)
14085 3799329 : idata = idata + 1
14086 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14087 3799329 : full_data(idata) = data_tmp
14088 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14089 3799329 : idata = idata + 1
14090 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14091 3799329 : full_data(idata) = data_tmp
14092 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14093 3799329 : idata = idata + 1
14094 3799329 : data_tmp = ISHFT(pack_tmp, 12)
14095 3799329 : ipack = ipack + 1
14096 3799329 : pack_tmp = packed_data(ipack)
14097 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14098 3799329 : pack_tmp = ISHFT(pack_tmp, -12)
14099 3799329 : idata = idata + 1
14100 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14101 3799329 : full_data(idata) = data_tmp
14102 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14103 3799329 : idata = idata + 1
14104 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14105 3799329 : full_data(idata) = data_tmp
14106 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14107 3799329 : idata = idata + 1
14108 3799329 : data_tmp = ISHFT(pack_tmp, 8)
14109 3799329 : ipack = ipack + 1
14110 3799329 : pack_tmp = packed_data(ipack)
14111 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14112 3799329 : pack_tmp = ISHFT(pack_tmp, -8)
14113 3799329 : idata = idata + 1
14114 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14115 3799329 : full_data(idata) = data_tmp
14116 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14117 3799329 : idata = idata + 1
14118 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14119 3799329 : full_data(idata) = data_tmp
14120 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14121 3799329 : idata = idata + 1
14122 3799329 : data_tmp = ISHFT(pack_tmp, 4)
14123 3799329 : ipack = ipack + 1
14124 3799329 : pack_tmp = packed_data(ipack)
14125 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14126 3799329 : pack_tmp = ISHFT(pack_tmp, -4)
14127 3799329 : idata = idata + 1
14128 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14129 3799329 : full_data(idata) = data_tmp
14130 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14131 3799329 : idata = idata + 1
14132 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14133 3799329 : full_data(idata) = data_tmp
14134 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14135 3799329 : idata = idata + 1
14136 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14137 3799329 : full_data(idata) = data_tmp
14138 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14139 3799329 : idata = idata + 1
14140 3799329 : data_tmp = ISHFT(pack_tmp, 20)
14141 3799329 : ipack = ipack + 1
14142 3799329 : pack_tmp = packed_data(ipack)
14143 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14144 3799329 : pack_tmp = ISHFT(pack_tmp, -20)
14145 3799329 : idata = idata + 1
14146 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14147 3799329 : full_data(idata) = data_tmp
14148 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14149 3799329 : idata = idata + 1
14150 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14151 3799329 : full_data(idata) = data_tmp
14152 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14153 3799329 : idata = idata + 1
14154 3799329 : data_tmp = ISHFT(pack_tmp, 16)
14155 3799329 : ipack = ipack + 1
14156 3799329 : pack_tmp = packed_data(ipack)
14157 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14158 3799329 : pack_tmp = ISHFT(pack_tmp, -16)
14159 3799329 : idata = idata + 1
14160 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14161 3799329 : full_data(idata) = data_tmp
14162 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14163 3799329 : idata = idata + 1
14164 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14165 3799329 : full_data(idata) = data_tmp
14166 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14167 3799329 : idata = idata + 1
14168 3799329 : data_tmp = ISHFT(pack_tmp, 12)
14169 3799329 : ipack = ipack + 1
14170 3799329 : pack_tmp = packed_data(ipack)
14171 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14172 3799329 : pack_tmp = ISHFT(pack_tmp, -12)
14173 3799329 : idata = idata + 1
14174 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14175 3799329 : full_data(idata) = data_tmp
14176 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14177 3799329 : idata = idata + 1
14178 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14179 3799329 : full_data(idata) = data_tmp
14180 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14181 3799329 : idata = idata + 1
14182 3799329 : data_tmp = ISHFT(pack_tmp, 8)
14183 3799329 : ipack = ipack + 1
14184 3799329 : pack_tmp = packed_data(ipack)
14185 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14186 3799329 : pack_tmp = ISHFT(pack_tmp, -8)
14187 3799329 : idata = idata + 1
14188 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14189 3799329 : full_data(idata) = data_tmp
14190 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14191 3799329 : idata = idata + 1
14192 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14193 3799329 : full_data(idata) = data_tmp
14194 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14195 3799329 : idata = idata + 1
14196 3799329 : data_tmp = ISHFT(pack_tmp, 4)
14197 3799329 : ipack = ipack + 1
14198 3799329 : pack_tmp = packed_data(ipack)
14199 3799329 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14200 3799329 : pack_tmp = ISHFT(pack_tmp, -4)
14201 3799329 : idata = idata + 1
14202 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14203 3799329 : full_data(idata) = data_tmp
14204 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14205 3799329 : idata = idata + 1
14206 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14207 3799329 : full_data(idata) = data_tmp
14208 3799329 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14209 3799329 : idata = idata + 1
14210 3799329 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14211 3799329 : full_data(idata) = data_tmp
14212 3803175 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14213 : END DO
14214 283358 : IF (Ndata_rep < Ndata) THEN
14215 77790 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14216 : END IF
14217 283358 : END SUBROUTINE bits2ints_20
14218 :
14219 : ! **************************************************************************************************
14220 : !> \brief ...
14221 : !> \param Ndata ...
14222 : !> \param packed_data ...
14223 : !> \param full_data ...
14224 : ! **************************************************************************************************
14225 29421 : 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 29421 : idata = 0
14236 29421 : ipack = 0
14237 29421 : Ndata_rep = (Ndata/64)*64
14238 29421 : DO kdata = 1, Ndata_rep, 64
14239 448160 : pack_tmp = 0
14240 448160 : idata = idata + 1
14241 448160 : data_tmp = full_data(idata)
14242 448160 : data_tmp = ISHFT(data_tmp, 43)
14243 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14244 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14245 448160 : idata = idata + 1
14246 448160 : data_tmp = full_data(idata)
14247 448160 : data_tmp = ISHFT(data_tmp, 43)
14248 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14249 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14250 448160 : idata = idata + 1
14251 448160 : data_tmp = full_data(idata)
14252 448160 : data_tmp = ISHFT(data_tmp, 43)
14253 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14254 448160 : pack_tmp = ISHFT(pack_tmp, -1)
14255 448160 : idata = idata + 1
14256 448160 : data_tmp = full_data(idata)
14257 448160 : data_tmp = ISHFT(data_tmp, 43)
14258 448160 : data_tmp = IAND(data_tmp, mask_left(1))
14259 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14260 448160 : ipack = ipack + 1
14261 448160 : packed_data(ipack) = pack_tmp
14262 448160 : data_tmp = full_data(idata)
14263 448160 : pack_tmp = ISHFT(data_tmp, 44)
14264 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14265 448160 : idata = idata + 1
14266 448160 : data_tmp = full_data(idata)
14267 448160 : data_tmp = ISHFT(data_tmp, 43)
14268 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14269 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14270 448160 : idata = idata + 1
14271 448160 : data_tmp = full_data(idata)
14272 448160 : data_tmp = ISHFT(data_tmp, 43)
14273 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14274 448160 : pack_tmp = ISHFT(pack_tmp, -2)
14275 448160 : idata = idata + 1
14276 448160 : data_tmp = full_data(idata)
14277 448160 : data_tmp = ISHFT(data_tmp, 43)
14278 448160 : data_tmp = IAND(data_tmp, mask_left(2))
14279 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14280 448160 : ipack = ipack + 1
14281 448160 : packed_data(ipack) = pack_tmp
14282 448160 : data_tmp = full_data(idata)
14283 448160 : pack_tmp = ISHFT(data_tmp, 45)
14284 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14285 448160 : idata = idata + 1
14286 448160 : data_tmp = full_data(idata)
14287 448160 : data_tmp = ISHFT(data_tmp, 43)
14288 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14289 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14290 448160 : idata = idata + 1
14291 448160 : data_tmp = full_data(idata)
14292 448160 : data_tmp = ISHFT(data_tmp, 43)
14293 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14294 448160 : pack_tmp = ISHFT(pack_tmp, -3)
14295 448160 : idata = idata + 1
14296 448160 : data_tmp = full_data(idata)
14297 448160 : data_tmp = ISHFT(data_tmp, 43)
14298 448160 : data_tmp = IAND(data_tmp, mask_left(3))
14299 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14300 448160 : ipack = ipack + 1
14301 448160 : packed_data(ipack) = pack_tmp
14302 448160 : data_tmp = full_data(idata)
14303 448160 : pack_tmp = ISHFT(data_tmp, 46)
14304 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14305 448160 : idata = idata + 1
14306 448160 : data_tmp = full_data(idata)
14307 448160 : data_tmp = ISHFT(data_tmp, 43)
14308 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14309 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14310 448160 : idata = idata + 1
14311 448160 : data_tmp = full_data(idata)
14312 448160 : data_tmp = ISHFT(data_tmp, 43)
14313 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14314 448160 : pack_tmp = ISHFT(pack_tmp, -4)
14315 448160 : idata = idata + 1
14316 448160 : data_tmp = full_data(idata)
14317 448160 : data_tmp = ISHFT(data_tmp, 43)
14318 448160 : data_tmp = IAND(data_tmp, mask_left(4))
14319 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14320 448160 : ipack = ipack + 1
14321 448160 : packed_data(ipack) = pack_tmp
14322 448160 : data_tmp = full_data(idata)
14323 448160 : pack_tmp = ISHFT(data_tmp, 47)
14324 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14325 448160 : idata = idata + 1
14326 448160 : data_tmp = full_data(idata)
14327 448160 : data_tmp = ISHFT(data_tmp, 43)
14328 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14329 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14330 448160 : idata = idata + 1
14331 448160 : data_tmp = full_data(idata)
14332 448160 : data_tmp = ISHFT(data_tmp, 43)
14333 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14334 448160 : pack_tmp = ISHFT(pack_tmp, -5)
14335 448160 : idata = idata + 1
14336 448160 : data_tmp = full_data(idata)
14337 448160 : data_tmp = ISHFT(data_tmp, 43)
14338 448160 : data_tmp = IAND(data_tmp, mask_left(5))
14339 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14340 448160 : ipack = ipack + 1
14341 448160 : packed_data(ipack) = pack_tmp
14342 448160 : data_tmp = full_data(idata)
14343 448160 : pack_tmp = ISHFT(data_tmp, 48)
14344 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14345 448160 : idata = idata + 1
14346 448160 : data_tmp = full_data(idata)
14347 448160 : data_tmp = ISHFT(data_tmp, 43)
14348 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14349 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14350 448160 : idata = idata + 1
14351 448160 : data_tmp = full_data(idata)
14352 448160 : data_tmp = ISHFT(data_tmp, 43)
14353 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14354 448160 : pack_tmp = ISHFT(pack_tmp, -6)
14355 448160 : idata = idata + 1
14356 448160 : data_tmp = full_data(idata)
14357 448160 : data_tmp = ISHFT(data_tmp, 43)
14358 448160 : data_tmp = IAND(data_tmp, mask_left(6))
14359 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14360 448160 : ipack = ipack + 1
14361 448160 : packed_data(ipack) = pack_tmp
14362 448160 : data_tmp = full_data(idata)
14363 448160 : pack_tmp = ISHFT(data_tmp, 49)
14364 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14365 448160 : idata = idata + 1
14366 448160 : data_tmp = full_data(idata)
14367 448160 : data_tmp = ISHFT(data_tmp, 43)
14368 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14369 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14370 448160 : idata = idata + 1
14371 448160 : data_tmp = full_data(idata)
14372 448160 : data_tmp = ISHFT(data_tmp, 43)
14373 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14374 448160 : pack_tmp = ISHFT(pack_tmp, -7)
14375 448160 : idata = idata + 1
14376 448160 : data_tmp = full_data(idata)
14377 448160 : data_tmp = ISHFT(data_tmp, 43)
14378 448160 : data_tmp = IAND(data_tmp, mask_left(7))
14379 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14380 448160 : ipack = ipack + 1
14381 448160 : packed_data(ipack) = pack_tmp
14382 448160 : data_tmp = full_data(idata)
14383 448160 : pack_tmp = ISHFT(data_tmp, 50)
14384 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14385 448160 : idata = idata + 1
14386 448160 : data_tmp = full_data(idata)
14387 448160 : data_tmp = ISHFT(data_tmp, 43)
14388 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14389 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14390 448160 : idata = idata + 1
14391 448160 : data_tmp = full_data(idata)
14392 448160 : data_tmp = ISHFT(data_tmp, 43)
14393 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14394 448160 : pack_tmp = ISHFT(pack_tmp, -8)
14395 448160 : idata = idata + 1
14396 448160 : data_tmp = full_data(idata)
14397 448160 : data_tmp = ISHFT(data_tmp, 43)
14398 448160 : data_tmp = IAND(data_tmp, mask_left(8))
14399 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14400 448160 : ipack = ipack + 1
14401 448160 : packed_data(ipack) = pack_tmp
14402 448160 : data_tmp = full_data(idata)
14403 448160 : pack_tmp = ISHFT(data_tmp, 51)
14404 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14405 448160 : idata = idata + 1
14406 448160 : data_tmp = full_data(idata)
14407 448160 : data_tmp = ISHFT(data_tmp, 43)
14408 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14409 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14410 448160 : idata = idata + 1
14411 448160 : data_tmp = full_data(idata)
14412 448160 : data_tmp = ISHFT(data_tmp, 43)
14413 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14414 448160 : pack_tmp = ISHFT(pack_tmp, -9)
14415 448160 : idata = idata + 1
14416 448160 : data_tmp = full_data(idata)
14417 448160 : data_tmp = ISHFT(data_tmp, 43)
14418 448160 : data_tmp = IAND(data_tmp, mask_left(9))
14419 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14420 448160 : ipack = ipack + 1
14421 448160 : packed_data(ipack) = pack_tmp
14422 448160 : data_tmp = full_data(idata)
14423 448160 : pack_tmp = ISHFT(data_tmp, 52)
14424 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14425 448160 : idata = idata + 1
14426 448160 : data_tmp = full_data(idata)
14427 448160 : data_tmp = ISHFT(data_tmp, 43)
14428 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14429 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14430 448160 : idata = idata + 1
14431 448160 : data_tmp = full_data(idata)
14432 448160 : data_tmp = ISHFT(data_tmp, 43)
14433 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14434 448160 : pack_tmp = ISHFT(pack_tmp, -10)
14435 448160 : idata = idata + 1
14436 448160 : data_tmp = full_data(idata)
14437 448160 : data_tmp = ISHFT(data_tmp, 43)
14438 448160 : data_tmp = IAND(data_tmp, mask_left(10))
14439 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14440 448160 : ipack = ipack + 1
14441 448160 : packed_data(ipack) = pack_tmp
14442 448160 : data_tmp = full_data(idata)
14443 448160 : pack_tmp = ISHFT(data_tmp, 53)
14444 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14445 448160 : idata = idata + 1
14446 448160 : data_tmp = full_data(idata)
14447 448160 : data_tmp = ISHFT(data_tmp, 43)
14448 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14449 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14450 448160 : idata = idata + 1
14451 448160 : data_tmp = full_data(idata)
14452 448160 : data_tmp = ISHFT(data_tmp, 43)
14453 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14454 448160 : pack_tmp = ISHFT(pack_tmp, -11)
14455 448160 : idata = idata + 1
14456 448160 : data_tmp = full_data(idata)
14457 448160 : data_tmp = ISHFT(data_tmp, 43)
14458 448160 : data_tmp = IAND(data_tmp, mask_left(11))
14459 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14460 448160 : ipack = ipack + 1
14461 448160 : packed_data(ipack) = pack_tmp
14462 448160 : data_tmp = full_data(idata)
14463 448160 : pack_tmp = ISHFT(data_tmp, 54)
14464 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14465 448160 : idata = idata + 1
14466 448160 : data_tmp = full_data(idata)
14467 448160 : data_tmp = ISHFT(data_tmp, 43)
14468 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14469 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14470 448160 : idata = idata + 1
14471 448160 : data_tmp = full_data(idata)
14472 448160 : data_tmp = ISHFT(data_tmp, 43)
14473 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14474 448160 : pack_tmp = ISHFT(pack_tmp, -12)
14475 448160 : idata = idata + 1
14476 448160 : data_tmp = full_data(idata)
14477 448160 : data_tmp = ISHFT(data_tmp, 43)
14478 448160 : data_tmp = IAND(data_tmp, mask_left(12))
14479 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14480 448160 : ipack = ipack + 1
14481 448160 : packed_data(ipack) = pack_tmp
14482 448160 : data_tmp = full_data(idata)
14483 448160 : pack_tmp = ISHFT(data_tmp, 55)
14484 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14485 448160 : idata = idata + 1
14486 448160 : data_tmp = full_data(idata)
14487 448160 : data_tmp = ISHFT(data_tmp, 43)
14488 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14489 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14490 448160 : idata = idata + 1
14491 448160 : data_tmp = full_data(idata)
14492 448160 : data_tmp = ISHFT(data_tmp, 43)
14493 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14494 448160 : pack_tmp = ISHFT(pack_tmp, -13)
14495 448160 : idata = idata + 1
14496 448160 : data_tmp = full_data(idata)
14497 448160 : data_tmp = ISHFT(data_tmp, 43)
14498 448160 : data_tmp = IAND(data_tmp, mask_left(13))
14499 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14500 448160 : ipack = ipack + 1
14501 448160 : packed_data(ipack) = pack_tmp
14502 448160 : data_tmp = full_data(idata)
14503 448160 : pack_tmp = ISHFT(data_tmp, 56)
14504 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14505 448160 : idata = idata + 1
14506 448160 : data_tmp = full_data(idata)
14507 448160 : data_tmp = ISHFT(data_tmp, 43)
14508 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14509 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14510 448160 : idata = idata + 1
14511 448160 : data_tmp = full_data(idata)
14512 448160 : data_tmp = ISHFT(data_tmp, 43)
14513 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14514 448160 : pack_tmp = ISHFT(pack_tmp, -14)
14515 448160 : idata = idata + 1
14516 448160 : data_tmp = full_data(idata)
14517 448160 : data_tmp = ISHFT(data_tmp, 43)
14518 448160 : data_tmp = IAND(data_tmp, mask_left(14))
14519 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14520 448160 : ipack = ipack + 1
14521 448160 : packed_data(ipack) = pack_tmp
14522 448160 : data_tmp = full_data(idata)
14523 448160 : pack_tmp = ISHFT(data_tmp, 57)
14524 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14525 448160 : idata = idata + 1
14526 448160 : data_tmp = full_data(idata)
14527 448160 : data_tmp = ISHFT(data_tmp, 43)
14528 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14529 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14530 448160 : idata = idata + 1
14531 448160 : data_tmp = full_data(idata)
14532 448160 : data_tmp = ISHFT(data_tmp, 43)
14533 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14534 448160 : pack_tmp = ISHFT(pack_tmp, -15)
14535 448160 : idata = idata + 1
14536 448160 : data_tmp = full_data(idata)
14537 448160 : data_tmp = ISHFT(data_tmp, 43)
14538 448160 : data_tmp = IAND(data_tmp, mask_left(15))
14539 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14540 448160 : ipack = ipack + 1
14541 448160 : packed_data(ipack) = pack_tmp
14542 448160 : data_tmp = full_data(idata)
14543 448160 : pack_tmp = ISHFT(data_tmp, 58)
14544 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14545 448160 : idata = idata + 1
14546 448160 : data_tmp = full_data(idata)
14547 448160 : data_tmp = ISHFT(data_tmp, 43)
14548 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14549 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14550 448160 : idata = idata + 1
14551 448160 : data_tmp = full_data(idata)
14552 448160 : data_tmp = ISHFT(data_tmp, 43)
14553 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14554 448160 : pack_tmp = ISHFT(pack_tmp, -16)
14555 448160 : idata = idata + 1
14556 448160 : data_tmp = full_data(idata)
14557 448160 : data_tmp = ISHFT(data_tmp, 43)
14558 448160 : data_tmp = IAND(data_tmp, mask_left(16))
14559 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14560 448160 : ipack = ipack + 1
14561 448160 : packed_data(ipack) = pack_tmp
14562 448160 : data_tmp = full_data(idata)
14563 448160 : pack_tmp = ISHFT(data_tmp, 59)
14564 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14565 448160 : idata = idata + 1
14566 448160 : data_tmp = full_data(idata)
14567 448160 : data_tmp = ISHFT(data_tmp, 43)
14568 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14569 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14570 448160 : idata = idata + 1
14571 448160 : data_tmp = full_data(idata)
14572 448160 : data_tmp = ISHFT(data_tmp, 43)
14573 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14574 448160 : pack_tmp = ISHFT(pack_tmp, -17)
14575 448160 : idata = idata + 1
14576 448160 : data_tmp = full_data(idata)
14577 448160 : data_tmp = ISHFT(data_tmp, 43)
14578 448160 : data_tmp = IAND(data_tmp, mask_left(17))
14579 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14580 448160 : ipack = ipack + 1
14581 448160 : packed_data(ipack) = pack_tmp
14582 448160 : data_tmp = full_data(idata)
14583 448160 : pack_tmp = ISHFT(data_tmp, 60)
14584 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14585 448160 : idata = idata + 1
14586 448160 : data_tmp = full_data(idata)
14587 448160 : data_tmp = ISHFT(data_tmp, 43)
14588 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14589 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14590 448160 : idata = idata + 1
14591 448160 : data_tmp = full_data(idata)
14592 448160 : data_tmp = ISHFT(data_tmp, 43)
14593 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14594 448160 : pack_tmp = ISHFT(pack_tmp, -18)
14595 448160 : idata = idata + 1
14596 448160 : data_tmp = full_data(idata)
14597 448160 : data_tmp = ISHFT(data_tmp, 43)
14598 448160 : data_tmp = IAND(data_tmp, mask_left(18))
14599 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14600 448160 : ipack = ipack + 1
14601 448160 : packed_data(ipack) = pack_tmp
14602 448160 : data_tmp = full_data(idata)
14603 448160 : pack_tmp = ISHFT(data_tmp, 61)
14604 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14605 448160 : idata = idata + 1
14606 448160 : data_tmp = full_data(idata)
14607 448160 : data_tmp = ISHFT(data_tmp, 43)
14608 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14609 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14610 448160 : idata = idata + 1
14611 448160 : data_tmp = full_data(idata)
14612 448160 : data_tmp = ISHFT(data_tmp, 43)
14613 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14614 448160 : pack_tmp = ISHFT(pack_tmp, -19)
14615 448160 : idata = idata + 1
14616 448160 : data_tmp = full_data(idata)
14617 448160 : data_tmp = ISHFT(data_tmp, 43)
14618 448160 : data_tmp = IAND(data_tmp, mask_left(19))
14619 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14620 448160 : ipack = ipack + 1
14621 448160 : packed_data(ipack) = pack_tmp
14622 448160 : data_tmp = full_data(idata)
14623 448160 : pack_tmp = ISHFT(data_tmp, 62)
14624 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14625 448160 : idata = idata + 1
14626 448160 : data_tmp = full_data(idata)
14627 448160 : data_tmp = ISHFT(data_tmp, 43)
14628 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14629 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14630 448160 : idata = idata + 1
14631 448160 : data_tmp = full_data(idata)
14632 448160 : data_tmp = ISHFT(data_tmp, 43)
14633 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14634 448160 : pack_tmp = ISHFT(pack_tmp, -20)
14635 448160 : idata = idata + 1
14636 448160 : data_tmp = full_data(idata)
14637 448160 : data_tmp = ISHFT(data_tmp, 43)
14638 448160 : data_tmp = IAND(data_tmp, mask_left(20))
14639 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14640 448160 : ipack = ipack + 1
14641 448160 : packed_data(ipack) = pack_tmp
14642 448160 : data_tmp = full_data(idata)
14643 448160 : pack_tmp = ISHFT(data_tmp, 63)
14644 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14645 448160 : idata = idata + 1
14646 448160 : data_tmp = full_data(idata)
14647 448160 : data_tmp = ISHFT(data_tmp, 43)
14648 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14649 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14650 448160 : idata = idata + 1
14651 448160 : data_tmp = full_data(idata)
14652 448160 : data_tmp = ISHFT(data_tmp, 43)
14653 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14654 448160 : pack_tmp = ISHFT(pack_tmp, -21)
14655 448160 : idata = idata + 1
14656 448160 : data_tmp = full_data(idata)
14657 448160 : data_tmp = ISHFT(data_tmp, 43)
14658 448160 : pack_tmp = IOR(pack_tmp, data_tmp)
14659 : pack_tmp = ISHFT(pack_tmp, 0)
14660 448160 : pack_tmp = ISHFT(pack_tmp, 0)
14661 448160 : ipack = ipack + 1
14662 448512 : packed_data(ipack) = pack_tmp
14663 : END DO
14664 29421 : IF (Ndata_rep < Ndata) THEN
14665 2656 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14666 : END IF
14667 29421 : END SUBROUTINE ints2bits_21
14668 :
14669 : ! **************************************************************************************************
14670 : !> \brief ...
14671 : !> \param Ndata ...
14672 : !> \param packed_data ...
14673 : !> \param full_data ...
14674 : ! **************************************************************************************************
14675 150602 : 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 150602 : ipack = 0
14686 150602 : idata = 0
14687 150602 : pack_tmp = 0
14688 150602 : Ndata_rep = (Ndata/64)*64
14689 150602 : DO kdata = 1, Ndata_rep, 64
14690 2203932 : idata = idata + 1
14691 2203932 : data_tmp = ISHFT(pack_tmp, 21)
14692 2203932 : ipack = ipack + 1
14693 2203932 : pack_tmp = packed_data(ipack)
14694 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
14695 2203932 : pack_tmp = ISHFT(pack_tmp, -21)
14696 2203932 : idata = idata + 1
14697 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14698 2203932 : full_data(idata) = data_tmp
14699 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14700 2203932 : idata = idata + 1
14701 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14702 2203932 : full_data(idata) = data_tmp
14703 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14704 2203932 : idata = idata + 1
14705 2203932 : data_tmp = ISHFT(pack_tmp, 20)
14706 2203932 : ipack = ipack + 1
14707 2203932 : pack_tmp = packed_data(ipack)
14708 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14709 2203932 : pack_tmp = ISHFT(pack_tmp, -20)
14710 2203932 : idata = idata + 1
14711 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14712 2203932 : full_data(idata) = data_tmp
14713 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14714 2203932 : idata = idata + 1
14715 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14716 2203932 : full_data(idata) = data_tmp
14717 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14718 2203932 : idata = idata + 1
14719 2203932 : data_tmp = ISHFT(pack_tmp, 19)
14720 2203932 : ipack = ipack + 1
14721 2203932 : pack_tmp = packed_data(ipack)
14722 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
14723 2203932 : pack_tmp = ISHFT(pack_tmp, -19)
14724 2203932 : idata = idata + 1
14725 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14726 2203932 : full_data(idata) = data_tmp
14727 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14728 2203932 : idata = idata + 1
14729 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14730 2203932 : full_data(idata) = data_tmp
14731 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14732 2203932 : idata = idata + 1
14733 2203932 : data_tmp = ISHFT(pack_tmp, 18)
14734 2203932 : ipack = ipack + 1
14735 2203932 : pack_tmp = packed_data(ipack)
14736 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
14737 2203932 : pack_tmp = ISHFT(pack_tmp, -18)
14738 2203932 : idata = idata + 1
14739 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14740 2203932 : full_data(idata) = data_tmp
14741 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14742 2203932 : idata = idata + 1
14743 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14744 2203932 : full_data(idata) = data_tmp
14745 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14746 2203932 : idata = idata + 1
14747 2203932 : data_tmp = ISHFT(pack_tmp, 17)
14748 2203932 : ipack = ipack + 1
14749 2203932 : pack_tmp = packed_data(ipack)
14750 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
14751 2203932 : pack_tmp = ISHFT(pack_tmp, -17)
14752 2203932 : idata = idata + 1
14753 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14754 2203932 : full_data(idata) = data_tmp
14755 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14756 2203932 : idata = idata + 1
14757 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14758 2203932 : full_data(idata) = data_tmp
14759 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14760 2203932 : idata = idata + 1
14761 2203932 : data_tmp = ISHFT(pack_tmp, 16)
14762 2203932 : ipack = ipack + 1
14763 2203932 : pack_tmp = packed_data(ipack)
14764 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14765 2203932 : pack_tmp = ISHFT(pack_tmp, -16)
14766 2203932 : idata = idata + 1
14767 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14768 2203932 : full_data(idata) = data_tmp
14769 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14770 2203932 : idata = idata + 1
14771 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14772 2203932 : full_data(idata) = data_tmp
14773 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14774 2203932 : idata = idata + 1
14775 2203932 : data_tmp = ISHFT(pack_tmp, 15)
14776 2203932 : ipack = ipack + 1
14777 2203932 : pack_tmp = packed_data(ipack)
14778 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
14779 2203932 : pack_tmp = ISHFT(pack_tmp, -15)
14780 2203932 : idata = idata + 1
14781 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14782 2203932 : full_data(idata) = data_tmp
14783 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14784 2203932 : idata = idata + 1
14785 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14786 2203932 : full_data(idata) = data_tmp
14787 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14788 2203932 : idata = idata + 1
14789 2203932 : data_tmp = ISHFT(pack_tmp, 14)
14790 2203932 : ipack = ipack + 1
14791 2203932 : pack_tmp = packed_data(ipack)
14792 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
14793 2203932 : pack_tmp = ISHFT(pack_tmp, -14)
14794 2203932 : idata = idata + 1
14795 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14796 2203932 : full_data(idata) = data_tmp
14797 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14798 2203932 : idata = idata + 1
14799 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14800 2203932 : full_data(idata) = data_tmp
14801 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14802 2203932 : idata = idata + 1
14803 2203932 : data_tmp = ISHFT(pack_tmp, 13)
14804 2203932 : ipack = ipack + 1
14805 2203932 : pack_tmp = packed_data(ipack)
14806 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
14807 2203932 : pack_tmp = ISHFT(pack_tmp, -13)
14808 2203932 : idata = idata + 1
14809 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14810 2203932 : full_data(idata) = data_tmp
14811 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14812 2203932 : idata = idata + 1
14813 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14814 2203932 : full_data(idata) = data_tmp
14815 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14816 2203932 : idata = idata + 1
14817 2203932 : data_tmp = ISHFT(pack_tmp, 12)
14818 2203932 : ipack = ipack + 1
14819 2203932 : pack_tmp = packed_data(ipack)
14820 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14821 2203932 : pack_tmp = ISHFT(pack_tmp, -12)
14822 2203932 : idata = idata + 1
14823 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14824 2203932 : full_data(idata) = data_tmp
14825 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14826 2203932 : idata = idata + 1
14827 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14828 2203932 : full_data(idata) = data_tmp
14829 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14830 2203932 : idata = idata + 1
14831 2203932 : data_tmp = ISHFT(pack_tmp, 11)
14832 2203932 : ipack = ipack + 1
14833 2203932 : pack_tmp = packed_data(ipack)
14834 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
14835 2203932 : pack_tmp = ISHFT(pack_tmp, -11)
14836 2203932 : idata = idata + 1
14837 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14838 2203932 : full_data(idata) = data_tmp
14839 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14840 2203932 : idata = idata + 1
14841 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14842 2203932 : full_data(idata) = data_tmp
14843 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14844 2203932 : idata = idata + 1
14845 2203932 : data_tmp = ISHFT(pack_tmp, 10)
14846 2203932 : ipack = ipack + 1
14847 2203932 : pack_tmp = packed_data(ipack)
14848 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
14849 2203932 : pack_tmp = ISHFT(pack_tmp, -10)
14850 2203932 : idata = idata + 1
14851 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14852 2203932 : full_data(idata) = data_tmp
14853 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14854 2203932 : idata = idata + 1
14855 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14856 2203932 : full_data(idata) = data_tmp
14857 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14858 2203932 : idata = idata + 1
14859 2203932 : data_tmp = ISHFT(pack_tmp, 9)
14860 2203932 : ipack = ipack + 1
14861 2203932 : pack_tmp = packed_data(ipack)
14862 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
14863 2203932 : pack_tmp = ISHFT(pack_tmp, -9)
14864 2203932 : idata = idata + 1
14865 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14866 2203932 : full_data(idata) = data_tmp
14867 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14868 2203932 : idata = idata + 1
14869 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14870 2203932 : full_data(idata) = data_tmp
14871 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14872 2203932 : idata = idata + 1
14873 2203932 : data_tmp = ISHFT(pack_tmp, 8)
14874 2203932 : ipack = ipack + 1
14875 2203932 : pack_tmp = packed_data(ipack)
14876 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14877 2203932 : pack_tmp = ISHFT(pack_tmp, -8)
14878 2203932 : idata = idata + 1
14879 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14880 2203932 : full_data(idata) = data_tmp
14881 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14882 2203932 : idata = idata + 1
14883 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14884 2203932 : full_data(idata) = data_tmp
14885 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14886 2203932 : idata = idata + 1
14887 2203932 : data_tmp = ISHFT(pack_tmp, 7)
14888 2203932 : ipack = ipack + 1
14889 2203932 : pack_tmp = packed_data(ipack)
14890 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
14891 2203932 : pack_tmp = ISHFT(pack_tmp, -7)
14892 2203932 : idata = idata + 1
14893 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14894 2203932 : full_data(idata) = data_tmp
14895 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14896 2203932 : idata = idata + 1
14897 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14898 2203932 : full_data(idata) = data_tmp
14899 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14900 2203932 : idata = idata + 1
14901 2203932 : data_tmp = ISHFT(pack_tmp, 6)
14902 2203932 : ipack = ipack + 1
14903 2203932 : pack_tmp = packed_data(ipack)
14904 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
14905 2203932 : pack_tmp = ISHFT(pack_tmp, -6)
14906 2203932 : idata = idata + 1
14907 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14908 2203932 : full_data(idata) = data_tmp
14909 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14910 2203932 : idata = idata + 1
14911 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14912 2203932 : full_data(idata) = data_tmp
14913 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14914 2203932 : idata = idata + 1
14915 2203932 : data_tmp = ISHFT(pack_tmp, 5)
14916 2203932 : ipack = ipack + 1
14917 2203932 : pack_tmp = packed_data(ipack)
14918 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
14919 2203932 : pack_tmp = ISHFT(pack_tmp, -5)
14920 2203932 : idata = idata + 1
14921 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14922 2203932 : full_data(idata) = data_tmp
14923 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14924 2203932 : idata = idata + 1
14925 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14926 2203932 : full_data(idata) = data_tmp
14927 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14928 2203932 : idata = idata + 1
14929 2203932 : data_tmp = ISHFT(pack_tmp, 4)
14930 2203932 : ipack = ipack + 1
14931 2203932 : pack_tmp = packed_data(ipack)
14932 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14933 2203932 : pack_tmp = ISHFT(pack_tmp, -4)
14934 2203932 : idata = idata + 1
14935 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14936 2203932 : full_data(idata) = data_tmp
14937 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14938 2203932 : idata = idata + 1
14939 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14940 2203932 : full_data(idata) = data_tmp
14941 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14942 2203932 : idata = idata + 1
14943 2203932 : data_tmp = ISHFT(pack_tmp, 3)
14944 2203932 : ipack = ipack + 1
14945 2203932 : pack_tmp = packed_data(ipack)
14946 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
14947 2203932 : pack_tmp = ISHFT(pack_tmp, -3)
14948 2203932 : idata = idata + 1
14949 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14950 2203932 : full_data(idata) = data_tmp
14951 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14952 2203932 : idata = idata + 1
14953 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14954 2203932 : full_data(idata) = data_tmp
14955 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14956 2203932 : idata = idata + 1
14957 2203932 : data_tmp = ISHFT(pack_tmp, 2)
14958 2203932 : ipack = ipack + 1
14959 2203932 : pack_tmp = packed_data(ipack)
14960 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
14961 2203932 : pack_tmp = ISHFT(pack_tmp, -2)
14962 2203932 : idata = idata + 1
14963 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14964 2203932 : full_data(idata) = data_tmp
14965 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14966 2203932 : idata = idata + 1
14967 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14968 2203932 : full_data(idata) = data_tmp
14969 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14970 2203932 : idata = idata + 1
14971 2203932 : data_tmp = ISHFT(pack_tmp, 1)
14972 2203932 : ipack = ipack + 1
14973 2203932 : pack_tmp = packed_data(ipack)
14974 2203932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
14975 2203932 : pack_tmp = ISHFT(pack_tmp, -1)
14976 2203932 : idata = idata + 1
14977 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14978 2203932 : full_data(idata) = data_tmp
14979 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14980 2203932 : idata = idata + 1
14981 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14982 2203932 : full_data(idata) = data_tmp
14983 2203932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14984 2203932 : idata = idata + 1
14985 2203932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14986 2203932 : full_data(idata) = data_tmp
14987 2207322 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14988 : END DO
14989 150602 : IF (Ndata_rep < Ndata) THEN
14990 24200 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14991 : END IF
14992 150602 : END SUBROUTINE bits2ints_21
14993 :
14994 : ! **************************************************************************************************
14995 : !> \brief ...
14996 : !> \param Ndata ...
14997 : !> \param packed_data ...
14998 : !> \param full_data ...
14999 : ! **************************************************************************************************
15000 29274 : 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 29274 : idata = 0
15011 29274 : ipack = 0
15012 29274 : Ndata_rep = (Ndata/64)*64
15013 29274 : DO kdata = 1, Ndata_rep, 64
15014 444465 : pack_tmp = 0
15015 444465 : idata = idata + 1
15016 444465 : data_tmp = full_data(idata)
15017 444465 : data_tmp = ISHFT(data_tmp, 42)
15018 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15019 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15020 444465 : idata = idata + 1
15021 444465 : data_tmp = full_data(idata)
15022 444465 : data_tmp = ISHFT(data_tmp, 42)
15023 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15024 444465 : pack_tmp = ISHFT(pack_tmp, -20)
15025 444465 : idata = idata + 1
15026 444465 : data_tmp = full_data(idata)
15027 444465 : data_tmp = ISHFT(data_tmp, 42)
15028 444465 : data_tmp = IAND(data_tmp, mask_left(20))
15029 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15030 444465 : ipack = ipack + 1
15031 444465 : packed_data(ipack) = pack_tmp
15032 444465 : data_tmp = full_data(idata)
15033 444465 : pack_tmp = ISHFT(data_tmp, 62)
15034 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15035 444465 : idata = idata + 1
15036 444465 : data_tmp = full_data(idata)
15037 444465 : data_tmp = ISHFT(data_tmp, 42)
15038 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15039 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15040 444465 : idata = idata + 1
15041 444465 : data_tmp = full_data(idata)
15042 444465 : data_tmp = ISHFT(data_tmp, 42)
15043 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15044 444465 : pack_tmp = ISHFT(pack_tmp, -18)
15045 444465 : idata = idata + 1
15046 444465 : data_tmp = full_data(idata)
15047 444465 : data_tmp = ISHFT(data_tmp, 42)
15048 444465 : data_tmp = IAND(data_tmp, mask_left(18))
15049 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15050 444465 : ipack = ipack + 1
15051 444465 : packed_data(ipack) = pack_tmp
15052 444465 : data_tmp = full_data(idata)
15053 444465 : pack_tmp = ISHFT(data_tmp, 60)
15054 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15055 444465 : idata = idata + 1
15056 444465 : data_tmp = full_data(idata)
15057 444465 : data_tmp = ISHFT(data_tmp, 42)
15058 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15059 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15060 444465 : idata = idata + 1
15061 444465 : data_tmp = full_data(idata)
15062 444465 : data_tmp = ISHFT(data_tmp, 42)
15063 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15064 444465 : pack_tmp = ISHFT(pack_tmp, -16)
15065 444465 : idata = idata + 1
15066 444465 : data_tmp = full_data(idata)
15067 444465 : data_tmp = ISHFT(data_tmp, 42)
15068 444465 : data_tmp = IAND(data_tmp, mask_left(16))
15069 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15070 444465 : ipack = ipack + 1
15071 444465 : packed_data(ipack) = pack_tmp
15072 444465 : data_tmp = full_data(idata)
15073 444465 : pack_tmp = ISHFT(data_tmp, 58)
15074 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15075 444465 : idata = idata + 1
15076 444465 : data_tmp = full_data(idata)
15077 444465 : data_tmp = ISHFT(data_tmp, 42)
15078 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15079 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15080 444465 : idata = idata + 1
15081 444465 : data_tmp = full_data(idata)
15082 444465 : data_tmp = ISHFT(data_tmp, 42)
15083 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15084 444465 : pack_tmp = ISHFT(pack_tmp, -14)
15085 444465 : idata = idata + 1
15086 444465 : data_tmp = full_data(idata)
15087 444465 : data_tmp = ISHFT(data_tmp, 42)
15088 444465 : data_tmp = IAND(data_tmp, mask_left(14))
15089 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15090 444465 : ipack = ipack + 1
15091 444465 : packed_data(ipack) = pack_tmp
15092 444465 : data_tmp = full_data(idata)
15093 444465 : pack_tmp = ISHFT(data_tmp, 56)
15094 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15095 444465 : idata = idata + 1
15096 444465 : data_tmp = full_data(idata)
15097 444465 : data_tmp = ISHFT(data_tmp, 42)
15098 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15099 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15100 444465 : idata = idata + 1
15101 444465 : data_tmp = full_data(idata)
15102 444465 : data_tmp = ISHFT(data_tmp, 42)
15103 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15104 444465 : pack_tmp = ISHFT(pack_tmp, -12)
15105 444465 : idata = idata + 1
15106 444465 : data_tmp = full_data(idata)
15107 444465 : data_tmp = ISHFT(data_tmp, 42)
15108 444465 : data_tmp = IAND(data_tmp, mask_left(12))
15109 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15110 444465 : ipack = ipack + 1
15111 444465 : packed_data(ipack) = pack_tmp
15112 444465 : data_tmp = full_data(idata)
15113 444465 : pack_tmp = ISHFT(data_tmp, 54)
15114 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15115 444465 : idata = idata + 1
15116 444465 : data_tmp = full_data(idata)
15117 444465 : data_tmp = ISHFT(data_tmp, 42)
15118 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15119 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15120 444465 : idata = idata + 1
15121 444465 : data_tmp = full_data(idata)
15122 444465 : data_tmp = ISHFT(data_tmp, 42)
15123 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15124 444465 : pack_tmp = ISHFT(pack_tmp, -10)
15125 444465 : idata = idata + 1
15126 444465 : data_tmp = full_data(idata)
15127 444465 : data_tmp = ISHFT(data_tmp, 42)
15128 444465 : data_tmp = IAND(data_tmp, mask_left(10))
15129 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15130 444465 : ipack = ipack + 1
15131 444465 : packed_data(ipack) = pack_tmp
15132 444465 : data_tmp = full_data(idata)
15133 444465 : pack_tmp = ISHFT(data_tmp, 52)
15134 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15135 444465 : idata = idata + 1
15136 444465 : data_tmp = full_data(idata)
15137 444465 : data_tmp = ISHFT(data_tmp, 42)
15138 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15139 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15140 444465 : idata = idata + 1
15141 444465 : data_tmp = full_data(idata)
15142 444465 : data_tmp = ISHFT(data_tmp, 42)
15143 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15144 444465 : pack_tmp = ISHFT(pack_tmp, -8)
15145 444465 : idata = idata + 1
15146 444465 : data_tmp = full_data(idata)
15147 444465 : data_tmp = ISHFT(data_tmp, 42)
15148 444465 : data_tmp = IAND(data_tmp, mask_left(8))
15149 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15150 444465 : ipack = ipack + 1
15151 444465 : packed_data(ipack) = pack_tmp
15152 444465 : data_tmp = full_data(idata)
15153 444465 : pack_tmp = ISHFT(data_tmp, 50)
15154 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15155 444465 : idata = idata + 1
15156 444465 : data_tmp = full_data(idata)
15157 444465 : data_tmp = ISHFT(data_tmp, 42)
15158 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15159 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15160 444465 : idata = idata + 1
15161 444465 : data_tmp = full_data(idata)
15162 444465 : data_tmp = ISHFT(data_tmp, 42)
15163 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15164 444465 : pack_tmp = ISHFT(pack_tmp, -6)
15165 444465 : idata = idata + 1
15166 444465 : data_tmp = full_data(idata)
15167 444465 : data_tmp = ISHFT(data_tmp, 42)
15168 444465 : data_tmp = IAND(data_tmp, mask_left(6))
15169 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15170 444465 : ipack = ipack + 1
15171 444465 : packed_data(ipack) = pack_tmp
15172 444465 : data_tmp = full_data(idata)
15173 444465 : pack_tmp = ISHFT(data_tmp, 48)
15174 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15175 444465 : idata = idata + 1
15176 444465 : data_tmp = full_data(idata)
15177 444465 : data_tmp = ISHFT(data_tmp, 42)
15178 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15179 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15180 444465 : idata = idata + 1
15181 444465 : data_tmp = full_data(idata)
15182 444465 : data_tmp = ISHFT(data_tmp, 42)
15183 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15184 444465 : pack_tmp = ISHFT(pack_tmp, -4)
15185 444465 : idata = idata + 1
15186 444465 : data_tmp = full_data(idata)
15187 444465 : data_tmp = ISHFT(data_tmp, 42)
15188 444465 : data_tmp = IAND(data_tmp, mask_left(4))
15189 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15190 444465 : ipack = ipack + 1
15191 444465 : packed_data(ipack) = pack_tmp
15192 444465 : data_tmp = full_data(idata)
15193 444465 : pack_tmp = ISHFT(data_tmp, 46)
15194 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15195 444465 : idata = idata + 1
15196 444465 : data_tmp = full_data(idata)
15197 444465 : data_tmp = ISHFT(data_tmp, 42)
15198 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15199 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15200 444465 : idata = idata + 1
15201 444465 : data_tmp = full_data(idata)
15202 444465 : data_tmp = ISHFT(data_tmp, 42)
15203 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15204 444465 : pack_tmp = ISHFT(pack_tmp, -2)
15205 444465 : idata = idata + 1
15206 444465 : data_tmp = full_data(idata)
15207 444465 : data_tmp = ISHFT(data_tmp, 42)
15208 444465 : data_tmp = IAND(data_tmp, mask_left(2))
15209 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15210 444465 : ipack = ipack + 1
15211 444465 : packed_data(ipack) = pack_tmp
15212 444465 : data_tmp = full_data(idata)
15213 444465 : pack_tmp = ISHFT(data_tmp, 44)
15214 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15215 444465 : idata = idata + 1
15216 444465 : data_tmp = full_data(idata)
15217 444465 : data_tmp = ISHFT(data_tmp, 42)
15218 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15219 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15220 444465 : idata = idata + 1
15221 444465 : data_tmp = full_data(idata)
15222 444465 : data_tmp = ISHFT(data_tmp, 42)
15223 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15224 444465 : pack_tmp = ISHFT(pack_tmp, 0)
15225 444465 : idata = idata + 1
15226 444465 : data_tmp = full_data(idata)
15227 : data_tmp = ISHFT(data_tmp, 42)
15228 444465 : data_tmp = IAND(data_tmp, mask_left(0))
15229 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15230 444465 : ipack = ipack + 1
15231 444465 : packed_data(ipack) = pack_tmp
15232 444465 : data_tmp = full_data(idata)
15233 444465 : pack_tmp = ISHFT(data_tmp, 42)
15234 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15235 444465 : idata = idata + 1
15236 444465 : data_tmp = full_data(idata)
15237 444465 : data_tmp = ISHFT(data_tmp, 42)
15238 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15239 444465 : pack_tmp = ISHFT(pack_tmp, -20)
15240 444465 : idata = idata + 1
15241 444465 : data_tmp = full_data(idata)
15242 444465 : data_tmp = ISHFT(data_tmp, 42)
15243 444465 : data_tmp = IAND(data_tmp, mask_left(20))
15244 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15245 444465 : ipack = ipack + 1
15246 444465 : packed_data(ipack) = pack_tmp
15247 444465 : data_tmp = full_data(idata)
15248 444465 : pack_tmp = ISHFT(data_tmp, 62)
15249 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15250 444465 : idata = idata + 1
15251 444465 : data_tmp = full_data(idata)
15252 444465 : data_tmp = ISHFT(data_tmp, 42)
15253 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15254 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15255 444465 : idata = idata + 1
15256 444465 : data_tmp = full_data(idata)
15257 444465 : data_tmp = ISHFT(data_tmp, 42)
15258 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15259 444465 : pack_tmp = ISHFT(pack_tmp, -18)
15260 444465 : idata = idata + 1
15261 444465 : data_tmp = full_data(idata)
15262 444465 : data_tmp = ISHFT(data_tmp, 42)
15263 444465 : data_tmp = IAND(data_tmp, mask_left(18))
15264 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15265 444465 : ipack = ipack + 1
15266 444465 : packed_data(ipack) = pack_tmp
15267 444465 : data_tmp = full_data(idata)
15268 444465 : pack_tmp = ISHFT(data_tmp, 60)
15269 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15270 444465 : idata = idata + 1
15271 444465 : data_tmp = full_data(idata)
15272 444465 : data_tmp = ISHFT(data_tmp, 42)
15273 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15274 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15275 444465 : idata = idata + 1
15276 444465 : data_tmp = full_data(idata)
15277 444465 : data_tmp = ISHFT(data_tmp, 42)
15278 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15279 444465 : pack_tmp = ISHFT(pack_tmp, -16)
15280 444465 : idata = idata + 1
15281 444465 : data_tmp = full_data(idata)
15282 444465 : data_tmp = ISHFT(data_tmp, 42)
15283 444465 : data_tmp = IAND(data_tmp, mask_left(16))
15284 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15285 444465 : ipack = ipack + 1
15286 444465 : packed_data(ipack) = pack_tmp
15287 444465 : data_tmp = full_data(idata)
15288 444465 : pack_tmp = ISHFT(data_tmp, 58)
15289 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15290 444465 : idata = idata + 1
15291 444465 : data_tmp = full_data(idata)
15292 444465 : data_tmp = ISHFT(data_tmp, 42)
15293 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15294 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15295 444465 : idata = idata + 1
15296 444465 : data_tmp = full_data(idata)
15297 444465 : data_tmp = ISHFT(data_tmp, 42)
15298 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15299 444465 : pack_tmp = ISHFT(pack_tmp, -14)
15300 444465 : idata = idata + 1
15301 444465 : data_tmp = full_data(idata)
15302 444465 : data_tmp = ISHFT(data_tmp, 42)
15303 444465 : data_tmp = IAND(data_tmp, mask_left(14))
15304 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15305 444465 : ipack = ipack + 1
15306 444465 : packed_data(ipack) = pack_tmp
15307 444465 : data_tmp = full_data(idata)
15308 444465 : pack_tmp = ISHFT(data_tmp, 56)
15309 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15310 444465 : idata = idata + 1
15311 444465 : data_tmp = full_data(idata)
15312 444465 : data_tmp = ISHFT(data_tmp, 42)
15313 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15314 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15315 444465 : idata = idata + 1
15316 444465 : data_tmp = full_data(idata)
15317 444465 : data_tmp = ISHFT(data_tmp, 42)
15318 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15319 444465 : pack_tmp = ISHFT(pack_tmp, -12)
15320 444465 : idata = idata + 1
15321 444465 : data_tmp = full_data(idata)
15322 444465 : data_tmp = ISHFT(data_tmp, 42)
15323 444465 : data_tmp = IAND(data_tmp, mask_left(12))
15324 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15325 444465 : ipack = ipack + 1
15326 444465 : packed_data(ipack) = pack_tmp
15327 444465 : data_tmp = full_data(idata)
15328 444465 : pack_tmp = ISHFT(data_tmp, 54)
15329 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15330 444465 : idata = idata + 1
15331 444465 : data_tmp = full_data(idata)
15332 444465 : data_tmp = ISHFT(data_tmp, 42)
15333 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15334 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15335 444465 : idata = idata + 1
15336 444465 : data_tmp = full_data(idata)
15337 444465 : data_tmp = ISHFT(data_tmp, 42)
15338 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15339 444465 : pack_tmp = ISHFT(pack_tmp, -10)
15340 444465 : idata = idata + 1
15341 444465 : data_tmp = full_data(idata)
15342 444465 : data_tmp = ISHFT(data_tmp, 42)
15343 444465 : data_tmp = IAND(data_tmp, mask_left(10))
15344 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15345 444465 : ipack = ipack + 1
15346 444465 : packed_data(ipack) = pack_tmp
15347 444465 : data_tmp = full_data(idata)
15348 444465 : pack_tmp = ISHFT(data_tmp, 52)
15349 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15350 444465 : idata = idata + 1
15351 444465 : data_tmp = full_data(idata)
15352 444465 : data_tmp = ISHFT(data_tmp, 42)
15353 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15354 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15355 444465 : idata = idata + 1
15356 444465 : data_tmp = full_data(idata)
15357 444465 : data_tmp = ISHFT(data_tmp, 42)
15358 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15359 444465 : pack_tmp = ISHFT(pack_tmp, -8)
15360 444465 : idata = idata + 1
15361 444465 : data_tmp = full_data(idata)
15362 444465 : data_tmp = ISHFT(data_tmp, 42)
15363 444465 : data_tmp = IAND(data_tmp, mask_left(8))
15364 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15365 444465 : ipack = ipack + 1
15366 444465 : packed_data(ipack) = pack_tmp
15367 444465 : data_tmp = full_data(idata)
15368 444465 : pack_tmp = ISHFT(data_tmp, 50)
15369 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15370 444465 : idata = idata + 1
15371 444465 : data_tmp = full_data(idata)
15372 444465 : data_tmp = ISHFT(data_tmp, 42)
15373 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15374 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15375 444465 : idata = idata + 1
15376 444465 : data_tmp = full_data(idata)
15377 444465 : data_tmp = ISHFT(data_tmp, 42)
15378 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15379 444465 : pack_tmp = ISHFT(pack_tmp, -6)
15380 444465 : idata = idata + 1
15381 444465 : data_tmp = full_data(idata)
15382 444465 : data_tmp = ISHFT(data_tmp, 42)
15383 444465 : data_tmp = IAND(data_tmp, mask_left(6))
15384 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15385 444465 : ipack = ipack + 1
15386 444465 : packed_data(ipack) = pack_tmp
15387 444465 : data_tmp = full_data(idata)
15388 444465 : pack_tmp = ISHFT(data_tmp, 48)
15389 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15390 444465 : idata = idata + 1
15391 444465 : data_tmp = full_data(idata)
15392 444465 : data_tmp = ISHFT(data_tmp, 42)
15393 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15394 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15395 444465 : idata = idata + 1
15396 444465 : data_tmp = full_data(idata)
15397 444465 : data_tmp = ISHFT(data_tmp, 42)
15398 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15399 444465 : pack_tmp = ISHFT(pack_tmp, -4)
15400 444465 : idata = idata + 1
15401 444465 : data_tmp = full_data(idata)
15402 444465 : data_tmp = ISHFT(data_tmp, 42)
15403 444465 : data_tmp = IAND(data_tmp, mask_left(4))
15404 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15405 444465 : ipack = ipack + 1
15406 444465 : packed_data(ipack) = pack_tmp
15407 444465 : data_tmp = full_data(idata)
15408 444465 : pack_tmp = ISHFT(data_tmp, 46)
15409 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15410 444465 : idata = idata + 1
15411 444465 : data_tmp = full_data(idata)
15412 444465 : data_tmp = ISHFT(data_tmp, 42)
15413 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15414 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15415 444465 : idata = idata + 1
15416 444465 : data_tmp = full_data(idata)
15417 444465 : data_tmp = ISHFT(data_tmp, 42)
15418 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15419 444465 : pack_tmp = ISHFT(pack_tmp, -2)
15420 444465 : idata = idata + 1
15421 444465 : data_tmp = full_data(idata)
15422 444465 : data_tmp = ISHFT(data_tmp, 42)
15423 444465 : data_tmp = IAND(data_tmp, mask_left(2))
15424 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15425 444465 : ipack = ipack + 1
15426 444465 : packed_data(ipack) = pack_tmp
15427 444465 : data_tmp = full_data(idata)
15428 444465 : pack_tmp = ISHFT(data_tmp, 44)
15429 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15430 444465 : idata = idata + 1
15431 444465 : data_tmp = full_data(idata)
15432 444465 : data_tmp = ISHFT(data_tmp, 42)
15433 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15434 444465 : pack_tmp = ISHFT(pack_tmp, -22)
15435 444465 : idata = idata + 1
15436 444465 : data_tmp = full_data(idata)
15437 444465 : data_tmp = ISHFT(data_tmp, 42)
15438 444465 : pack_tmp = IOR(pack_tmp, data_tmp)
15439 : pack_tmp = ISHFT(pack_tmp, 0)
15440 444465 : pack_tmp = ISHFT(pack_tmp, 0)
15441 444465 : ipack = ipack + 1
15442 444572 : packed_data(ipack) = pack_tmp
15443 : END DO
15444 29274 : IF (Ndata_rep < Ndata) THEN
15445 2814 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15446 : END IF
15447 29274 : END SUBROUTINE ints2bits_22
15448 :
15449 : ! **************************************************************************************************
15450 : !> \brief ...
15451 : !> \param Ndata ...
15452 : !> \param packed_data ...
15453 : !> \param full_data ...
15454 : ! **************************************************************************************************
15455 150241 : 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 150241 : ipack = 0
15466 150241 : idata = 0
15467 150241 : pack_tmp = 0
15468 150241 : Ndata_rep = (Ndata/64)*64
15469 150241 : DO kdata = 1, Ndata_rep, 64
15470 2176430 : idata = idata + 1
15471 2176430 : data_tmp = ISHFT(pack_tmp, 22)
15472 2176430 : ipack = ipack + 1
15473 2176430 : pack_tmp = packed_data(ipack)
15474 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15475 2176430 : pack_tmp = ISHFT(pack_tmp, -22)
15476 2176430 : idata = idata + 1
15477 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15478 2176430 : full_data(idata) = data_tmp
15479 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15480 2176430 : idata = idata + 1
15481 2176430 : data_tmp = ISHFT(pack_tmp, 2)
15482 2176430 : ipack = ipack + 1
15483 2176430 : pack_tmp = packed_data(ipack)
15484 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15485 2176430 : pack_tmp = ISHFT(pack_tmp, -2)
15486 2176430 : idata = idata + 1
15487 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15488 2176430 : full_data(idata) = data_tmp
15489 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15490 2176430 : idata = idata + 1
15491 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15492 2176430 : full_data(idata) = data_tmp
15493 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15494 2176430 : idata = idata + 1
15495 2176430 : data_tmp = ISHFT(pack_tmp, 4)
15496 2176430 : ipack = ipack + 1
15497 2176430 : pack_tmp = packed_data(ipack)
15498 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15499 2176430 : pack_tmp = ISHFT(pack_tmp, -4)
15500 2176430 : idata = idata + 1
15501 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15502 2176430 : full_data(idata) = data_tmp
15503 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15504 2176430 : idata = idata + 1
15505 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15506 2176430 : full_data(idata) = data_tmp
15507 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15508 2176430 : idata = idata + 1
15509 2176430 : data_tmp = ISHFT(pack_tmp, 6)
15510 2176430 : ipack = ipack + 1
15511 2176430 : pack_tmp = packed_data(ipack)
15512 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15513 2176430 : pack_tmp = ISHFT(pack_tmp, -6)
15514 2176430 : idata = idata + 1
15515 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15516 2176430 : full_data(idata) = data_tmp
15517 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15518 2176430 : idata = idata + 1
15519 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15520 2176430 : full_data(idata) = data_tmp
15521 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15522 2176430 : idata = idata + 1
15523 2176430 : data_tmp = ISHFT(pack_tmp, 8)
15524 2176430 : ipack = ipack + 1
15525 2176430 : pack_tmp = packed_data(ipack)
15526 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15527 2176430 : pack_tmp = ISHFT(pack_tmp, -8)
15528 2176430 : idata = idata + 1
15529 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15530 2176430 : full_data(idata) = data_tmp
15531 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15532 2176430 : idata = idata + 1
15533 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15534 2176430 : full_data(idata) = data_tmp
15535 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15536 2176430 : idata = idata + 1
15537 2176430 : data_tmp = ISHFT(pack_tmp, 10)
15538 2176430 : ipack = ipack + 1
15539 2176430 : pack_tmp = packed_data(ipack)
15540 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15541 2176430 : pack_tmp = ISHFT(pack_tmp, -10)
15542 2176430 : idata = idata + 1
15543 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15544 2176430 : full_data(idata) = data_tmp
15545 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15546 2176430 : idata = idata + 1
15547 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15548 2176430 : full_data(idata) = data_tmp
15549 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15550 2176430 : idata = idata + 1
15551 2176430 : data_tmp = ISHFT(pack_tmp, 12)
15552 2176430 : ipack = ipack + 1
15553 2176430 : pack_tmp = packed_data(ipack)
15554 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15555 2176430 : pack_tmp = ISHFT(pack_tmp, -12)
15556 2176430 : idata = idata + 1
15557 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15558 2176430 : full_data(idata) = data_tmp
15559 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15560 2176430 : idata = idata + 1
15561 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15562 2176430 : full_data(idata) = data_tmp
15563 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15564 2176430 : idata = idata + 1
15565 2176430 : data_tmp = ISHFT(pack_tmp, 14)
15566 2176430 : ipack = ipack + 1
15567 2176430 : pack_tmp = packed_data(ipack)
15568 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15569 2176430 : pack_tmp = ISHFT(pack_tmp, -14)
15570 2176430 : idata = idata + 1
15571 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15572 2176430 : full_data(idata) = data_tmp
15573 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15574 2176430 : idata = idata + 1
15575 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15576 2176430 : full_data(idata) = data_tmp
15577 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15578 2176430 : idata = idata + 1
15579 2176430 : data_tmp = ISHFT(pack_tmp, 16)
15580 2176430 : ipack = ipack + 1
15581 2176430 : pack_tmp = packed_data(ipack)
15582 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15583 2176430 : pack_tmp = ISHFT(pack_tmp, -16)
15584 2176430 : idata = idata + 1
15585 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15586 2176430 : full_data(idata) = data_tmp
15587 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15588 2176430 : idata = idata + 1
15589 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15590 2176430 : full_data(idata) = data_tmp
15591 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15592 2176430 : idata = idata + 1
15593 2176430 : data_tmp = ISHFT(pack_tmp, 18)
15594 2176430 : ipack = ipack + 1
15595 2176430 : pack_tmp = packed_data(ipack)
15596 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15597 2176430 : pack_tmp = ISHFT(pack_tmp, -18)
15598 2176430 : idata = idata + 1
15599 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15600 2176430 : full_data(idata) = data_tmp
15601 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15602 2176430 : idata = idata + 1
15603 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15604 2176430 : full_data(idata) = data_tmp
15605 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15606 2176430 : idata = idata + 1
15607 2176430 : data_tmp = ISHFT(pack_tmp, 20)
15608 2176430 : ipack = ipack + 1
15609 2176430 : pack_tmp = packed_data(ipack)
15610 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15611 2176430 : pack_tmp = ISHFT(pack_tmp, -20)
15612 2176430 : idata = idata + 1
15613 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15614 2176430 : full_data(idata) = data_tmp
15615 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15616 2176430 : idata = idata + 1
15617 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15618 2176430 : full_data(idata) = data_tmp
15619 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15620 2176430 : idata = idata + 1
15621 2176430 : data_tmp = ISHFT(pack_tmp, 22)
15622 2176430 : ipack = ipack + 1
15623 2176430 : pack_tmp = packed_data(ipack)
15624 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15625 2176430 : pack_tmp = ISHFT(pack_tmp, -22)
15626 2176430 : idata = idata + 1
15627 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15628 2176430 : full_data(idata) = data_tmp
15629 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15630 2176430 : idata = idata + 1
15631 2176430 : data_tmp = ISHFT(pack_tmp, 2)
15632 2176430 : ipack = ipack + 1
15633 2176430 : pack_tmp = packed_data(ipack)
15634 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15635 2176430 : pack_tmp = ISHFT(pack_tmp, -2)
15636 2176430 : idata = idata + 1
15637 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15638 2176430 : full_data(idata) = data_tmp
15639 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15640 2176430 : idata = idata + 1
15641 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15642 2176430 : full_data(idata) = data_tmp
15643 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15644 2176430 : idata = idata + 1
15645 2176430 : data_tmp = ISHFT(pack_tmp, 4)
15646 2176430 : ipack = ipack + 1
15647 2176430 : pack_tmp = packed_data(ipack)
15648 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15649 2176430 : pack_tmp = ISHFT(pack_tmp, -4)
15650 2176430 : idata = idata + 1
15651 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15652 2176430 : full_data(idata) = data_tmp
15653 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15654 2176430 : idata = idata + 1
15655 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15656 2176430 : full_data(idata) = data_tmp
15657 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15658 2176430 : idata = idata + 1
15659 2176430 : data_tmp = ISHFT(pack_tmp, 6)
15660 2176430 : ipack = ipack + 1
15661 2176430 : pack_tmp = packed_data(ipack)
15662 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15663 2176430 : pack_tmp = ISHFT(pack_tmp, -6)
15664 2176430 : idata = idata + 1
15665 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15666 2176430 : full_data(idata) = data_tmp
15667 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15668 2176430 : idata = idata + 1
15669 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15670 2176430 : full_data(idata) = data_tmp
15671 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15672 2176430 : idata = idata + 1
15673 2176430 : data_tmp = ISHFT(pack_tmp, 8)
15674 2176430 : ipack = ipack + 1
15675 2176430 : pack_tmp = packed_data(ipack)
15676 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15677 2176430 : pack_tmp = ISHFT(pack_tmp, -8)
15678 2176430 : idata = idata + 1
15679 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15680 2176430 : full_data(idata) = data_tmp
15681 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15682 2176430 : idata = idata + 1
15683 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15684 2176430 : full_data(idata) = data_tmp
15685 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15686 2176430 : idata = idata + 1
15687 2176430 : data_tmp = ISHFT(pack_tmp, 10)
15688 2176430 : ipack = ipack + 1
15689 2176430 : pack_tmp = packed_data(ipack)
15690 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15691 2176430 : pack_tmp = ISHFT(pack_tmp, -10)
15692 2176430 : idata = idata + 1
15693 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15694 2176430 : full_data(idata) = data_tmp
15695 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15696 2176430 : idata = idata + 1
15697 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15698 2176430 : full_data(idata) = data_tmp
15699 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15700 2176430 : idata = idata + 1
15701 2176430 : data_tmp = ISHFT(pack_tmp, 12)
15702 2176430 : ipack = ipack + 1
15703 2176430 : pack_tmp = packed_data(ipack)
15704 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15705 2176430 : pack_tmp = ISHFT(pack_tmp, -12)
15706 2176430 : idata = idata + 1
15707 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15708 2176430 : full_data(idata) = data_tmp
15709 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15710 2176430 : idata = idata + 1
15711 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15712 2176430 : full_data(idata) = data_tmp
15713 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15714 2176430 : idata = idata + 1
15715 2176430 : data_tmp = ISHFT(pack_tmp, 14)
15716 2176430 : ipack = ipack + 1
15717 2176430 : pack_tmp = packed_data(ipack)
15718 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15719 2176430 : pack_tmp = ISHFT(pack_tmp, -14)
15720 2176430 : idata = idata + 1
15721 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15722 2176430 : full_data(idata) = data_tmp
15723 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15724 2176430 : idata = idata + 1
15725 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15726 2176430 : full_data(idata) = data_tmp
15727 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15728 2176430 : idata = idata + 1
15729 2176430 : data_tmp = ISHFT(pack_tmp, 16)
15730 2176430 : ipack = ipack + 1
15731 2176430 : pack_tmp = packed_data(ipack)
15732 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15733 2176430 : pack_tmp = ISHFT(pack_tmp, -16)
15734 2176430 : idata = idata + 1
15735 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15736 2176430 : full_data(idata) = data_tmp
15737 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15738 2176430 : idata = idata + 1
15739 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15740 2176430 : full_data(idata) = data_tmp
15741 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15742 2176430 : idata = idata + 1
15743 2176430 : data_tmp = ISHFT(pack_tmp, 18)
15744 2176430 : ipack = ipack + 1
15745 2176430 : pack_tmp = packed_data(ipack)
15746 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15747 2176430 : pack_tmp = ISHFT(pack_tmp, -18)
15748 2176430 : idata = idata + 1
15749 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15750 2176430 : full_data(idata) = data_tmp
15751 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15752 2176430 : idata = idata + 1
15753 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15754 2176430 : full_data(idata) = data_tmp
15755 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15756 2176430 : idata = idata + 1
15757 2176430 : data_tmp = ISHFT(pack_tmp, 20)
15758 2176430 : ipack = ipack + 1
15759 2176430 : pack_tmp = packed_data(ipack)
15760 2176430 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15761 2176430 : pack_tmp = ISHFT(pack_tmp, -20)
15762 2176430 : idata = idata + 1
15763 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15764 2176430 : full_data(idata) = data_tmp
15765 2176430 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15766 2176430 : idata = idata + 1
15767 2176430 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15768 2176430 : full_data(idata) = data_tmp
15769 2177159 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15770 : END DO
15771 150241 : IF (Ndata_rep < Ndata) THEN
15772 26756 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15773 : END IF
15774 150241 : END SUBROUTINE bits2ints_22
15775 :
15776 : ! **************************************************************************************************
15777 : !> \brief ...
15778 : !> \param Ndata ...
15779 : !> \param packed_data ...
15780 : !> \param full_data ...
15781 : ! **************************************************************************************************
15782 73600 : 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 73600 : idata = 0
15793 73600 : ipack = 0
15794 73600 : Ndata_rep = (Ndata/64)*64
15795 73600 : DO kdata = 1, Ndata_rep, 64
15796 961690 : pack_tmp = 0
15797 961690 : idata = idata + 1
15798 961690 : data_tmp = full_data(idata)
15799 961690 : data_tmp = ISHFT(data_tmp, 41)
15800 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15801 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15802 961690 : idata = idata + 1
15803 961690 : data_tmp = full_data(idata)
15804 961690 : data_tmp = ISHFT(data_tmp, 41)
15805 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15806 961690 : pack_tmp = ISHFT(pack_tmp, -18)
15807 961690 : idata = idata + 1
15808 961690 : data_tmp = full_data(idata)
15809 961690 : data_tmp = ISHFT(data_tmp, 41)
15810 961690 : data_tmp = IAND(data_tmp, mask_left(18))
15811 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15812 961690 : ipack = ipack + 1
15813 961690 : packed_data(ipack) = pack_tmp
15814 961690 : data_tmp = full_data(idata)
15815 961690 : pack_tmp = ISHFT(data_tmp, 59)
15816 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15817 961690 : idata = idata + 1
15818 961690 : data_tmp = full_data(idata)
15819 961690 : data_tmp = ISHFT(data_tmp, 41)
15820 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15821 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15822 961690 : idata = idata + 1
15823 961690 : data_tmp = full_data(idata)
15824 961690 : data_tmp = ISHFT(data_tmp, 41)
15825 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15826 961690 : pack_tmp = ISHFT(pack_tmp, -13)
15827 961690 : idata = idata + 1
15828 961690 : data_tmp = full_data(idata)
15829 961690 : data_tmp = ISHFT(data_tmp, 41)
15830 961690 : data_tmp = IAND(data_tmp, mask_left(13))
15831 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15832 961690 : ipack = ipack + 1
15833 961690 : packed_data(ipack) = pack_tmp
15834 961690 : data_tmp = full_data(idata)
15835 961690 : pack_tmp = ISHFT(data_tmp, 54)
15836 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15837 961690 : idata = idata + 1
15838 961690 : data_tmp = full_data(idata)
15839 961690 : data_tmp = ISHFT(data_tmp, 41)
15840 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15841 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15842 961690 : idata = idata + 1
15843 961690 : data_tmp = full_data(idata)
15844 961690 : data_tmp = ISHFT(data_tmp, 41)
15845 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15846 961690 : pack_tmp = ISHFT(pack_tmp, -8)
15847 961690 : idata = idata + 1
15848 961690 : data_tmp = full_data(idata)
15849 961690 : data_tmp = ISHFT(data_tmp, 41)
15850 961690 : data_tmp = IAND(data_tmp, mask_left(8))
15851 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15852 961690 : ipack = ipack + 1
15853 961690 : packed_data(ipack) = pack_tmp
15854 961690 : data_tmp = full_data(idata)
15855 961690 : pack_tmp = ISHFT(data_tmp, 49)
15856 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15857 961690 : idata = idata + 1
15858 961690 : data_tmp = full_data(idata)
15859 961690 : data_tmp = ISHFT(data_tmp, 41)
15860 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15861 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15862 961690 : idata = idata + 1
15863 961690 : data_tmp = full_data(idata)
15864 961690 : data_tmp = ISHFT(data_tmp, 41)
15865 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15866 961690 : pack_tmp = ISHFT(pack_tmp, -3)
15867 961690 : idata = idata + 1
15868 961690 : data_tmp = full_data(idata)
15869 961690 : data_tmp = ISHFT(data_tmp, 41)
15870 961690 : data_tmp = IAND(data_tmp, mask_left(3))
15871 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15872 961690 : ipack = ipack + 1
15873 961690 : packed_data(ipack) = pack_tmp
15874 961690 : data_tmp = full_data(idata)
15875 961690 : pack_tmp = ISHFT(data_tmp, 44)
15876 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15877 961690 : idata = idata + 1
15878 961690 : data_tmp = full_data(idata)
15879 961690 : data_tmp = ISHFT(data_tmp, 41)
15880 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15881 961690 : pack_tmp = ISHFT(pack_tmp, -21)
15882 961690 : idata = idata + 1
15883 961690 : data_tmp = full_data(idata)
15884 961690 : data_tmp = ISHFT(data_tmp, 41)
15885 961690 : data_tmp = IAND(data_tmp, mask_left(21))
15886 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15887 961690 : ipack = ipack + 1
15888 961690 : packed_data(ipack) = pack_tmp
15889 961690 : data_tmp = full_data(idata)
15890 961690 : pack_tmp = ISHFT(data_tmp, 62)
15891 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15892 961690 : idata = idata + 1
15893 961690 : data_tmp = full_data(idata)
15894 961690 : data_tmp = ISHFT(data_tmp, 41)
15895 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15896 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15897 961690 : idata = idata + 1
15898 961690 : data_tmp = full_data(idata)
15899 961690 : data_tmp = ISHFT(data_tmp, 41)
15900 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15901 961690 : pack_tmp = ISHFT(pack_tmp, -16)
15902 961690 : idata = idata + 1
15903 961690 : data_tmp = full_data(idata)
15904 961690 : data_tmp = ISHFT(data_tmp, 41)
15905 961690 : data_tmp = IAND(data_tmp, mask_left(16))
15906 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15907 961690 : ipack = ipack + 1
15908 961690 : packed_data(ipack) = pack_tmp
15909 961690 : data_tmp = full_data(idata)
15910 961690 : pack_tmp = ISHFT(data_tmp, 57)
15911 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15912 961690 : idata = idata + 1
15913 961690 : data_tmp = full_data(idata)
15914 961690 : data_tmp = ISHFT(data_tmp, 41)
15915 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15916 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15917 961690 : idata = idata + 1
15918 961690 : data_tmp = full_data(idata)
15919 961690 : data_tmp = ISHFT(data_tmp, 41)
15920 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15921 961690 : pack_tmp = ISHFT(pack_tmp, -11)
15922 961690 : idata = idata + 1
15923 961690 : data_tmp = full_data(idata)
15924 961690 : data_tmp = ISHFT(data_tmp, 41)
15925 961690 : data_tmp = IAND(data_tmp, mask_left(11))
15926 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15927 961690 : ipack = ipack + 1
15928 961690 : packed_data(ipack) = pack_tmp
15929 961690 : data_tmp = full_data(idata)
15930 961690 : pack_tmp = ISHFT(data_tmp, 52)
15931 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15932 961690 : idata = idata + 1
15933 961690 : data_tmp = full_data(idata)
15934 961690 : data_tmp = ISHFT(data_tmp, 41)
15935 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15936 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15937 961690 : idata = idata + 1
15938 961690 : data_tmp = full_data(idata)
15939 961690 : data_tmp = ISHFT(data_tmp, 41)
15940 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15941 961690 : pack_tmp = ISHFT(pack_tmp, -6)
15942 961690 : idata = idata + 1
15943 961690 : data_tmp = full_data(idata)
15944 961690 : data_tmp = ISHFT(data_tmp, 41)
15945 961690 : data_tmp = IAND(data_tmp, mask_left(6))
15946 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15947 961690 : ipack = ipack + 1
15948 961690 : packed_data(ipack) = pack_tmp
15949 961690 : data_tmp = full_data(idata)
15950 961690 : pack_tmp = ISHFT(data_tmp, 47)
15951 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15952 961690 : idata = idata + 1
15953 961690 : data_tmp = full_data(idata)
15954 961690 : data_tmp = ISHFT(data_tmp, 41)
15955 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15956 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15957 961690 : idata = idata + 1
15958 961690 : data_tmp = full_data(idata)
15959 961690 : data_tmp = ISHFT(data_tmp, 41)
15960 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15961 961690 : pack_tmp = ISHFT(pack_tmp, -1)
15962 961690 : idata = idata + 1
15963 961690 : data_tmp = full_data(idata)
15964 961690 : data_tmp = ISHFT(data_tmp, 41)
15965 961690 : data_tmp = IAND(data_tmp, mask_left(1))
15966 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15967 961690 : ipack = ipack + 1
15968 961690 : packed_data(ipack) = pack_tmp
15969 961690 : data_tmp = full_data(idata)
15970 961690 : pack_tmp = ISHFT(data_tmp, 42)
15971 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15972 961690 : idata = idata + 1
15973 961690 : data_tmp = full_data(idata)
15974 961690 : data_tmp = ISHFT(data_tmp, 41)
15975 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15976 961690 : pack_tmp = ISHFT(pack_tmp, -19)
15977 961690 : idata = idata + 1
15978 961690 : data_tmp = full_data(idata)
15979 961690 : data_tmp = ISHFT(data_tmp, 41)
15980 961690 : data_tmp = IAND(data_tmp, mask_left(19))
15981 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15982 961690 : ipack = ipack + 1
15983 961690 : packed_data(ipack) = pack_tmp
15984 961690 : data_tmp = full_data(idata)
15985 961690 : pack_tmp = ISHFT(data_tmp, 60)
15986 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15987 961690 : idata = idata + 1
15988 961690 : data_tmp = full_data(idata)
15989 961690 : data_tmp = ISHFT(data_tmp, 41)
15990 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15991 961690 : pack_tmp = ISHFT(pack_tmp, -23)
15992 961690 : idata = idata + 1
15993 961690 : data_tmp = full_data(idata)
15994 961690 : data_tmp = ISHFT(data_tmp, 41)
15995 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
15996 961690 : pack_tmp = ISHFT(pack_tmp, -14)
15997 961690 : idata = idata + 1
15998 961690 : data_tmp = full_data(idata)
15999 961690 : data_tmp = ISHFT(data_tmp, 41)
16000 961690 : data_tmp = IAND(data_tmp, mask_left(14))
16001 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16002 961690 : ipack = ipack + 1
16003 961690 : packed_data(ipack) = pack_tmp
16004 961690 : data_tmp = full_data(idata)
16005 961690 : pack_tmp = ISHFT(data_tmp, 55)
16006 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16007 961690 : idata = idata + 1
16008 961690 : data_tmp = full_data(idata)
16009 961690 : data_tmp = ISHFT(data_tmp, 41)
16010 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16011 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16012 961690 : idata = idata + 1
16013 961690 : data_tmp = full_data(idata)
16014 961690 : data_tmp = ISHFT(data_tmp, 41)
16015 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16016 961690 : pack_tmp = ISHFT(pack_tmp, -9)
16017 961690 : idata = idata + 1
16018 961690 : data_tmp = full_data(idata)
16019 961690 : data_tmp = ISHFT(data_tmp, 41)
16020 961690 : data_tmp = IAND(data_tmp, mask_left(9))
16021 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16022 961690 : ipack = ipack + 1
16023 961690 : packed_data(ipack) = pack_tmp
16024 961690 : data_tmp = full_data(idata)
16025 961690 : pack_tmp = ISHFT(data_tmp, 50)
16026 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16027 961690 : idata = idata + 1
16028 961690 : data_tmp = full_data(idata)
16029 961690 : data_tmp = ISHFT(data_tmp, 41)
16030 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16031 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16032 961690 : idata = idata + 1
16033 961690 : data_tmp = full_data(idata)
16034 961690 : data_tmp = ISHFT(data_tmp, 41)
16035 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16036 961690 : pack_tmp = ISHFT(pack_tmp, -4)
16037 961690 : idata = idata + 1
16038 961690 : data_tmp = full_data(idata)
16039 961690 : data_tmp = ISHFT(data_tmp, 41)
16040 961690 : data_tmp = IAND(data_tmp, mask_left(4))
16041 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16042 961690 : ipack = ipack + 1
16043 961690 : packed_data(ipack) = pack_tmp
16044 961690 : data_tmp = full_data(idata)
16045 961690 : pack_tmp = ISHFT(data_tmp, 45)
16046 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16047 961690 : idata = idata + 1
16048 961690 : data_tmp = full_data(idata)
16049 961690 : data_tmp = ISHFT(data_tmp, 41)
16050 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16051 961690 : pack_tmp = ISHFT(pack_tmp, -22)
16052 961690 : idata = idata + 1
16053 961690 : data_tmp = full_data(idata)
16054 961690 : data_tmp = ISHFT(data_tmp, 41)
16055 961690 : data_tmp = IAND(data_tmp, mask_left(22))
16056 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16057 961690 : ipack = ipack + 1
16058 961690 : packed_data(ipack) = pack_tmp
16059 961690 : data_tmp = full_data(idata)
16060 961690 : pack_tmp = ISHFT(data_tmp, 63)
16061 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16062 961690 : idata = idata + 1
16063 961690 : data_tmp = full_data(idata)
16064 961690 : data_tmp = ISHFT(data_tmp, 41)
16065 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16066 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16067 961690 : idata = idata + 1
16068 961690 : data_tmp = full_data(idata)
16069 961690 : data_tmp = ISHFT(data_tmp, 41)
16070 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16071 961690 : pack_tmp = ISHFT(pack_tmp, -17)
16072 961690 : idata = idata + 1
16073 961690 : data_tmp = full_data(idata)
16074 961690 : data_tmp = ISHFT(data_tmp, 41)
16075 961690 : data_tmp = IAND(data_tmp, mask_left(17))
16076 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16077 961690 : ipack = ipack + 1
16078 961690 : packed_data(ipack) = pack_tmp
16079 961690 : data_tmp = full_data(idata)
16080 961690 : pack_tmp = ISHFT(data_tmp, 58)
16081 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16082 961690 : idata = idata + 1
16083 961690 : data_tmp = full_data(idata)
16084 961690 : data_tmp = ISHFT(data_tmp, 41)
16085 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16086 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16087 961690 : idata = idata + 1
16088 961690 : data_tmp = full_data(idata)
16089 961690 : data_tmp = ISHFT(data_tmp, 41)
16090 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16091 961690 : pack_tmp = ISHFT(pack_tmp, -12)
16092 961690 : idata = idata + 1
16093 961690 : data_tmp = full_data(idata)
16094 961690 : data_tmp = ISHFT(data_tmp, 41)
16095 961690 : data_tmp = IAND(data_tmp, mask_left(12))
16096 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16097 961690 : ipack = ipack + 1
16098 961690 : packed_data(ipack) = pack_tmp
16099 961690 : data_tmp = full_data(idata)
16100 961690 : pack_tmp = ISHFT(data_tmp, 53)
16101 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16102 961690 : idata = idata + 1
16103 961690 : data_tmp = full_data(idata)
16104 961690 : data_tmp = ISHFT(data_tmp, 41)
16105 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16106 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16107 961690 : idata = idata + 1
16108 961690 : data_tmp = full_data(idata)
16109 961690 : data_tmp = ISHFT(data_tmp, 41)
16110 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16111 961690 : pack_tmp = ISHFT(pack_tmp, -7)
16112 961690 : idata = idata + 1
16113 961690 : data_tmp = full_data(idata)
16114 961690 : data_tmp = ISHFT(data_tmp, 41)
16115 961690 : data_tmp = IAND(data_tmp, mask_left(7))
16116 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16117 961690 : ipack = ipack + 1
16118 961690 : packed_data(ipack) = pack_tmp
16119 961690 : data_tmp = full_data(idata)
16120 961690 : pack_tmp = ISHFT(data_tmp, 48)
16121 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16122 961690 : idata = idata + 1
16123 961690 : data_tmp = full_data(idata)
16124 961690 : data_tmp = ISHFT(data_tmp, 41)
16125 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16126 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16127 961690 : idata = idata + 1
16128 961690 : data_tmp = full_data(idata)
16129 961690 : data_tmp = ISHFT(data_tmp, 41)
16130 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16131 961690 : pack_tmp = ISHFT(pack_tmp, -2)
16132 961690 : idata = idata + 1
16133 961690 : data_tmp = full_data(idata)
16134 961690 : data_tmp = ISHFT(data_tmp, 41)
16135 961690 : data_tmp = IAND(data_tmp, mask_left(2))
16136 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16137 961690 : ipack = ipack + 1
16138 961690 : packed_data(ipack) = pack_tmp
16139 961690 : data_tmp = full_data(idata)
16140 961690 : pack_tmp = ISHFT(data_tmp, 43)
16141 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16142 961690 : idata = idata + 1
16143 961690 : data_tmp = full_data(idata)
16144 961690 : data_tmp = ISHFT(data_tmp, 41)
16145 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16146 961690 : pack_tmp = ISHFT(pack_tmp, -20)
16147 961690 : idata = idata + 1
16148 961690 : data_tmp = full_data(idata)
16149 961690 : data_tmp = ISHFT(data_tmp, 41)
16150 961690 : data_tmp = IAND(data_tmp, mask_left(20))
16151 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16152 961690 : ipack = ipack + 1
16153 961690 : packed_data(ipack) = pack_tmp
16154 961690 : data_tmp = full_data(idata)
16155 961690 : pack_tmp = ISHFT(data_tmp, 61)
16156 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16157 961690 : idata = idata + 1
16158 961690 : data_tmp = full_data(idata)
16159 961690 : data_tmp = ISHFT(data_tmp, 41)
16160 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16161 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16162 961690 : idata = idata + 1
16163 961690 : data_tmp = full_data(idata)
16164 961690 : data_tmp = ISHFT(data_tmp, 41)
16165 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16166 961690 : pack_tmp = ISHFT(pack_tmp, -15)
16167 961690 : idata = idata + 1
16168 961690 : data_tmp = full_data(idata)
16169 961690 : data_tmp = ISHFT(data_tmp, 41)
16170 961690 : data_tmp = IAND(data_tmp, mask_left(15))
16171 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16172 961690 : ipack = ipack + 1
16173 961690 : packed_data(ipack) = pack_tmp
16174 961690 : data_tmp = full_data(idata)
16175 961690 : pack_tmp = ISHFT(data_tmp, 56)
16176 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16177 961690 : idata = idata + 1
16178 961690 : data_tmp = full_data(idata)
16179 961690 : data_tmp = ISHFT(data_tmp, 41)
16180 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16181 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16182 961690 : idata = idata + 1
16183 961690 : data_tmp = full_data(idata)
16184 961690 : data_tmp = ISHFT(data_tmp, 41)
16185 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16186 961690 : pack_tmp = ISHFT(pack_tmp, -10)
16187 961690 : idata = idata + 1
16188 961690 : data_tmp = full_data(idata)
16189 961690 : data_tmp = ISHFT(data_tmp, 41)
16190 961690 : data_tmp = IAND(data_tmp, mask_left(10))
16191 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16192 961690 : ipack = ipack + 1
16193 961690 : packed_data(ipack) = pack_tmp
16194 961690 : data_tmp = full_data(idata)
16195 961690 : pack_tmp = ISHFT(data_tmp, 51)
16196 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16197 961690 : idata = idata + 1
16198 961690 : data_tmp = full_data(idata)
16199 961690 : data_tmp = ISHFT(data_tmp, 41)
16200 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16201 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16202 961690 : idata = idata + 1
16203 961690 : data_tmp = full_data(idata)
16204 961690 : data_tmp = ISHFT(data_tmp, 41)
16205 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16206 961690 : pack_tmp = ISHFT(pack_tmp, -5)
16207 961690 : idata = idata + 1
16208 961690 : data_tmp = full_data(idata)
16209 961690 : data_tmp = ISHFT(data_tmp, 41)
16210 961690 : data_tmp = IAND(data_tmp, mask_left(5))
16211 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16212 961690 : ipack = ipack + 1
16213 961690 : packed_data(ipack) = pack_tmp
16214 961690 : data_tmp = full_data(idata)
16215 961690 : pack_tmp = ISHFT(data_tmp, 46)
16216 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16217 961690 : idata = idata + 1
16218 961690 : data_tmp = full_data(idata)
16219 961690 : data_tmp = ISHFT(data_tmp, 41)
16220 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16221 961690 : pack_tmp = ISHFT(pack_tmp, -23)
16222 961690 : idata = idata + 1
16223 961690 : data_tmp = full_data(idata)
16224 961690 : data_tmp = ISHFT(data_tmp, 41)
16225 961690 : pack_tmp = IOR(pack_tmp, data_tmp)
16226 : pack_tmp = ISHFT(pack_tmp, 0)
16227 961690 : pack_tmp = ISHFT(pack_tmp, 0)
16228 961690 : ipack = ipack + 1
16229 962344 : packed_data(ipack) = pack_tmp
16230 : END DO
16231 73600 : IF (Ndata_rep < Ndata) THEN
16232 13932 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16233 : END IF
16234 73600 : END SUBROUTINE ints2bits_23
16235 :
16236 : ! **************************************************************************************************
16237 : !> \brief ...
16238 : !> \param Ndata ...
16239 : !> \param packed_data ...
16240 : !> \param full_data ...
16241 : ! **************************************************************************************************
16242 228106 : 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 228106 : ipack = 0
16253 228106 : idata = 0
16254 228106 : pack_tmp = 0
16255 228106 : Ndata_rep = (Ndata/64)*64
16256 228106 : DO kdata = 1, Ndata_rep, 64
16257 3081914 : idata = idata + 1
16258 3081914 : data_tmp = ISHFT(pack_tmp, 23)
16259 3081914 : ipack = ipack + 1
16260 3081914 : pack_tmp = packed_data(ipack)
16261 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
16262 3081914 : pack_tmp = ISHFT(pack_tmp, -23)
16263 3081914 : idata = idata + 1
16264 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16265 3081914 : full_data(idata) = data_tmp
16266 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16267 3081914 : idata = idata + 1
16268 3081914 : data_tmp = ISHFT(pack_tmp, 5)
16269 3081914 : ipack = ipack + 1
16270 3081914 : pack_tmp = packed_data(ipack)
16271 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
16272 3081914 : pack_tmp = ISHFT(pack_tmp, -5)
16273 3081914 : idata = idata + 1
16274 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16275 3081914 : full_data(idata) = data_tmp
16276 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16277 3081914 : idata = idata + 1
16278 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16279 3081914 : full_data(idata) = data_tmp
16280 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16281 3081914 : idata = idata + 1
16282 3081914 : data_tmp = ISHFT(pack_tmp, 10)
16283 3081914 : ipack = ipack + 1
16284 3081914 : pack_tmp = packed_data(ipack)
16285 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
16286 3081914 : pack_tmp = ISHFT(pack_tmp, -10)
16287 3081914 : idata = idata + 1
16288 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16289 3081914 : full_data(idata) = data_tmp
16290 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16291 3081914 : idata = idata + 1
16292 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16293 3081914 : full_data(idata) = data_tmp
16294 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16295 3081914 : idata = idata + 1
16296 3081914 : data_tmp = ISHFT(pack_tmp, 15)
16297 3081914 : ipack = ipack + 1
16298 3081914 : pack_tmp = packed_data(ipack)
16299 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
16300 3081914 : pack_tmp = ISHFT(pack_tmp, -15)
16301 3081914 : idata = idata + 1
16302 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16303 3081914 : full_data(idata) = data_tmp
16304 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16305 3081914 : idata = idata + 1
16306 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16307 3081914 : full_data(idata) = data_tmp
16308 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16309 3081914 : idata = idata + 1
16310 3081914 : data_tmp = ISHFT(pack_tmp, 20)
16311 3081914 : ipack = ipack + 1
16312 3081914 : pack_tmp = packed_data(ipack)
16313 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
16314 3081914 : pack_tmp = ISHFT(pack_tmp, -20)
16315 3081914 : idata = idata + 1
16316 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16317 3081914 : full_data(idata) = data_tmp
16318 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16319 3081914 : idata = idata + 1
16320 3081914 : data_tmp = ISHFT(pack_tmp, 2)
16321 3081914 : ipack = ipack + 1
16322 3081914 : pack_tmp = packed_data(ipack)
16323 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
16324 3081914 : pack_tmp = ISHFT(pack_tmp, -2)
16325 3081914 : idata = idata + 1
16326 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16327 3081914 : full_data(idata) = data_tmp
16328 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16329 3081914 : idata = idata + 1
16330 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16331 3081914 : full_data(idata) = data_tmp
16332 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16333 3081914 : idata = idata + 1
16334 3081914 : data_tmp = ISHFT(pack_tmp, 7)
16335 3081914 : ipack = ipack + 1
16336 3081914 : pack_tmp = packed_data(ipack)
16337 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
16338 3081914 : pack_tmp = ISHFT(pack_tmp, -7)
16339 3081914 : idata = idata + 1
16340 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16341 3081914 : full_data(idata) = data_tmp
16342 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16343 3081914 : idata = idata + 1
16344 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16345 3081914 : full_data(idata) = data_tmp
16346 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16347 3081914 : idata = idata + 1
16348 3081914 : data_tmp = ISHFT(pack_tmp, 12)
16349 3081914 : ipack = ipack + 1
16350 3081914 : pack_tmp = packed_data(ipack)
16351 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
16352 3081914 : pack_tmp = ISHFT(pack_tmp, -12)
16353 3081914 : idata = idata + 1
16354 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16355 3081914 : full_data(idata) = data_tmp
16356 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16357 3081914 : idata = idata + 1
16358 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16359 3081914 : full_data(idata) = data_tmp
16360 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16361 3081914 : idata = idata + 1
16362 3081914 : data_tmp = ISHFT(pack_tmp, 17)
16363 3081914 : ipack = ipack + 1
16364 3081914 : pack_tmp = packed_data(ipack)
16365 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
16366 3081914 : pack_tmp = ISHFT(pack_tmp, -17)
16367 3081914 : idata = idata + 1
16368 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16369 3081914 : full_data(idata) = data_tmp
16370 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16371 3081914 : idata = idata + 1
16372 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16373 3081914 : full_data(idata) = data_tmp
16374 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16375 3081914 : idata = idata + 1
16376 3081914 : data_tmp = ISHFT(pack_tmp, 22)
16377 3081914 : ipack = ipack + 1
16378 3081914 : pack_tmp = packed_data(ipack)
16379 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
16380 3081914 : pack_tmp = ISHFT(pack_tmp, -22)
16381 3081914 : idata = idata + 1
16382 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16383 3081914 : full_data(idata) = data_tmp
16384 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16385 3081914 : idata = idata + 1
16386 3081914 : data_tmp = ISHFT(pack_tmp, 4)
16387 3081914 : ipack = ipack + 1
16388 3081914 : pack_tmp = packed_data(ipack)
16389 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
16390 3081914 : pack_tmp = ISHFT(pack_tmp, -4)
16391 3081914 : idata = idata + 1
16392 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16393 3081914 : full_data(idata) = data_tmp
16394 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16395 3081914 : idata = idata + 1
16396 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16397 3081914 : full_data(idata) = data_tmp
16398 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16399 3081914 : idata = idata + 1
16400 3081914 : data_tmp = ISHFT(pack_tmp, 9)
16401 3081914 : ipack = ipack + 1
16402 3081914 : pack_tmp = packed_data(ipack)
16403 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
16404 3081914 : pack_tmp = ISHFT(pack_tmp, -9)
16405 3081914 : idata = idata + 1
16406 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16407 3081914 : full_data(idata) = data_tmp
16408 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16409 3081914 : idata = idata + 1
16410 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16411 3081914 : full_data(idata) = data_tmp
16412 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16413 3081914 : idata = idata + 1
16414 3081914 : data_tmp = ISHFT(pack_tmp, 14)
16415 3081914 : ipack = ipack + 1
16416 3081914 : pack_tmp = packed_data(ipack)
16417 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
16418 3081914 : pack_tmp = ISHFT(pack_tmp, -14)
16419 3081914 : idata = idata + 1
16420 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16421 3081914 : full_data(idata) = data_tmp
16422 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16423 3081914 : idata = idata + 1
16424 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16425 3081914 : full_data(idata) = data_tmp
16426 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16427 3081914 : idata = idata + 1
16428 3081914 : data_tmp = ISHFT(pack_tmp, 19)
16429 3081914 : ipack = ipack + 1
16430 3081914 : pack_tmp = packed_data(ipack)
16431 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
16432 3081914 : pack_tmp = ISHFT(pack_tmp, -19)
16433 3081914 : idata = idata + 1
16434 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16435 3081914 : full_data(idata) = data_tmp
16436 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16437 3081914 : idata = idata + 1
16438 3081914 : data_tmp = ISHFT(pack_tmp, 1)
16439 3081914 : ipack = ipack + 1
16440 3081914 : pack_tmp = packed_data(ipack)
16441 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
16442 3081914 : pack_tmp = ISHFT(pack_tmp, -1)
16443 3081914 : idata = idata + 1
16444 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16445 3081914 : full_data(idata) = data_tmp
16446 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16447 3081914 : idata = idata + 1
16448 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16449 3081914 : full_data(idata) = data_tmp
16450 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16451 3081914 : idata = idata + 1
16452 3081914 : data_tmp = ISHFT(pack_tmp, 6)
16453 3081914 : ipack = ipack + 1
16454 3081914 : pack_tmp = packed_data(ipack)
16455 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
16456 3081914 : pack_tmp = ISHFT(pack_tmp, -6)
16457 3081914 : idata = idata + 1
16458 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16459 3081914 : full_data(idata) = data_tmp
16460 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16461 3081914 : idata = idata + 1
16462 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16463 3081914 : full_data(idata) = data_tmp
16464 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16465 3081914 : idata = idata + 1
16466 3081914 : data_tmp = ISHFT(pack_tmp, 11)
16467 3081914 : ipack = ipack + 1
16468 3081914 : pack_tmp = packed_data(ipack)
16469 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
16470 3081914 : pack_tmp = ISHFT(pack_tmp, -11)
16471 3081914 : idata = idata + 1
16472 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16473 3081914 : full_data(idata) = data_tmp
16474 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16475 3081914 : idata = idata + 1
16476 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16477 3081914 : full_data(idata) = data_tmp
16478 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16479 3081914 : idata = idata + 1
16480 3081914 : data_tmp = ISHFT(pack_tmp, 16)
16481 3081914 : ipack = ipack + 1
16482 3081914 : pack_tmp = packed_data(ipack)
16483 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
16484 3081914 : pack_tmp = ISHFT(pack_tmp, -16)
16485 3081914 : idata = idata + 1
16486 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16487 3081914 : full_data(idata) = data_tmp
16488 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16489 3081914 : idata = idata + 1
16490 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16491 3081914 : full_data(idata) = data_tmp
16492 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16493 3081914 : idata = idata + 1
16494 3081914 : data_tmp = ISHFT(pack_tmp, 21)
16495 3081914 : ipack = ipack + 1
16496 3081914 : pack_tmp = packed_data(ipack)
16497 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
16498 3081914 : pack_tmp = ISHFT(pack_tmp, -21)
16499 3081914 : idata = idata + 1
16500 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16501 3081914 : full_data(idata) = data_tmp
16502 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16503 3081914 : idata = idata + 1
16504 3081914 : data_tmp = ISHFT(pack_tmp, 3)
16505 3081914 : ipack = ipack + 1
16506 3081914 : pack_tmp = packed_data(ipack)
16507 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
16508 3081914 : pack_tmp = ISHFT(pack_tmp, -3)
16509 3081914 : idata = idata + 1
16510 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16511 3081914 : full_data(idata) = data_tmp
16512 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16513 3081914 : idata = idata + 1
16514 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16515 3081914 : full_data(idata) = data_tmp
16516 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16517 3081914 : idata = idata + 1
16518 3081914 : data_tmp = ISHFT(pack_tmp, 8)
16519 3081914 : ipack = ipack + 1
16520 3081914 : pack_tmp = packed_data(ipack)
16521 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
16522 3081914 : pack_tmp = ISHFT(pack_tmp, -8)
16523 3081914 : idata = idata + 1
16524 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16525 3081914 : full_data(idata) = data_tmp
16526 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16527 3081914 : idata = idata + 1
16528 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16529 3081914 : full_data(idata) = data_tmp
16530 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16531 3081914 : idata = idata + 1
16532 3081914 : data_tmp = ISHFT(pack_tmp, 13)
16533 3081914 : ipack = ipack + 1
16534 3081914 : pack_tmp = packed_data(ipack)
16535 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
16536 3081914 : pack_tmp = ISHFT(pack_tmp, -13)
16537 3081914 : idata = idata + 1
16538 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16539 3081914 : full_data(idata) = data_tmp
16540 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16541 3081914 : idata = idata + 1
16542 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16543 3081914 : full_data(idata) = data_tmp
16544 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16545 3081914 : idata = idata + 1
16546 3081914 : data_tmp = ISHFT(pack_tmp, 18)
16547 3081914 : ipack = ipack + 1
16548 3081914 : pack_tmp = packed_data(ipack)
16549 3081914 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
16550 3081914 : pack_tmp = ISHFT(pack_tmp, -18)
16551 3081914 : idata = idata + 1
16552 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16553 3081914 : full_data(idata) = data_tmp
16554 3081914 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16555 3081914 : idata = idata + 1
16556 3081914 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16557 3081914 : full_data(idata) = data_tmp
16558 3083506 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16559 : END DO
16560 228106 : IF (Ndata_rep < Ndata) THEN
16561 37964 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16562 : END IF
16563 228106 : END SUBROUTINE bits2ints_23
16564 :
16565 : ! **************************************************************************************************
16566 : !> \brief ...
16567 : !> \param Ndata ...
16568 : !> \param packed_data ...
16569 : !> \param full_data ...
16570 : ! **************************************************************************************************
16571 36154 : 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 36154 : idata = 0
16582 36154 : ipack = 0
16583 36154 : Ndata_rep = (Ndata/64)*64
16584 36154 : DO kdata = 1, Ndata_rep, 64
16585 522721 : pack_tmp = 0
16586 522721 : idata = idata + 1
16587 522721 : data_tmp = full_data(idata)
16588 522721 : data_tmp = ISHFT(data_tmp, 40)
16589 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16590 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16591 522721 : idata = idata + 1
16592 522721 : data_tmp = full_data(idata)
16593 522721 : data_tmp = ISHFT(data_tmp, 40)
16594 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16595 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16596 522721 : idata = idata + 1
16597 522721 : data_tmp = full_data(idata)
16598 522721 : data_tmp = ISHFT(data_tmp, 40)
16599 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16600 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16601 522721 : ipack = ipack + 1
16602 522721 : packed_data(ipack) = pack_tmp
16603 522721 : data_tmp = full_data(idata)
16604 522721 : pack_tmp = ISHFT(data_tmp, 56)
16605 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16606 522721 : idata = idata + 1
16607 522721 : data_tmp = full_data(idata)
16608 522721 : data_tmp = ISHFT(data_tmp, 40)
16609 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16610 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16611 522721 : idata = idata + 1
16612 522721 : data_tmp = full_data(idata)
16613 522721 : data_tmp = ISHFT(data_tmp, 40)
16614 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16615 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16616 522721 : idata = idata + 1
16617 522721 : data_tmp = full_data(idata)
16618 522721 : data_tmp = ISHFT(data_tmp, 40)
16619 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16620 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16621 522721 : ipack = ipack + 1
16622 522721 : packed_data(ipack) = pack_tmp
16623 522721 : data_tmp = full_data(idata)
16624 522721 : pack_tmp = ISHFT(data_tmp, 48)
16625 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16626 522721 : idata = idata + 1
16627 522721 : data_tmp = full_data(idata)
16628 522721 : data_tmp = ISHFT(data_tmp, 40)
16629 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16630 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16631 522721 : idata = idata + 1
16632 522721 : data_tmp = full_data(idata)
16633 522721 : data_tmp = ISHFT(data_tmp, 40)
16634 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16635 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16636 522721 : idata = idata + 1
16637 522721 : data_tmp = full_data(idata)
16638 : data_tmp = ISHFT(data_tmp, 40)
16639 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16640 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16641 522721 : ipack = ipack + 1
16642 522721 : packed_data(ipack) = pack_tmp
16643 522721 : data_tmp = full_data(idata)
16644 522721 : pack_tmp = ISHFT(data_tmp, 40)
16645 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16646 522721 : idata = idata + 1
16647 522721 : data_tmp = full_data(idata)
16648 522721 : data_tmp = ISHFT(data_tmp, 40)
16649 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16650 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16651 522721 : idata = idata + 1
16652 522721 : data_tmp = full_data(idata)
16653 522721 : data_tmp = ISHFT(data_tmp, 40)
16654 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16655 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16656 522721 : ipack = ipack + 1
16657 522721 : packed_data(ipack) = pack_tmp
16658 522721 : data_tmp = full_data(idata)
16659 522721 : pack_tmp = ISHFT(data_tmp, 56)
16660 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16661 522721 : idata = idata + 1
16662 522721 : data_tmp = full_data(idata)
16663 522721 : data_tmp = ISHFT(data_tmp, 40)
16664 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16665 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16666 522721 : idata = idata + 1
16667 522721 : data_tmp = full_data(idata)
16668 522721 : data_tmp = ISHFT(data_tmp, 40)
16669 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16670 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16671 522721 : idata = idata + 1
16672 522721 : data_tmp = full_data(idata)
16673 522721 : data_tmp = ISHFT(data_tmp, 40)
16674 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16675 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16676 522721 : ipack = ipack + 1
16677 522721 : packed_data(ipack) = pack_tmp
16678 522721 : data_tmp = full_data(idata)
16679 522721 : pack_tmp = ISHFT(data_tmp, 48)
16680 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16681 522721 : idata = idata + 1
16682 522721 : data_tmp = full_data(idata)
16683 522721 : data_tmp = ISHFT(data_tmp, 40)
16684 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16685 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16686 522721 : idata = idata + 1
16687 522721 : data_tmp = full_data(idata)
16688 522721 : data_tmp = ISHFT(data_tmp, 40)
16689 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16690 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16691 522721 : idata = idata + 1
16692 522721 : data_tmp = full_data(idata)
16693 : data_tmp = ISHFT(data_tmp, 40)
16694 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16695 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16696 522721 : ipack = ipack + 1
16697 522721 : packed_data(ipack) = pack_tmp
16698 522721 : data_tmp = full_data(idata)
16699 522721 : pack_tmp = ISHFT(data_tmp, 40)
16700 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16701 522721 : idata = idata + 1
16702 522721 : data_tmp = full_data(idata)
16703 522721 : data_tmp = ISHFT(data_tmp, 40)
16704 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16705 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16706 522721 : idata = idata + 1
16707 522721 : data_tmp = full_data(idata)
16708 522721 : data_tmp = ISHFT(data_tmp, 40)
16709 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16710 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16711 522721 : ipack = ipack + 1
16712 522721 : packed_data(ipack) = pack_tmp
16713 522721 : data_tmp = full_data(idata)
16714 522721 : pack_tmp = ISHFT(data_tmp, 56)
16715 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16716 522721 : idata = idata + 1
16717 522721 : data_tmp = full_data(idata)
16718 522721 : data_tmp = ISHFT(data_tmp, 40)
16719 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16720 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16721 522721 : idata = idata + 1
16722 522721 : data_tmp = full_data(idata)
16723 522721 : data_tmp = ISHFT(data_tmp, 40)
16724 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16725 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16726 522721 : idata = idata + 1
16727 522721 : data_tmp = full_data(idata)
16728 522721 : data_tmp = ISHFT(data_tmp, 40)
16729 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16730 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16731 522721 : ipack = ipack + 1
16732 522721 : packed_data(ipack) = pack_tmp
16733 522721 : data_tmp = full_data(idata)
16734 522721 : pack_tmp = ISHFT(data_tmp, 48)
16735 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16736 522721 : idata = idata + 1
16737 522721 : data_tmp = full_data(idata)
16738 522721 : data_tmp = ISHFT(data_tmp, 40)
16739 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16740 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16741 522721 : idata = idata + 1
16742 522721 : data_tmp = full_data(idata)
16743 522721 : data_tmp = ISHFT(data_tmp, 40)
16744 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16745 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16746 522721 : idata = idata + 1
16747 522721 : data_tmp = full_data(idata)
16748 : data_tmp = ISHFT(data_tmp, 40)
16749 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16750 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16751 522721 : ipack = ipack + 1
16752 522721 : packed_data(ipack) = pack_tmp
16753 522721 : data_tmp = full_data(idata)
16754 522721 : pack_tmp = ISHFT(data_tmp, 40)
16755 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16756 522721 : idata = idata + 1
16757 522721 : data_tmp = full_data(idata)
16758 522721 : data_tmp = ISHFT(data_tmp, 40)
16759 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16760 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16761 522721 : idata = idata + 1
16762 522721 : data_tmp = full_data(idata)
16763 522721 : data_tmp = ISHFT(data_tmp, 40)
16764 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16765 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16766 522721 : ipack = ipack + 1
16767 522721 : packed_data(ipack) = pack_tmp
16768 522721 : data_tmp = full_data(idata)
16769 522721 : pack_tmp = ISHFT(data_tmp, 56)
16770 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16771 522721 : idata = idata + 1
16772 522721 : data_tmp = full_data(idata)
16773 522721 : data_tmp = ISHFT(data_tmp, 40)
16774 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16775 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16776 522721 : idata = idata + 1
16777 522721 : data_tmp = full_data(idata)
16778 522721 : data_tmp = ISHFT(data_tmp, 40)
16779 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16780 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16781 522721 : idata = idata + 1
16782 522721 : data_tmp = full_data(idata)
16783 522721 : data_tmp = ISHFT(data_tmp, 40)
16784 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16785 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16786 522721 : ipack = ipack + 1
16787 522721 : packed_data(ipack) = pack_tmp
16788 522721 : data_tmp = full_data(idata)
16789 522721 : pack_tmp = ISHFT(data_tmp, 48)
16790 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16791 522721 : idata = idata + 1
16792 522721 : data_tmp = full_data(idata)
16793 522721 : data_tmp = ISHFT(data_tmp, 40)
16794 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16795 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16796 522721 : idata = idata + 1
16797 522721 : data_tmp = full_data(idata)
16798 522721 : data_tmp = ISHFT(data_tmp, 40)
16799 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16800 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16801 522721 : idata = idata + 1
16802 522721 : data_tmp = full_data(idata)
16803 : data_tmp = ISHFT(data_tmp, 40)
16804 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16805 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16806 522721 : ipack = ipack + 1
16807 522721 : packed_data(ipack) = pack_tmp
16808 522721 : data_tmp = full_data(idata)
16809 522721 : pack_tmp = ISHFT(data_tmp, 40)
16810 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16811 522721 : idata = idata + 1
16812 522721 : data_tmp = full_data(idata)
16813 522721 : data_tmp = ISHFT(data_tmp, 40)
16814 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16815 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16816 522721 : idata = idata + 1
16817 522721 : data_tmp = full_data(idata)
16818 522721 : data_tmp = ISHFT(data_tmp, 40)
16819 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16820 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16821 522721 : ipack = ipack + 1
16822 522721 : packed_data(ipack) = pack_tmp
16823 522721 : data_tmp = full_data(idata)
16824 522721 : pack_tmp = ISHFT(data_tmp, 56)
16825 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16826 522721 : idata = idata + 1
16827 522721 : data_tmp = full_data(idata)
16828 522721 : data_tmp = ISHFT(data_tmp, 40)
16829 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16830 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16831 522721 : idata = idata + 1
16832 522721 : data_tmp = full_data(idata)
16833 522721 : data_tmp = ISHFT(data_tmp, 40)
16834 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16835 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16836 522721 : idata = idata + 1
16837 522721 : data_tmp = full_data(idata)
16838 522721 : data_tmp = ISHFT(data_tmp, 40)
16839 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16840 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16841 522721 : ipack = ipack + 1
16842 522721 : packed_data(ipack) = pack_tmp
16843 522721 : data_tmp = full_data(idata)
16844 522721 : pack_tmp = ISHFT(data_tmp, 48)
16845 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16846 522721 : idata = idata + 1
16847 522721 : data_tmp = full_data(idata)
16848 522721 : data_tmp = ISHFT(data_tmp, 40)
16849 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16850 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16851 522721 : idata = idata + 1
16852 522721 : data_tmp = full_data(idata)
16853 522721 : data_tmp = ISHFT(data_tmp, 40)
16854 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16855 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16856 522721 : idata = idata + 1
16857 522721 : data_tmp = full_data(idata)
16858 : data_tmp = ISHFT(data_tmp, 40)
16859 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16860 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16861 522721 : ipack = ipack + 1
16862 522721 : packed_data(ipack) = pack_tmp
16863 522721 : data_tmp = full_data(idata)
16864 522721 : pack_tmp = ISHFT(data_tmp, 40)
16865 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16866 522721 : idata = idata + 1
16867 522721 : data_tmp = full_data(idata)
16868 522721 : data_tmp = ISHFT(data_tmp, 40)
16869 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16870 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16871 522721 : idata = idata + 1
16872 522721 : data_tmp = full_data(idata)
16873 522721 : data_tmp = ISHFT(data_tmp, 40)
16874 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16875 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16876 522721 : ipack = ipack + 1
16877 522721 : packed_data(ipack) = pack_tmp
16878 522721 : data_tmp = full_data(idata)
16879 522721 : pack_tmp = ISHFT(data_tmp, 56)
16880 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16881 522721 : idata = idata + 1
16882 522721 : data_tmp = full_data(idata)
16883 522721 : data_tmp = ISHFT(data_tmp, 40)
16884 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16885 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16886 522721 : idata = idata + 1
16887 522721 : data_tmp = full_data(idata)
16888 522721 : data_tmp = ISHFT(data_tmp, 40)
16889 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16890 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16891 522721 : idata = idata + 1
16892 522721 : data_tmp = full_data(idata)
16893 522721 : data_tmp = ISHFT(data_tmp, 40)
16894 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16895 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16896 522721 : ipack = ipack + 1
16897 522721 : packed_data(ipack) = pack_tmp
16898 522721 : data_tmp = full_data(idata)
16899 522721 : pack_tmp = ISHFT(data_tmp, 48)
16900 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16901 522721 : idata = idata + 1
16902 522721 : data_tmp = full_data(idata)
16903 522721 : data_tmp = ISHFT(data_tmp, 40)
16904 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16905 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16906 522721 : idata = idata + 1
16907 522721 : data_tmp = full_data(idata)
16908 522721 : data_tmp = ISHFT(data_tmp, 40)
16909 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16910 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16911 522721 : idata = idata + 1
16912 522721 : data_tmp = full_data(idata)
16913 : data_tmp = ISHFT(data_tmp, 40)
16914 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16915 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16916 522721 : ipack = ipack + 1
16917 522721 : packed_data(ipack) = pack_tmp
16918 522721 : data_tmp = full_data(idata)
16919 522721 : pack_tmp = ISHFT(data_tmp, 40)
16920 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16921 522721 : idata = idata + 1
16922 522721 : data_tmp = full_data(idata)
16923 522721 : data_tmp = ISHFT(data_tmp, 40)
16924 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16925 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16926 522721 : idata = idata + 1
16927 522721 : data_tmp = full_data(idata)
16928 522721 : data_tmp = ISHFT(data_tmp, 40)
16929 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16930 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16931 522721 : ipack = ipack + 1
16932 522721 : packed_data(ipack) = pack_tmp
16933 522721 : data_tmp = full_data(idata)
16934 522721 : pack_tmp = ISHFT(data_tmp, 56)
16935 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16936 522721 : idata = idata + 1
16937 522721 : data_tmp = full_data(idata)
16938 522721 : data_tmp = ISHFT(data_tmp, 40)
16939 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16940 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16941 522721 : idata = idata + 1
16942 522721 : data_tmp = full_data(idata)
16943 522721 : data_tmp = ISHFT(data_tmp, 40)
16944 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16945 522721 : pack_tmp = ISHFT(pack_tmp, -8)
16946 522721 : idata = idata + 1
16947 522721 : data_tmp = full_data(idata)
16948 522721 : data_tmp = ISHFT(data_tmp, 40)
16949 522721 : data_tmp = IAND(data_tmp, mask_left(8))
16950 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16951 522721 : ipack = ipack + 1
16952 522721 : packed_data(ipack) = pack_tmp
16953 522721 : data_tmp = full_data(idata)
16954 522721 : pack_tmp = ISHFT(data_tmp, 48)
16955 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16956 522721 : idata = idata + 1
16957 522721 : data_tmp = full_data(idata)
16958 522721 : data_tmp = ISHFT(data_tmp, 40)
16959 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16960 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16961 522721 : idata = idata + 1
16962 522721 : data_tmp = full_data(idata)
16963 522721 : data_tmp = ISHFT(data_tmp, 40)
16964 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16965 522721 : pack_tmp = ISHFT(pack_tmp, 0)
16966 522721 : idata = idata + 1
16967 522721 : data_tmp = full_data(idata)
16968 : data_tmp = ISHFT(data_tmp, 40)
16969 522721 : data_tmp = IAND(data_tmp, mask_left(0))
16970 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16971 522721 : ipack = ipack + 1
16972 522721 : packed_data(ipack) = pack_tmp
16973 522721 : data_tmp = full_data(idata)
16974 522721 : pack_tmp = ISHFT(data_tmp, 40)
16975 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16976 522721 : idata = idata + 1
16977 522721 : data_tmp = full_data(idata)
16978 522721 : data_tmp = ISHFT(data_tmp, 40)
16979 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16980 522721 : pack_tmp = ISHFT(pack_tmp, -16)
16981 522721 : idata = idata + 1
16982 522721 : data_tmp = full_data(idata)
16983 522721 : data_tmp = ISHFT(data_tmp, 40)
16984 522721 : data_tmp = IAND(data_tmp, mask_left(16))
16985 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16986 522721 : ipack = ipack + 1
16987 522721 : packed_data(ipack) = pack_tmp
16988 522721 : data_tmp = full_data(idata)
16989 522721 : pack_tmp = ISHFT(data_tmp, 56)
16990 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16991 522721 : idata = idata + 1
16992 522721 : data_tmp = full_data(idata)
16993 522721 : data_tmp = ISHFT(data_tmp, 40)
16994 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
16995 522721 : pack_tmp = ISHFT(pack_tmp, -24)
16996 522721 : idata = idata + 1
16997 522721 : data_tmp = full_data(idata)
16998 522721 : data_tmp = ISHFT(data_tmp, 40)
16999 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
17000 522721 : pack_tmp = ISHFT(pack_tmp, -8)
17001 522721 : idata = idata + 1
17002 522721 : data_tmp = full_data(idata)
17003 522721 : data_tmp = ISHFT(data_tmp, 40)
17004 522721 : data_tmp = IAND(data_tmp, mask_left(8))
17005 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
17006 522721 : ipack = ipack + 1
17007 522721 : packed_data(ipack) = pack_tmp
17008 522721 : data_tmp = full_data(idata)
17009 522721 : pack_tmp = ISHFT(data_tmp, 48)
17010 522721 : pack_tmp = ISHFT(pack_tmp, -24)
17011 522721 : idata = idata + 1
17012 522721 : data_tmp = full_data(idata)
17013 522721 : data_tmp = ISHFT(data_tmp, 40)
17014 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
17015 522721 : pack_tmp = ISHFT(pack_tmp, -24)
17016 522721 : idata = idata + 1
17017 522721 : data_tmp = full_data(idata)
17018 522721 : data_tmp = ISHFT(data_tmp, 40)
17019 522721 : pack_tmp = IOR(pack_tmp, data_tmp)
17020 : pack_tmp = ISHFT(pack_tmp, 0)
17021 522721 : pack_tmp = ISHFT(pack_tmp, 0)
17022 522721 : ipack = ipack + 1
17023 523401 : packed_data(ipack) = pack_tmp
17024 : END DO
17025 36154 : IF (Ndata_rep < Ndata) THEN
17026 6558 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17027 : END IF
17028 36154 : END SUBROUTINE ints2bits_24
17029 :
17030 : ! **************************************************************************************************
17031 : !> \brief ...
17032 : !> \param Ndata ...
17033 : !> \param packed_data ...
17034 : !> \param full_data ...
17035 : ! **************************************************************************************************
17036 160649 : 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 160649 : ipack = 0
17047 160649 : idata = 0
17048 160649 : pack_tmp = 0
17049 160649 : Ndata_rep = (Ndata/64)*64
17050 160649 : DO kdata = 1, Ndata_rep, 64
17051 2271252 : idata = idata + 1
17052 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17053 2271252 : ipack = ipack + 1
17054 2271252 : pack_tmp = packed_data(ipack)
17055 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17056 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17057 2271252 : idata = idata + 1
17058 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17059 2271252 : full_data(idata) = data_tmp
17060 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17061 2271252 : idata = idata + 1
17062 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17063 2271252 : ipack = ipack + 1
17064 2271252 : pack_tmp = packed_data(ipack)
17065 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17066 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17067 2271252 : idata = idata + 1
17068 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17069 2271252 : full_data(idata) = data_tmp
17070 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17071 2271252 : idata = idata + 1
17072 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17073 2271252 : full_data(idata) = data_tmp
17074 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17075 2271252 : idata = idata + 1
17076 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17077 2271252 : ipack = ipack + 1
17078 2271252 : pack_tmp = packed_data(ipack)
17079 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17080 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17081 2271252 : idata = idata + 1
17082 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17083 2271252 : full_data(idata) = data_tmp
17084 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17085 2271252 : idata = idata + 1
17086 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17087 2271252 : full_data(idata) = data_tmp
17088 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17089 2271252 : idata = idata + 1
17090 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17091 2271252 : ipack = ipack + 1
17092 2271252 : pack_tmp = packed_data(ipack)
17093 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17094 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17095 2271252 : idata = idata + 1
17096 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17097 2271252 : full_data(idata) = data_tmp
17098 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17099 2271252 : idata = idata + 1
17100 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17101 2271252 : ipack = ipack + 1
17102 2271252 : pack_tmp = packed_data(ipack)
17103 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17104 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17105 2271252 : idata = idata + 1
17106 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17107 2271252 : full_data(idata) = data_tmp
17108 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17109 2271252 : idata = idata + 1
17110 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17111 2271252 : full_data(idata) = data_tmp
17112 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17113 2271252 : idata = idata + 1
17114 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17115 2271252 : ipack = ipack + 1
17116 2271252 : pack_tmp = packed_data(ipack)
17117 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17118 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17119 2271252 : idata = idata + 1
17120 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17121 2271252 : full_data(idata) = data_tmp
17122 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17123 2271252 : idata = idata + 1
17124 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17125 2271252 : full_data(idata) = data_tmp
17126 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17127 2271252 : idata = idata + 1
17128 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17129 2271252 : ipack = ipack + 1
17130 2271252 : pack_tmp = packed_data(ipack)
17131 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17132 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17133 2271252 : idata = idata + 1
17134 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17135 2271252 : full_data(idata) = data_tmp
17136 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17137 2271252 : idata = idata + 1
17138 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17139 2271252 : ipack = ipack + 1
17140 2271252 : pack_tmp = packed_data(ipack)
17141 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17142 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17143 2271252 : idata = idata + 1
17144 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17145 2271252 : full_data(idata) = data_tmp
17146 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17147 2271252 : idata = idata + 1
17148 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17149 2271252 : full_data(idata) = data_tmp
17150 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17151 2271252 : idata = idata + 1
17152 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17153 2271252 : ipack = ipack + 1
17154 2271252 : pack_tmp = packed_data(ipack)
17155 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17156 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17157 2271252 : idata = idata + 1
17158 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17159 2271252 : full_data(idata) = data_tmp
17160 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17161 2271252 : idata = idata + 1
17162 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17163 2271252 : full_data(idata) = data_tmp
17164 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17165 2271252 : idata = idata + 1
17166 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17167 2271252 : ipack = ipack + 1
17168 2271252 : pack_tmp = packed_data(ipack)
17169 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17170 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17171 2271252 : idata = idata + 1
17172 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17173 2271252 : full_data(idata) = data_tmp
17174 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17175 2271252 : idata = idata + 1
17176 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17177 2271252 : ipack = ipack + 1
17178 2271252 : pack_tmp = packed_data(ipack)
17179 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17180 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17181 2271252 : idata = idata + 1
17182 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17183 2271252 : full_data(idata) = data_tmp
17184 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17185 2271252 : idata = idata + 1
17186 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17187 2271252 : full_data(idata) = data_tmp
17188 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17189 2271252 : idata = idata + 1
17190 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17191 2271252 : ipack = ipack + 1
17192 2271252 : pack_tmp = packed_data(ipack)
17193 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17194 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17195 2271252 : idata = idata + 1
17196 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17197 2271252 : full_data(idata) = data_tmp
17198 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17199 2271252 : idata = idata + 1
17200 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17201 2271252 : full_data(idata) = data_tmp
17202 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17203 2271252 : idata = idata + 1
17204 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17205 2271252 : ipack = ipack + 1
17206 2271252 : pack_tmp = packed_data(ipack)
17207 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17208 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17209 2271252 : idata = idata + 1
17210 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17211 2271252 : full_data(idata) = data_tmp
17212 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17213 2271252 : idata = idata + 1
17214 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17215 2271252 : ipack = ipack + 1
17216 2271252 : pack_tmp = packed_data(ipack)
17217 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17218 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17219 2271252 : idata = idata + 1
17220 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17221 2271252 : full_data(idata) = data_tmp
17222 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17223 2271252 : idata = idata + 1
17224 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17225 2271252 : full_data(idata) = data_tmp
17226 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17227 2271252 : idata = idata + 1
17228 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17229 2271252 : ipack = ipack + 1
17230 2271252 : pack_tmp = packed_data(ipack)
17231 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17232 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17233 2271252 : idata = idata + 1
17234 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17235 2271252 : full_data(idata) = data_tmp
17236 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17237 2271252 : idata = idata + 1
17238 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17239 2271252 : full_data(idata) = data_tmp
17240 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17241 2271252 : idata = idata + 1
17242 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17243 2271252 : ipack = ipack + 1
17244 2271252 : pack_tmp = packed_data(ipack)
17245 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17246 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17247 2271252 : idata = idata + 1
17248 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17249 2271252 : full_data(idata) = data_tmp
17250 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17251 2271252 : idata = idata + 1
17252 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17253 2271252 : ipack = ipack + 1
17254 2271252 : pack_tmp = packed_data(ipack)
17255 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17256 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17257 2271252 : idata = idata + 1
17258 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17259 2271252 : full_data(idata) = data_tmp
17260 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17261 2271252 : idata = idata + 1
17262 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17263 2271252 : full_data(idata) = data_tmp
17264 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17265 2271252 : idata = idata + 1
17266 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17267 2271252 : ipack = ipack + 1
17268 2271252 : pack_tmp = packed_data(ipack)
17269 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17270 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17271 2271252 : idata = idata + 1
17272 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17273 2271252 : full_data(idata) = data_tmp
17274 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17275 2271252 : idata = idata + 1
17276 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17277 2271252 : full_data(idata) = data_tmp
17278 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17279 2271252 : idata = idata + 1
17280 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17281 2271252 : ipack = ipack + 1
17282 2271252 : pack_tmp = packed_data(ipack)
17283 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17284 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17285 2271252 : idata = idata + 1
17286 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17287 2271252 : full_data(idata) = data_tmp
17288 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17289 2271252 : idata = idata + 1
17290 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17291 2271252 : ipack = ipack + 1
17292 2271252 : pack_tmp = packed_data(ipack)
17293 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17294 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17295 2271252 : idata = idata + 1
17296 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17297 2271252 : full_data(idata) = data_tmp
17298 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17299 2271252 : idata = idata + 1
17300 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17301 2271252 : full_data(idata) = data_tmp
17302 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17303 2271252 : idata = idata + 1
17304 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17305 2271252 : ipack = ipack + 1
17306 2271252 : pack_tmp = packed_data(ipack)
17307 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17308 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17309 2271252 : idata = idata + 1
17310 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17311 2271252 : full_data(idata) = data_tmp
17312 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17313 2271252 : idata = idata + 1
17314 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17315 2271252 : full_data(idata) = data_tmp
17316 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17317 2271252 : idata = idata + 1
17318 2271252 : data_tmp = ISHFT(pack_tmp, 24)
17319 2271252 : ipack = ipack + 1
17320 2271252 : pack_tmp = packed_data(ipack)
17321 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17322 2271252 : pack_tmp = ISHFT(pack_tmp, -24)
17323 2271252 : idata = idata + 1
17324 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17325 2271252 : full_data(idata) = data_tmp
17326 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17327 2271252 : idata = idata + 1
17328 2271252 : data_tmp = ISHFT(pack_tmp, 8)
17329 2271252 : ipack = ipack + 1
17330 2271252 : pack_tmp = packed_data(ipack)
17331 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17332 2271252 : pack_tmp = ISHFT(pack_tmp, -8)
17333 2271252 : idata = idata + 1
17334 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17335 2271252 : full_data(idata) = data_tmp
17336 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17337 2271252 : idata = idata + 1
17338 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17339 2271252 : full_data(idata) = data_tmp
17340 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17341 2271252 : idata = idata + 1
17342 2271252 : data_tmp = ISHFT(pack_tmp, 16)
17343 2271252 : ipack = ipack + 1
17344 2271252 : pack_tmp = packed_data(ipack)
17345 2271252 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17346 2271252 : pack_tmp = ISHFT(pack_tmp, -16)
17347 2271252 : idata = idata + 1
17348 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17349 2271252 : full_data(idata) = data_tmp
17350 2271252 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17351 2271252 : idata = idata + 1
17352 2271252 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17353 2271252 : full_data(idata) = data_tmp
17354 2275058 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17355 : END DO
17356 160649 : IF (Ndata_rep < Ndata) THEN
17357 35192 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17358 : END IF
17359 160649 : END SUBROUTINE bits2ints_24
17360 :
17361 : ! **************************************************************************************************
17362 : !> \brief ...
17363 : !> \param Ndata ...
17364 : !> \param packed_data ...
17365 : !> \param full_data ...
17366 : ! **************************************************************************************************
17367 37335 : 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 37335 : idata = 0
17378 37335 : ipack = 0
17379 37335 : Ndata_rep = (Ndata/64)*64
17380 37335 : DO kdata = 1, Ndata_rep, 64
17381 533355 : pack_tmp = 0
17382 533355 : idata = idata + 1
17383 533355 : data_tmp = full_data(idata)
17384 533355 : data_tmp = ISHFT(data_tmp, 39)
17385 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17386 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17387 533355 : idata = idata + 1
17388 533355 : data_tmp = full_data(idata)
17389 533355 : data_tmp = ISHFT(data_tmp, 39)
17390 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17391 533355 : pack_tmp = ISHFT(pack_tmp, -14)
17392 533355 : idata = idata + 1
17393 533355 : data_tmp = full_data(idata)
17394 533355 : data_tmp = ISHFT(data_tmp, 39)
17395 533355 : data_tmp = IAND(data_tmp, mask_left(14))
17396 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17397 533355 : ipack = ipack + 1
17398 533355 : packed_data(ipack) = pack_tmp
17399 533355 : data_tmp = full_data(idata)
17400 533355 : pack_tmp = ISHFT(data_tmp, 53)
17401 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17402 533355 : idata = idata + 1
17403 533355 : data_tmp = full_data(idata)
17404 533355 : data_tmp = ISHFT(data_tmp, 39)
17405 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17406 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17407 533355 : idata = idata + 1
17408 533355 : data_tmp = full_data(idata)
17409 533355 : data_tmp = ISHFT(data_tmp, 39)
17410 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17411 533355 : pack_tmp = ISHFT(pack_tmp, -3)
17412 533355 : idata = idata + 1
17413 533355 : data_tmp = full_data(idata)
17414 533355 : data_tmp = ISHFT(data_tmp, 39)
17415 533355 : data_tmp = IAND(data_tmp, mask_left(3))
17416 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17417 533355 : ipack = ipack + 1
17418 533355 : packed_data(ipack) = pack_tmp
17419 533355 : data_tmp = full_data(idata)
17420 533355 : pack_tmp = ISHFT(data_tmp, 42)
17421 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17422 533355 : idata = idata + 1
17423 533355 : data_tmp = full_data(idata)
17424 533355 : data_tmp = ISHFT(data_tmp, 39)
17425 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17426 533355 : pack_tmp = ISHFT(pack_tmp, -17)
17427 533355 : idata = idata + 1
17428 533355 : data_tmp = full_data(idata)
17429 533355 : data_tmp = ISHFT(data_tmp, 39)
17430 533355 : data_tmp = IAND(data_tmp, mask_left(17))
17431 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17432 533355 : ipack = ipack + 1
17433 533355 : packed_data(ipack) = pack_tmp
17434 533355 : data_tmp = full_data(idata)
17435 533355 : pack_tmp = ISHFT(data_tmp, 56)
17436 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17437 533355 : idata = idata + 1
17438 533355 : data_tmp = full_data(idata)
17439 533355 : data_tmp = ISHFT(data_tmp, 39)
17440 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17441 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17442 533355 : idata = idata + 1
17443 533355 : data_tmp = full_data(idata)
17444 533355 : data_tmp = ISHFT(data_tmp, 39)
17445 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17446 533355 : pack_tmp = ISHFT(pack_tmp, -6)
17447 533355 : idata = idata + 1
17448 533355 : data_tmp = full_data(idata)
17449 533355 : data_tmp = ISHFT(data_tmp, 39)
17450 533355 : data_tmp = IAND(data_tmp, mask_left(6))
17451 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17452 533355 : ipack = ipack + 1
17453 533355 : packed_data(ipack) = pack_tmp
17454 533355 : data_tmp = full_data(idata)
17455 533355 : pack_tmp = ISHFT(data_tmp, 45)
17456 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17457 533355 : idata = idata + 1
17458 533355 : data_tmp = full_data(idata)
17459 533355 : data_tmp = ISHFT(data_tmp, 39)
17460 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17461 533355 : pack_tmp = ISHFT(pack_tmp, -20)
17462 533355 : idata = idata + 1
17463 533355 : data_tmp = full_data(idata)
17464 533355 : data_tmp = ISHFT(data_tmp, 39)
17465 533355 : data_tmp = IAND(data_tmp, mask_left(20))
17466 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17467 533355 : ipack = ipack + 1
17468 533355 : packed_data(ipack) = pack_tmp
17469 533355 : data_tmp = full_data(idata)
17470 533355 : pack_tmp = ISHFT(data_tmp, 59)
17471 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17472 533355 : idata = idata + 1
17473 533355 : data_tmp = full_data(idata)
17474 533355 : data_tmp = ISHFT(data_tmp, 39)
17475 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17476 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17477 533355 : idata = idata + 1
17478 533355 : data_tmp = full_data(idata)
17479 533355 : data_tmp = ISHFT(data_tmp, 39)
17480 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17481 533355 : pack_tmp = ISHFT(pack_tmp, -9)
17482 533355 : idata = idata + 1
17483 533355 : data_tmp = full_data(idata)
17484 533355 : data_tmp = ISHFT(data_tmp, 39)
17485 533355 : data_tmp = IAND(data_tmp, mask_left(9))
17486 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17487 533355 : ipack = ipack + 1
17488 533355 : packed_data(ipack) = pack_tmp
17489 533355 : data_tmp = full_data(idata)
17490 533355 : pack_tmp = ISHFT(data_tmp, 48)
17491 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17492 533355 : idata = idata + 1
17493 533355 : data_tmp = full_data(idata)
17494 533355 : data_tmp = ISHFT(data_tmp, 39)
17495 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17496 533355 : pack_tmp = ISHFT(pack_tmp, -23)
17497 533355 : idata = idata + 1
17498 533355 : data_tmp = full_data(idata)
17499 533355 : data_tmp = ISHFT(data_tmp, 39)
17500 533355 : data_tmp = IAND(data_tmp, mask_left(23))
17501 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17502 533355 : ipack = ipack + 1
17503 533355 : packed_data(ipack) = pack_tmp
17504 533355 : data_tmp = full_data(idata)
17505 533355 : pack_tmp = ISHFT(data_tmp, 62)
17506 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17507 533355 : idata = idata + 1
17508 533355 : data_tmp = full_data(idata)
17509 533355 : data_tmp = ISHFT(data_tmp, 39)
17510 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17511 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17512 533355 : idata = idata + 1
17513 533355 : data_tmp = full_data(idata)
17514 533355 : data_tmp = ISHFT(data_tmp, 39)
17515 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17516 533355 : pack_tmp = ISHFT(pack_tmp, -12)
17517 533355 : idata = idata + 1
17518 533355 : data_tmp = full_data(idata)
17519 533355 : data_tmp = ISHFT(data_tmp, 39)
17520 533355 : data_tmp = IAND(data_tmp, mask_left(12))
17521 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17522 533355 : ipack = ipack + 1
17523 533355 : packed_data(ipack) = pack_tmp
17524 533355 : data_tmp = full_data(idata)
17525 533355 : pack_tmp = ISHFT(data_tmp, 51)
17526 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17527 533355 : idata = idata + 1
17528 533355 : data_tmp = full_data(idata)
17529 533355 : data_tmp = ISHFT(data_tmp, 39)
17530 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17531 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17532 533355 : idata = idata + 1
17533 533355 : data_tmp = full_data(idata)
17534 533355 : data_tmp = ISHFT(data_tmp, 39)
17535 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17536 533355 : pack_tmp = ISHFT(pack_tmp, -1)
17537 533355 : idata = idata + 1
17538 533355 : data_tmp = full_data(idata)
17539 533355 : data_tmp = ISHFT(data_tmp, 39)
17540 533355 : data_tmp = IAND(data_tmp, mask_left(1))
17541 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17542 533355 : ipack = ipack + 1
17543 533355 : packed_data(ipack) = pack_tmp
17544 533355 : data_tmp = full_data(idata)
17545 533355 : pack_tmp = ISHFT(data_tmp, 40)
17546 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17547 533355 : idata = idata + 1
17548 533355 : data_tmp = full_data(idata)
17549 533355 : data_tmp = ISHFT(data_tmp, 39)
17550 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17551 533355 : pack_tmp = ISHFT(pack_tmp, -15)
17552 533355 : idata = idata + 1
17553 533355 : data_tmp = full_data(idata)
17554 533355 : data_tmp = ISHFT(data_tmp, 39)
17555 533355 : data_tmp = IAND(data_tmp, mask_left(15))
17556 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17557 533355 : ipack = ipack + 1
17558 533355 : packed_data(ipack) = pack_tmp
17559 533355 : data_tmp = full_data(idata)
17560 533355 : pack_tmp = ISHFT(data_tmp, 54)
17561 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17562 533355 : idata = idata + 1
17563 533355 : data_tmp = full_data(idata)
17564 533355 : data_tmp = ISHFT(data_tmp, 39)
17565 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17566 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17567 533355 : idata = idata + 1
17568 533355 : data_tmp = full_data(idata)
17569 533355 : data_tmp = ISHFT(data_tmp, 39)
17570 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17571 533355 : pack_tmp = ISHFT(pack_tmp, -4)
17572 533355 : idata = idata + 1
17573 533355 : data_tmp = full_data(idata)
17574 533355 : data_tmp = ISHFT(data_tmp, 39)
17575 533355 : data_tmp = IAND(data_tmp, mask_left(4))
17576 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17577 533355 : ipack = ipack + 1
17578 533355 : packed_data(ipack) = pack_tmp
17579 533355 : data_tmp = full_data(idata)
17580 533355 : pack_tmp = ISHFT(data_tmp, 43)
17581 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17582 533355 : idata = idata + 1
17583 533355 : data_tmp = full_data(idata)
17584 533355 : data_tmp = ISHFT(data_tmp, 39)
17585 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17586 533355 : pack_tmp = ISHFT(pack_tmp, -18)
17587 533355 : idata = idata + 1
17588 533355 : data_tmp = full_data(idata)
17589 533355 : data_tmp = ISHFT(data_tmp, 39)
17590 533355 : data_tmp = IAND(data_tmp, mask_left(18))
17591 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17592 533355 : ipack = ipack + 1
17593 533355 : packed_data(ipack) = pack_tmp
17594 533355 : data_tmp = full_data(idata)
17595 533355 : pack_tmp = ISHFT(data_tmp, 57)
17596 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17597 533355 : idata = idata + 1
17598 533355 : data_tmp = full_data(idata)
17599 533355 : data_tmp = ISHFT(data_tmp, 39)
17600 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17601 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17602 533355 : idata = idata + 1
17603 533355 : data_tmp = full_data(idata)
17604 533355 : data_tmp = ISHFT(data_tmp, 39)
17605 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17606 533355 : pack_tmp = ISHFT(pack_tmp, -7)
17607 533355 : idata = idata + 1
17608 533355 : data_tmp = full_data(idata)
17609 533355 : data_tmp = ISHFT(data_tmp, 39)
17610 533355 : data_tmp = IAND(data_tmp, mask_left(7))
17611 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17612 533355 : ipack = ipack + 1
17613 533355 : packed_data(ipack) = pack_tmp
17614 533355 : data_tmp = full_data(idata)
17615 533355 : pack_tmp = ISHFT(data_tmp, 46)
17616 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17617 533355 : idata = idata + 1
17618 533355 : data_tmp = full_data(idata)
17619 533355 : data_tmp = ISHFT(data_tmp, 39)
17620 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17621 533355 : pack_tmp = ISHFT(pack_tmp, -21)
17622 533355 : idata = idata + 1
17623 533355 : data_tmp = full_data(idata)
17624 533355 : data_tmp = ISHFT(data_tmp, 39)
17625 533355 : data_tmp = IAND(data_tmp, mask_left(21))
17626 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17627 533355 : ipack = ipack + 1
17628 533355 : packed_data(ipack) = pack_tmp
17629 533355 : data_tmp = full_data(idata)
17630 533355 : pack_tmp = ISHFT(data_tmp, 60)
17631 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17632 533355 : idata = idata + 1
17633 533355 : data_tmp = full_data(idata)
17634 533355 : data_tmp = ISHFT(data_tmp, 39)
17635 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17636 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17637 533355 : idata = idata + 1
17638 533355 : data_tmp = full_data(idata)
17639 533355 : data_tmp = ISHFT(data_tmp, 39)
17640 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17641 533355 : pack_tmp = ISHFT(pack_tmp, -10)
17642 533355 : idata = idata + 1
17643 533355 : data_tmp = full_data(idata)
17644 533355 : data_tmp = ISHFT(data_tmp, 39)
17645 533355 : data_tmp = IAND(data_tmp, mask_left(10))
17646 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17647 533355 : ipack = ipack + 1
17648 533355 : packed_data(ipack) = pack_tmp
17649 533355 : data_tmp = full_data(idata)
17650 533355 : pack_tmp = ISHFT(data_tmp, 49)
17651 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17652 533355 : idata = idata + 1
17653 533355 : data_tmp = full_data(idata)
17654 533355 : data_tmp = ISHFT(data_tmp, 39)
17655 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17656 533355 : pack_tmp = ISHFT(pack_tmp, -24)
17657 533355 : idata = idata + 1
17658 533355 : data_tmp = full_data(idata)
17659 533355 : data_tmp = ISHFT(data_tmp, 39)
17660 533355 : data_tmp = IAND(data_tmp, mask_left(24))
17661 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17662 533355 : ipack = ipack + 1
17663 533355 : packed_data(ipack) = pack_tmp
17664 533355 : data_tmp = full_data(idata)
17665 533355 : pack_tmp = ISHFT(data_tmp, 63)
17666 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17667 533355 : idata = idata + 1
17668 533355 : data_tmp = full_data(idata)
17669 533355 : data_tmp = ISHFT(data_tmp, 39)
17670 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17671 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17672 533355 : idata = idata + 1
17673 533355 : data_tmp = full_data(idata)
17674 533355 : data_tmp = ISHFT(data_tmp, 39)
17675 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17676 533355 : pack_tmp = ISHFT(pack_tmp, -13)
17677 533355 : idata = idata + 1
17678 533355 : data_tmp = full_data(idata)
17679 533355 : data_tmp = ISHFT(data_tmp, 39)
17680 533355 : data_tmp = IAND(data_tmp, mask_left(13))
17681 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17682 533355 : ipack = ipack + 1
17683 533355 : packed_data(ipack) = pack_tmp
17684 533355 : data_tmp = full_data(idata)
17685 533355 : pack_tmp = ISHFT(data_tmp, 52)
17686 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17687 533355 : idata = idata + 1
17688 533355 : data_tmp = full_data(idata)
17689 533355 : data_tmp = ISHFT(data_tmp, 39)
17690 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17691 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17692 533355 : idata = idata + 1
17693 533355 : data_tmp = full_data(idata)
17694 533355 : data_tmp = ISHFT(data_tmp, 39)
17695 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17696 533355 : pack_tmp = ISHFT(pack_tmp, -2)
17697 533355 : idata = idata + 1
17698 533355 : data_tmp = full_data(idata)
17699 533355 : data_tmp = ISHFT(data_tmp, 39)
17700 533355 : data_tmp = IAND(data_tmp, mask_left(2))
17701 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17702 533355 : ipack = ipack + 1
17703 533355 : packed_data(ipack) = pack_tmp
17704 533355 : data_tmp = full_data(idata)
17705 533355 : pack_tmp = ISHFT(data_tmp, 41)
17706 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17707 533355 : idata = idata + 1
17708 533355 : data_tmp = full_data(idata)
17709 533355 : data_tmp = ISHFT(data_tmp, 39)
17710 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17711 533355 : pack_tmp = ISHFT(pack_tmp, -16)
17712 533355 : idata = idata + 1
17713 533355 : data_tmp = full_data(idata)
17714 533355 : data_tmp = ISHFT(data_tmp, 39)
17715 533355 : data_tmp = IAND(data_tmp, mask_left(16))
17716 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17717 533355 : ipack = ipack + 1
17718 533355 : packed_data(ipack) = pack_tmp
17719 533355 : data_tmp = full_data(idata)
17720 533355 : pack_tmp = ISHFT(data_tmp, 55)
17721 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17722 533355 : idata = idata + 1
17723 533355 : data_tmp = full_data(idata)
17724 533355 : data_tmp = ISHFT(data_tmp, 39)
17725 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17726 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17727 533355 : idata = idata + 1
17728 533355 : data_tmp = full_data(idata)
17729 533355 : data_tmp = ISHFT(data_tmp, 39)
17730 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17731 533355 : pack_tmp = ISHFT(pack_tmp, -5)
17732 533355 : idata = idata + 1
17733 533355 : data_tmp = full_data(idata)
17734 533355 : data_tmp = ISHFT(data_tmp, 39)
17735 533355 : data_tmp = IAND(data_tmp, mask_left(5))
17736 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17737 533355 : ipack = ipack + 1
17738 533355 : packed_data(ipack) = pack_tmp
17739 533355 : data_tmp = full_data(idata)
17740 533355 : pack_tmp = ISHFT(data_tmp, 44)
17741 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17742 533355 : idata = idata + 1
17743 533355 : data_tmp = full_data(idata)
17744 533355 : data_tmp = ISHFT(data_tmp, 39)
17745 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17746 533355 : pack_tmp = ISHFT(pack_tmp, -19)
17747 533355 : idata = idata + 1
17748 533355 : data_tmp = full_data(idata)
17749 533355 : data_tmp = ISHFT(data_tmp, 39)
17750 533355 : data_tmp = IAND(data_tmp, mask_left(19))
17751 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17752 533355 : ipack = ipack + 1
17753 533355 : packed_data(ipack) = pack_tmp
17754 533355 : data_tmp = full_data(idata)
17755 533355 : pack_tmp = ISHFT(data_tmp, 58)
17756 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17757 533355 : idata = idata + 1
17758 533355 : data_tmp = full_data(idata)
17759 533355 : data_tmp = ISHFT(data_tmp, 39)
17760 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17761 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17762 533355 : idata = idata + 1
17763 533355 : data_tmp = full_data(idata)
17764 533355 : data_tmp = ISHFT(data_tmp, 39)
17765 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17766 533355 : pack_tmp = ISHFT(pack_tmp, -8)
17767 533355 : idata = idata + 1
17768 533355 : data_tmp = full_data(idata)
17769 533355 : data_tmp = ISHFT(data_tmp, 39)
17770 533355 : data_tmp = IAND(data_tmp, mask_left(8))
17771 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17772 533355 : ipack = ipack + 1
17773 533355 : packed_data(ipack) = pack_tmp
17774 533355 : data_tmp = full_data(idata)
17775 533355 : pack_tmp = ISHFT(data_tmp, 47)
17776 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17777 533355 : idata = idata + 1
17778 533355 : data_tmp = full_data(idata)
17779 533355 : data_tmp = ISHFT(data_tmp, 39)
17780 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17781 533355 : pack_tmp = ISHFT(pack_tmp, -22)
17782 533355 : idata = idata + 1
17783 533355 : data_tmp = full_data(idata)
17784 533355 : data_tmp = ISHFT(data_tmp, 39)
17785 533355 : data_tmp = IAND(data_tmp, mask_left(22))
17786 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17787 533355 : ipack = ipack + 1
17788 533355 : packed_data(ipack) = pack_tmp
17789 533355 : data_tmp = full_data(idata)
17790 533355 : pack_tmp = ISHFT(data_tmp, 61)
17791 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17792 533355 : idata = idata + 1
17793 533355 : data_tmp = full_data(idata)
17794 533355 : data_tmp = ISHFT(data_tmp, 39)
17795 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17796 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17797 533355 : idata = idata + 1
17798 533355 : data_tmp = full_data(idata)
17799 533355 : data_tmp = ISHFT(data_tmp, 39)
17800 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17801 533355 : pack_tmp = ISHFT(pack_tmp, -11)
17802 533355 : idata = idata + 1
17803 533355 : data_tmp = full_data(idata)
17804 533355 : data_tmp = ISHFT(data_tmp, 39)
17805 533355 : data_tmp = IAND(data_tmp, mask_left(11))
17806 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17807 533355 : ipack = ipack + 1
17808 533355 : packed_data(ipack) = pack_tmp
17809 533355 : data_tmp = full_data(idata)
17810 533355 : pack_tmp = ISHFT(data_tmp, 50)
17811 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17812 533355 : idata = idata + 1
17813 533355 : data_tmp = full_data(idata)
17814 533355 : data_tmp = ISHFT(data_tmp, 39)
17815 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17816 533355 : pack_tmp = ISHFT(pack_tmp, -25)
17817 533355 : idata = idata + 1
17818 533355 : data_tmp = full_data(idata)
17819 533355 : data_tmp = ISHFT(data_tmp, 39)
17820 533355 : pack_tmp = IOR(pack_tmp, data_tmp)
17821 : pack_tmp = ISHFT(pack_tmp, 0)
17822 533355 : pack_tmp = ISHFT(pack_tmp, 0)
17823 533355 : ipack = ipack + 1
17824 533479 : packed_data(ipack) = pack_tmp
17825 : END DO
17826 37335 : IF (Ndata_rep < Ndata) THEN
17827 7402 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17828 : END IF
17829 37335 : END SUBROUTINE ints2bits_25
17830 :
17831 : ! **************************************************************************************************
17832 : !> \brief ...
17833 : !> \param Ndata ...
17834 : !> \param packed_data ...
17835 : !> \param full_data ...
17836 : ! **************************************************************************************************
17837 161635 : 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 161635 : ipack = 0
17848 161635 : idata = 0
17849 161635 : pack_tmp = 0
17850 161635 : Ndata_rep = (Ndata/64)*64
17851 161635 : DO kdata = 1, Ndata_rep, 64
17852 2277464 : idata = idata + 1
17853 2277464 : data_tmp = ISHFT(pack_tmp, 25)
17854 2277464 : ipack = ipack + 1
17855 2277464 : pack_tmp = packed_data(ipack)
17856 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
17857 2277464 : pack_tmp = ISHFT(pack_tmp, -25)
17858 2277464 : idata = idata + 1
17859 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17860 2277464 : full_data(idata) = data_tmp
17861 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17862 2277464 : idata = idata + 1
17863 2277464 : data_tmp = ISHFT(pack_tmp, 11)
17864 2277464 : ipack = ipack + 1
17865 2277464 : pack_tmp = packed_data(ipack)
17866 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
17867 2277464 : pack_tmp = ISHFT(pack_tmp, -11)
17868 2277464 : idata = idata + 1
17869 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17870 2277464 : full_data(idata) = data_tmp
17871 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17872 2277464 : idata = idata + 1
17873 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17874 2277464 : full_data(idata) = data_tmp
17875 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17876 2277464 : idata = idata + 1
17877 2277464 : data_tmp = ISHFT(pack_tmp, 22)
17878 2277464 : ipack = ipack + 1
17879 2277464 : pack_tmp = packed_data(ipack)
17880 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
17881 2277464 : pack_tmp = ISHFT(pack_tmp, -22)
17882 2277464 : idata = idata + 1
17883 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17884 2277464 : full_data(idata) = data_tmp
17885 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17886 2277464 : idata = idata + 1
17887 2277464 : data_tmp = ISHFT(pack_tmp, 8)
17888 2277464 : ipack = ipack + 1
17889 2277464 : pack_tmp = packed_data(ipack)
17890 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17891 2277464 : pack_tmp = ISHFT(pack_tmp, -8)
17892 2277464 : idata = idata + 1
17893 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17894 2277464 : full_data(idata) = data_tmp
17895 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17896 2277464 : idata = idata + 1
17897 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17898 2277464 : full_data(idata) = data_tmp
17899 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17900 2277464 : idata = idata + 1
17901 2277464 : data_tmp = ISHFT(pack_tmp, 19)
17902 2277464 : ipack = ipack + 1
17903 2277464 : pack_tmp = packed_data(ipack)
17904 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
17905 2277464 : pack_tmp = ISHFT(pack_tmp, -19)
17906 2277464 : idata = idata + 1
17907 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17908 2277464 : full_data(idata) = data_tmp
17909 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17910 2277464 : idata = idata + 1
17911 2277464 : data_tmp = ISHFT(pack_tmp, 5)
17912 2277464 : ipack = ipack + 1
17913 2277464 : pack_tmp = packed_data(ipack)
17914 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
17915 2277464 : pack_tmp = ISHFT(pack_tmp, -5)
17916 2277464 : idata = idata + 1
17917 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17918 2277464 : full_data(idata) = data_tmp
17919 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17920 2277464 : idata = idata + 1
17921 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17922 2277464 : full_data(idata) = data_tmp
17923 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17924 2277464 : idata = idata + 1
17925 2277464 : data_tmp = ISHFT(pack_tmp, 16)
17926 2277464 : ipack = ipack + 1
17927 2277464 : pack_tmp = packed_data(ipack)
17928 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17929 2277464 : pack_tmp = ISHFT(pack_tmp, -16)
17930 2277464 : idata = idata + 1
17931 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17932 2277464 : full_data(idata) = data_tmp
17933 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17934 2277464 : idata = idata + 1
17935 2277464 : data_tmp = ISHFT(pack_tmp, 2)
17936 2277464 : ipack = ipack + 1
17937 2277464 : pack_tmp = packed_data(ipack)
17938 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
17939 2277464 : pack_tmp = ISHFT(pack_tmp, -2)
17940 2277464 : idata = idata + 1
17941 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17942 2277464 : full_data(idata) = data_tmp
17943 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17944 2277464 : idata = idata + 1
17945 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17946 2277464 : full_data(idata) = data_tmp
17947 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17948 2277464 : idata = idata + 1
17949 2277464 : data_tmp = ISHFT(pack_tmp, 13)
17950 2277464 : ipack = ipack + 1
17951 2277464 : pack_tmp = packed_data(ipack)
17952 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
17953 2277464 : pack_tmp = ISHFT(pack_tmp, -13)
17954 2277464 : idata = idata + 1
17955 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17956 2277464 : full_data(idata) = data_tmp
17957 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17958 2277464 : idata = idata + 1
17959 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17960 2277464 : full_data(idata) = data_tmp
17961 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17962 2277464 : idata = idata + 1
17963 2277464 : data_tmp = ISHFT(pack_tmp, 24)
17964 2277464 : ipack = ipack + 1
17965 2277464 : pack_tmp = packed_data(ipack)
17966 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17967 2277464 : pack_tmp = ISHFT(pack_tmp, -24)
17968 2277464 : idata = idata + 1
17969 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17970 2277464 : full_data(idata) = data_tmp
17971 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17972 2277464 : idata = idata + 1
17973 2277464 : data_tmp = ISHFT(pack_tmp, 10)
17974 2277464 : ipack = ipack + 1
17975 2277464 : pack_tmp = packed_data(ipack)
17976 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
17977 2277464 : pack_tmp = ISHFT(pack_tmp, -10)
17978 2277464 : idata = idata + 1
17979 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17980 2277464 : full_data(idata) = data_tmp
17981 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17982 2277464 : idata = idata + 1
17983 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17984 2277464 : full_data(idata) = data_tmp
17985 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17986 2277464 : idata = idata + 1
17987 2277464 : data_tmp = ISHFT(pack_tmp, 21)
17988 2277464 : ipack = ipack + 1
17989 2277464 : pack_tmp = packed_data(ipack)
17990 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
17991 2277464 : pack_tmp = ISHFT(pack_tmp, -21)
17992 2277464 : idata = idata + 1
17993 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17994 2277464 : full_data(idata) = data_tmp
17995 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17996 2277464 : idata = idata + 1
17997 2277464 : data_tmp = ISHFT(pack_tmp, 7)
17998 2277464 : ipack = ipack + 1
17999 2277464 : pack_tmp = packed_data(ipack)
18000 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
18001 2277464 : pack_tmp = ISHFT(pack_tmp, -7)
18002 2277464 : idata = idata + 1
18003 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18004 2277464 : full_data(idata) = data_tmp
18005 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18006 2277464 : idata = idata + 1
18007 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18008 2277464 : full_data(idata) = data_tmp
18009 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18010 2277464 : idata = idata + 1
18011 2277464 : data_tmp = ISHFT(pack_tmp, 18)
18012 2277464 : ipack = ipack + 1
18013 2277464 : pack_tmp = packed_data(ipack)
18014 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18015 2277464 : pack_tmp = ISHFT(pack_tmp, -18)
18016 2277464 : idata = idata + 1
18017 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18018 2277464 : full_data(idata) = data_tmp
18019 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18020 2277464 : idata = idata + 1
18021 2277464 : data_tmp = ISHFT(pack_tmp, 4)
18022 2277464 : ipack = ipack + 1
18023 2277464 : pack_tmp = packed_data(ipack)
18024 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18025 2277464 : pack_tmp = ISHFT(pack_tmp, -4)
18026 2277464 : idata = idata + 1
18027 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18028 2277464 : full_data(idata) = data_tmp
18029 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18030 2277464 : idata = idata + 1
18031 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18032 2277464 : full_data(idata) = data_tmp
18033 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18034 2277464 : idata = idata + 1
18035 2277464 : data_tmp = ISHFT(pack_tmp, 15)
18036 2277464 : ipack = ipack + 1
18037 2277464 : pack_tmp = packed_data(ipack)
18038 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
18039 2277464 : pack_tmp = ISHFT(pack_tmp, -15)
18040 2277464 : idata = idata + 1
18041 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18042 2277464 : full_data(idata) = data_tmp
18043 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18044 2277464 : idata = idata + 1
18045 2277464 : data_tmp = ISHFT(pack_tmp, 1)
18046 2277464 : ipack = ipack + 1
18047 2277464 : pack_tmp = packed_data(ipack)
18048 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
18049 2277464 : pack_tmp = ISHFT(pack_tmp, -1)
18050 2277464 : idata = idata + 1
18051 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18052 2277464 : full_data(idata) = data_tmp
18053 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18054 2277464 : idata = idata + 1
18055 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18056 2277464 : full_data(idata) = data_tmp
18057 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18058 2277464 : idata = idata + 1
18059 2277464 : data_tmp = ISHFT(pack_tmp, 12)
18060 2277464 : ipack = ipack + 1
18061 2277464 : pack_tmp = packed_data(ipack)
18062 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18063 2277464 : pack_tmp = ISHFT(pack_tmp, -12)
18064 2277464 : idata = idata + 1
18065 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18066 2277464 : full_data(idata) = data_tmp
18067 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18068 2277464 : idata = idata + 1
18069 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18070 2277464 : full_data(idata) = data_tmp
18071 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18072 2277464 : idata = idata + 1
18073 2277464 : data_tmp = ISHFT(pack_tmp, 23)
18074 2277464 : ipack = ipack + 1
18075 2277464 : pack_tmp = packed_data(ipack)
18076 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
18077 2277464 : pack_tmp = ISHFT(pack_tmp, -23)
18078 2277464 : idata = idata + 1
18079 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18080 2277464 : full_data(idata) = data_tmp
18081 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18082 2277464 : idata = idata + 1
18083 2277464 : data_tmp = ISHFT(pack_tmp, 9)
18084 2277464 : ipack = ipack + 1
18085 2277464 : pack_tmp = packed_data(ipack)
18086 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
18087 2277464 : pack_tmp = ISHFT(pack_tmp, -9)
18088 2277464 : idata = idata + 1
18089 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18090 2277464 : full_data(idata) = data_tmp
18091 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18092 2277464 : idata = idata + 1
18093 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18094 2277464 : full_data(idata) = data_tmp
18095 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18096 2277464 : idata = idata + 1
18097 2277464 : data_tmp = ISHFT(pack_tmp, 20)
18098 2277464 : ipack = ipack + 1
18099 2277464 : pack_tmp = packed_data(ipack)
18100 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18101 2277464 : pack_tmp = ISHFT(pack_tmp, -20)
18102 2277464 : idata = idata + 1
18103 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18104 2277464 : full_data(idata) = data_tmp
18105 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18106 2277464 : idata = idata + 1
18107 2277464 : data_tmp = ISHFT(pack_tmp, 6)
18108 2277464 : ipack = ipack + 1
18109 2277464 : pack_tmp = packed_data(ipack)
18110 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18111 2277464 : pack_tmp = ISHFT(pack_tmp, -6)
18112 2277464 : idata = idata + 1
18113 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18114 2277464 : full_data(idata) = data_tmp
18115 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18116 2277464 : idata = idata + 1
18117 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18118 2277464 : full_data(idata) = data_tmp
18119 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18120 2277464 : idata = idata + 1
18121 2277464 : data_tmp = ISHFT(pack_tmp, 17)
18122 2277464 : ipack = ipack + 1
18123 2277464 : pack_tmp = packed_data(ipack)
18124 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
18125 2277464 : pack_tmp = ISHFT(pack_tmp, -17)
18126 2277464 : idata = idata + 1
18127 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18128 2277464 : full_data(idata) = data_tmp
18129 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18130 2277464 : idata = idata + 1
18131 2277464 : data_tmp = ISHFT(pack_tmp, 3)
18132 2277464 : ipack = ipack + 1
18133 2277464 : pack_tmp = packed_data(ipack)
18134 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
18135 2277464 : pack_tmp = ISHFT(pack_tmp, -3)
18136 2277464 : idata = idata + 1
18137 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18138 2277464 : full_data(idata) = data_tmp
18139 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18140 2277464 : idata = idata + 1
18141 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18142 2277464 : full_data(idata) = data_tmp
18143 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18144 2277464 : idata = idata + 1
18145 2277464 : data_tmp = ISHFT(pack_tmp, 14)
18146 2277464 : ipack = ipack + 1
18147 2277464 : pack_tmp = packed_data(ipack)
18148 2277464 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18149 2277464 : pack_tmp = ISHFT(pack_tmp, -14)
18150 2277464 : idata = idata + 1
18151 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18152 2277464 : full_data(idata) = data_tmp
18153 2277464 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18154 2277464 : idata = idata + 1
18155 2277464 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18156 2277464 : full_data(idata) = data_tmp
18157 2278047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18158 : END DO
18159 161635 : IF (Ndata_rep < Ndata) THEN
18160 35760 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18161 : END IF
18162 161635 : END SUBROUTINE bits2ints_25
18163 :
18164 : ! **************************************************************************************************
18165 : !> \brief ...
18166 : !> \param Ndata ...
18167 : !> \param packed_data ...
18168 : !> \param full_data ...
18169 : ! **************************************************************************************************
18170 30074 : 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 30074 : idata = 0
18181 30074 : ipack = 0
18182 30074 : Ndata_rep = (Ndata/64)*64
18183 30074 : DO kdata = 1, Ndata_rep, 64
18184 451555 : pack_tmp = 0
18185 451555 : idata = idata + 1
18186 451555 : data_tmp = full_data(idata)
18187 451555 : data_tmp = ISHFT(data_tmp, 38)
18188 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18189 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18190 451555 : idata = idata + 1
18191 451555 : data_tmp = full_data(idata)
18192 451555 : data_tmp = ISHFT(data_tmp, 38)
18193 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18194 451555 : pack_tmp = ISHFT(pack_tmp, -12)
18195 451555 : idata = idata + 1
18196 451555 : data_tmp = full_data(idata)
18197 451555 : data_tmp = ISHFT(data_tmp, 38)
18198 451555 : data_tmp = IAND(data_tmp, mask_left(12))
18199 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18200 451555 : ipack = ipack + 1
18201 451555 : packed_data(ipack) = pack_tmp
18202 451555 : data_tmp = full_data(idata)
18203 451555 : pack_tmp = ISHFT(data_tmp, 50)
18204 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18205 451555 : idata = idata + 1
18206 451555 : data_tmp = full_data(idata)
18207 451555 : data_tmp = ISHFT(data_tmp, 38)
18208 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18209 451555 : pack_tmp = ISHFT(pack_tmp, -24)
18210 451555 : idata = idata + 1
18211 451555 : data_tmp = full_data(idata)
18212 451555 : data_tmp = ISHFT(data_tmp, 38)
18213 451555 : data_tmp = IAND(data_tmp, mask_left(24))
18214 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18215 451555 : ipack = ipack + 1
18216 451555 : packed_data(ipack) = pack_tmp
18217 451555 : data_tmp = full_data(idata)
18218 451555 : pack_tmp = ISHFT(data_tmp, 62)
18219 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18220 451555 : idata = idata + 1
18221 451555 : data_tmp = full_data(idata)
18222 451555 : data_tmp = ISHFT(data_tmp, 38)
18223 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18224 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18225 451555 : idata = idata + 1
18226 451555 : data_tmp = full_data(idata)
18227 451555 : data_tmp = ISHFT(data_tmp, 38)
18228 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18229 451555 : pack_tmp = ISHFT(pack_tmp, -10)
18230 451555 : idata = idata + 1
18231 451555 : data_tmp = full_data(idata)
18232 451555 : data_tmp = ISHFT(data_tmp, 38)
18233 451555 : data_tmp = IAND(data_tmp, mask_left(10))
18234 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18235 451555 : ipack = ipack + 1
18236 451555 : packed_data(ipack) = pack_tmp
18237 451555 : data_tmp = full_data(idata)
18238 451555 : pack_tmp = ISHFT(data_tmp, 48)
18239 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18240 451555 : idata = idata + 1
18241 451555 : data_tmp = full_data(idata)
18242 451555 : data_tmp = ISHFT(data_tmp, 38)
18243 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18244 451555 : pack_tmp = ISHFT(pack_tmp, -22)
18245 451555 : idata = idata + 1
18246 451555 : data_tmp = full_data(idata)
18247 451555 : data_tmp = ISHFT(data_tmp, 38)
18248 451555 : data_tmp = IAND(data_tmp, mask_left(22))
18249 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18250 451555 : ipack = ipack + 1
18251 451555 : packed_data(ipack) = pack_tmp
18252 451555 : data_tmp = full_data(idata)
18253 451555 : pack_tmp = ISHFT(data_tmp, 60)
18254 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18255 451555 : idata = idata + 1
18256 451555 : data_tmp = full_data(idata)
18257 451555 : data_tmp = ISHFT(data_tmp, 38)
18258 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18259 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18260 451555 : idata = idata + 1
18261 451555 : data_tmp = full_data(idata)
18262 451555 : data_tmp = ISHFT(data_tmp, 38)
18263 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18264 451555 : pack_tmp = ISHFT(pack_tmp, -8)
18265 451555 : idata = idata + 1
18266 451555 : data_tmp = full_data(idata)
18267 451555 : data_tmp = ISHFT(data_tmp, 38)
18268 451555 : data_tmp = IAND(data_tmp, mask_left(8))
18269 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18270 451555 : ipack = ipack + 1
18271 451555 : packed_data(ipack) = pack_tmp
18272 451555 : data_tmp = full_data(idata)
18273 451555 : pack_tmp = ISHFT(data_tmp, 46)
18274 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18275 451555 : idata = idata + 1
18276 451555 : data_tmp = full_data(idata)
18277 451555 : data_tmp = ISHFT(data_tmp, 38)
18278 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18279 451555 : pack_tmp = ISHFT(pack_tmp, -20)
18280 451555 : idata = idata + 1
18281 451555 : data_tmp = full_data(idata)
18282 451555 : data_tmp = ISHFT(data_tmp, 38)
18283 451555 : data_tmp = IAND(data_tmp, mask_left(20))
18284 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18285 451555 : ipack = ipack + 1
18286 451555 : packed_data(ipack) = pack_tmp
18287 451555 : data_tmp = full_data(idata)
18288 451555 : pack_tmp = ISHFT(data_tmp, 58)
18289 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18290 451555 : idata = idata + 1
18291 451555 : data_tmp = full_data(idata)
18292 451555 : data_tmp = ISHFT(data_tmp, 38)
18293 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18294 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18295 451555 : idata = idata + 1
18296 451555 : data_tmp = full_data(idata)
18297 451555 : data_tmp = ISHFT(data_tmp, 38)
18298 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18299 451555 : pack_tmp = ISHFT(pack_tmp, -6)
18300 451555 : idata = idata + 1
18301 451555 : data_tmp = full_data(idata)
18302 451555 : data_tmp = ISHFT(data_tmp, 38)
18303 451555 : data_tmp = IAND(data_tmp, mask_left(6))
18304 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18305 451555 : ipack = ipack + 1
18306 451555 : packed_data(ipack) = pack_tmp
18307 451555 : data_tmp = full_data(idata)
18308 451555 : pack_tmp = ISHFT(data_tmp, 44)
18309 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18310 451555 : idata = idata + 1
18311 451555 : data_tmp = full_data(idata)
18312 451555 : data_tmp = ISHFT(data_tmp, 38)
18313 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18314 451555 : pack_tmp = ISHFT(pack_tmp, -18)
18315 451555 : idata = idata + 1
18316 451555 : data_tmp = full_data(idata)
18317 451555 : data_tmp = ISHFT(data_tmp, 38)
18318 451555 : data_tmp = IAND(data_tmp, mask_left(18))
18319 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18320 451555 : ipack = ipack + 1
18321 451555 : packed_data(ipack) = pack_tmp
18322 451555 : data_tmp = full_data(idata)
18323 451555 : pack_tmp = ISHFT(data_tmp, 56)
18324 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18325 451555 : idata = idata + 1
18326 451555 : data_tmp = full_data(idata)
18327 451555 : data_tmp = ISHFT(data_tmp, 38)
18328 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18329 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18330 451555 : idata = idata + 1
18331 451555 : data_tmp = full_data(idata)
18332 451555 : data_tmp = ISHFT(data_tmp, 38)
18333 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18334 451555 : pack_tmp = ISHFT(pack_tmp, -4)
18335 451555 : idata = idata + 1
18336 451555 : data_tmp = full_data(idata)
18337 451555 : data_tmp = ISHFT(data_tmp, 38)
18338 451555 : data_tmp = IAND(data_tmp, mask_left(4))
18339 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18340 451555 : ipack = ipack + 1
18341 451555 : packed_data(ipack) = pack_tmp
18342 451555 : data_tmp = full_data(idata)
18343 451555 : pack_tmp = ISHFT(data_tmp, 42)
18344 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18345 451555 : idata = idata + 1
18346 451555 : data_tmp = full_data(idata)
18347 451555 : data_tmp = ISHFT(data_tmp, 38)
18348 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18349 451555 : pack_tmp = ISHFT(pack_tmp, -16)
18350 451555 : idata = idata + 1
18351 451555 : data_tmp = full_data(idata)
18352 451555 : data_tmp = ISHFT(data_tmp, 38)
18353 451555 : data_tmp = IAND(data_tmp, mask_left(16))
18354 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18355 451555 : ipack = ipack + 1
18356 451555 : packed_data(ipack) = pack_tmp
18357 451555 : data_tmp = full_data(idata)
18358 451555 : pack_tmp = ISHFT(data_tmp, 54)
18359 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18360 451555 : idata = idata + 1
18361 451555 : data_tmp = full_data(idata)
18362 451555 : data_tmp = ISHFT(data_tmp, 38)
18363 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18364 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18365 451555 : idata = idata + 1
18366 451555 : data_tmp = full_data(idata)
18367 451555 : data_tmp = ISHFT(data_tmp, 38)
18368 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18369 451555 : pack_tmp = ISHFT(pack_tmp, -2)
18370 451555 : idata = idata + 1
18371 451555 : data_tmp = full_data(idata)
18372 451555 : data_tmp = ISHFT(data_tmp, 38)
18373 451555 : data_tmp = IAND(data_tmp, mask_left(2))
18374 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18375 451555 : ipack = ipack + 1
18376 451555 : packed_data(ipack) = pack_tmp
18377 451555 : data_tmp = full_data(idata)
18378 451555 : pack_tmp = ISHFT(data_tmp, 40)
18379 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18380 451555 : idata = idata + 1
18381 451555 : data_tmp = full_data(idata)
18382 451555 : data_tmp = ISHFT(data_tmp, 38)
18383 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18384 451555 : pack_tmp = ISHFT(pack_tmp, -14)
18385 451555 : idata = idata + 1
18386 451555 : data_tmp = full_data(idata)
18387 451555 : data_tmp = ISHFT(data_tmp, 38)
18388 451555 : data_tmp = IAND(data_tmp, mask_left(14))
18389 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18390 451555 : ipack = ipack + 1
18391 451555 : packed_data(ipack) = pack_tmp
18392 451555 : data_tmp = full_data(idata)
18393 451555 : pack_tmp = ISHFT(data_tmp, 52)
18394 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18395 451555 : idata = idata + 1
18396 451555 : data_tmp = full_data(idata)
18397 451555 : data_tmp = ISHFT(data_tmp, 38)
18398 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18399 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18400 451555 : idata = idata + 1
18401 451555 : data_tmp = full_data(idata)
18402 451555 : data_tmp = ISHFT(data_tmp, 38)
18403 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18404 451555 : pack_tmp = ISHFT(pack_tmp, 0)
18405 451555 : idata = idata + 1
18406 451555 : data_tmp = full_data(idata)
18407 : data_tmp = ISHFT(data_tmp, 38)
18408 451555 : data_tmp = IAND(data_tmp, mask_left(0))
18409 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18410 451555 : ipack = ipack + 1
18411 451555 : packed_data(ipack) = pack_tmp
18412 451555 : data_tmp = full_data(idata)
18413 451555 : pack_tmp = ISHFT(data_tmp, 38)
18414 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18415 451555 : idata = idata + 1
18416 451555 : data_tmp = full_data(idata)
18417 451555 : data_tmp = ISHFT(data_tmp, 38)
18418 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18419 451555 : pack_tmp = ISHFT(pack_tmp, -12)
18420 451555 : idata = idata + 1
18421 451555 : data_tmp = full_data(idata)
18422 451555 : data_tmp = ISHFT(data_tmp, 38)
18423 451555 : data_tmp = IAND(data_tmp, mask_left(12))
18424 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18425 451555 : ipack = ipack + 1
18426 451555 : packed_data(ipack) = pack_tmp
18427 451555 : data_tmp = full_data(idata)
18428 451555 : pack_tmp = ISHFT(data_tmp, 50)
18429 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18430 451555 : idata = idata + 1
18431 451555 : data_tmp = full_data(idata)
18432 451555 : data_tmp = ISHFT(data_tmp, 38)
18433 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18434 451555 : pack_tmp = ISHFT(pack_tmp, -24)
18435 451555 : idata = idata + 1
18436 451555 : data_tmp = full_data(idata)
18437 451555 : data_tmp = ISHFT(data_tmp, 38)
18438 451555 : data_tmp = IAND(data_tmp, mask_left(24))
18439 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18440 451555 : ipack = ipack + 1
18441 451555 : packed_data(ipack) = pack_tmp
18442 451555 : data_tmp = full_data(idata)
18443 451555 : pack_tmp = ISHFT(data_tmp, 62)
18444 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18445 451555 : idata = idata + 1
18446 451555 : data_tmp = full_data(idata)
18447 451555 : data_tmp = ISHFT(data_tmp, 38)
18448 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18449 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18450 451555 : idata = idata + 1
18451 451555 : data_tmp = full_data(idata)
18452 451555 : data_tmp = ISHFT(data_tmp, 38)
18453 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18454 451555 : pack_tmp = ISHFT(pack_tmp, -10)
18455 451555 : idata = idata + 1
18456 451555 : data_tmp = full_data(idata)
18457 451555 : data_tmp = ISHFT(data_tmp, 38)
18458 451555 : data_tmp = IAND(data_tmp, mask_left(10))
18459 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18460 451555 : ipack = ipack + 1
18461 451555 : packed_data(ipack) = pack_tmp
18462 451555 : data_tmp = full_data(idata)
18463 451555 : pack_tmp = ISHFT(data_tmp, 48)
18464 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18465 451555 : idata = idata + 1
18466 451555 : data_tmp = full_data(idata)
18467 451555 : data_tmp = ISHFT(data_tmp, 38)
18468 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18469 451555 : pack_tmp = ISHFT(pack_tmp, -22)
18470 451555 : idata = idata + 1
18471 451555 : data_tmp = full_data(idata)
18472 451555 : data_tmp = ISHFT(data_tmp, 38)
18473 451555 : data_tmp = IAND(data_tmp, mask_left(22))
18474 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18475 451555 : ipack = ipack + 1
18476 451555 : packed_data(ipack) = pack_tmp
18477 451555 : data_tmp = full_data(idata)
18478 451555 : pack_tmp = ISHFT(data_tmp, 60)
18479 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18480 451555 : idata = idata + 1
18481 451555 : data_tmp = full_data(idata)
18482 451555 : data_tmp = ISHFT(data_tmp, 38)
18483 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18484 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18485 451555 : idata = idata + 1
18486 451555 : data_tmp = full_data(idata)
18487 451555 : data_tmp = ISHFT(data_tmp, 38)
18488 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18489 451555 : pack_tmp = ISHFT(pack_tmp, -8)
18490 451555 : idata = idata + 1
18491 451555 : data_tmp = full_data(idata)
18492 451555 : data_tmp = ISHFT(data_tmp, 38)
18493 451555 : data_tmp = IAND(data_tmp, mask_left(8))
18494 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18495 451555 : ipack = ipack + 1
18496 451555 : packed_data(ipack) = pack_tmp
18497 451555 : data_tmp = full_data(idata)
18498 451555 : pack_tmp = ISHFT(data_tmp, 46)
18499 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18500 451555 : idata = idata + 1
18501 451555 : data_tmp = full_data(idata)
18502 451555 : data_tmp = ISHFT(data_tmp, 38)
18503 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18504 451555 : pack_tmp = ISHFT(pack_tmp, -20)
18505 451555 : idata = idata + 1
18506 451555 : data_tmp = full_data(idata)
18507 451555 : data_tmp = ISHFT(data_tmp, 38)
18508 451555 : data_tmp = IAND(data_tmp, mask_left(20))
18509 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18510 451555 : ipack = ipack + 1
18511 451555 : packed_data(ipack) = pack_tmp
18512 451555 : data_tmp = full_data(idata)
18513 451555 : pack_tmp = ISHFT(data_tmp, 58)
18514 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18515 451555 : idata = idata + 1
18516 451555 : data_tmp = full_data(idata)
18517 451555 : data_tmp = ISHFT(data_tmp, 38)
18518 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18519 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18520 451555 : idata = idata + 1
18521 451555 : data_tmp = full_data(idata)
18522 451555 : data_tmp = ISHFT(data_tmp, 38)
18523 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18524 451555 : pack_tmp = ISHFT(pack_tmp, -6)
18525 451555 : idata = idata + 1
18526 451555 : data_tmp = full_data(idata)
18527 451555 : data_tmp = ISHFT(data_tmp, 38)
18528 451555 : data_tmp = IAND(data_tmp, mask_left(6))
18529 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18530 451555 : ipack = ipack + 1
18531 451555 : packed_data(ipack) = pack_tmp
18532 451555 : data_tmp = full_data(idata)
18533 451555 : pack_tmp = ISHFT(data_tmp, 44)
18534 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18535 451555 : idata = idata + 1
18536 451555 : data_tmp = full_data(idata)
18537 451555 : data_tmp = ISHFT(data_tmp, 38)
18538 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18539 451555 : pack_tmp = ISHFT(pack_tmp, -18)
18540 451555 : idata = idata + 1
18541 451555 : data_tmp = full_data(idata)
18542 451555 : data_tmp = ISHFT(data_tmp, 38)
18543 451555 : data_tmp = IAND(data_tmp, mask_left(18))
18544 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18545 451555 : ipack = ipack + 1
18546 451555 : packed_data(ipack) = pack_tmp
18547 451555 : data_tmp = full_data(idata)
18548 451555 : pack_tmp = ISHFT(data_tmp, 56)
18549 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18550 451555 : idata = idata + 1
18551 451555 : data_tmp = full_data(idata)
18552 451555 : data_tmp = ISHFT(data_tmp, 38)
18553 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18554 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18555 451555 : idata = idata + 1
18556 451555 : data_tmp = full_data(idata)
18557 451555 : data_tmp = ISHFT(data_tmp, 38)
18558 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18559 451555 : pack_tmp = ISHFT(pack_tmp, -4)
18560 451555 : idata = idata + 1
18561 451555 : data_tmp = full_data(idata)
18562 451555 : data_tmp = ISHFT(data_tmp, 38)
18563 451555 : data_tmp = IAND(data_tmp, mask_left(4))
18564 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18565 451555 : ipack = ipack + 1
18566 451555 : packed_data(ipack) = pack_tmp
18567 451555 : data_tmp = full_data(idata)
18568 451555 : pack_tmp = ISHFT(data_tmp, 42)
18569 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18570 451555 : idata = idata + 1
18571 451555 : data_tmp = full_data(idata)
18572 451555 : data_tmp = ISHFT(data_tmp, 38)
18573 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18574 451555 : pack_tmp = ISHFT(pack_tmp, -16)
18575 451555 : idata = idata + 1
18576 451555 : data_tmp = full_data(idata)
18577 451555 : data_tmp = ISHFT(data_tmp, 38)
18578 451555 : data_tmp = IAND(data_tmp, mask_left(16))
18579 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18580 451555 : ipack = ipack + 1
18581 451555 : packed_data(ipack) = pack_tmp
18582 451555 : data_tmp = full_data(idata)
18583 451555 : pack_tmp = ISHFT(data_tmp, 54)
18584 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18585 451555 : idata = idata + 1
18586 451555 : data_tmp = full_data(idata)
18587 451555 : data_tmp = ISHFT(data_tmp, 38)
18588 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18589 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18590 451555 : idata = idata + 1
18591 451555 : data_tmp = full_data(idata)
18592 451555 : data_tmp = ISHFT(data_tmp, 38)
18593 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18594 451555 : pack_tmp = ISHFT(pack_tmp, -2)
18595 451555 : idata = idata + 1
18596 451555 : data_tmp = full_data(idata)
18597 451555 : data_tmp = ISHFT(data_tmp, 38)
18598 451555 : data_tmp = IAND(data_tmp, mask_left(2))
18599 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18600 451555 : ipack = ipack + 1
18601 451555 : packed_data(ipack) = pack_tmp
18602 451555 : data_tmp = full_data(idata)
18603 451555 : pack_tmp = ISHFT(data_tmp, 40)
18604 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18605 451555 : idata = idata + 1
18606 451555 : data_tmp = full_data(idata)
18607 451555 : data_tmp = ISHFT(data_tmp, 38)
18608 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18609 451555 : pack_tmp = ISHFT(pack_tmp, -14)
18610 451555 : idata = idata + 1
18611 451555 : data_tmp = full_data(idata)
18612 451555 : data_tmp = ISHFT(data_tmp, 38)
18613 451555 : data_tmp = IAND(data_tmp, mask_left(14))
18614 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18615 451555 : ipack = ipack + 1
18616 451555 : packed_data(ipack) = pack_tmp
18617 451555 : data_tmp = full_data(idata)
18618 451555 : pack_tmp = ISHFT(data_tmp, 52)
18619 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18620 451555 : idata = idata + 1
18621 451555 : data_tmp = full_data(idata)
18622 451555 : data_tmp = ISHFT(data_tmp, 38)
18623 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18624 451555 : pack_tmp = ISHFT(pack_tmp, -26)
18625 451555 : idata = idata + 1
18626 451555 : data_tmp = full_data(idata)
18627 451555 : data_tmp = ISHFT(data_tmp, 38)
18628 451555 : pack_tmp = IOR(pack_tmp, data_tmp)
18629 : pack_tmp = ISHFT(pack_tmp, 0)
18630 451555 : pack_tmp = ISHFT(pack_tmp, 0)
18631 451555 : ipack = ipack + 1
18632 451681 : packed_data(ipack) = pack_tmp
18633 : END DO
18634 30074 : IF (Ndata_rep < Ndata) THEN
18635 3418 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18636 : END IF
18637 30074 : END SUBROUTINE ints2bits_26
18638 :
18639 : ! **************************************************************************************************
18640 : !> \brief ...
18641 : !> \param Ndata ...
18642 : !> \param packed_data ...
18643 : !> \param full_data ...
18644 : ! **************************************************************************************************
18645 133453 : 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 133453 : ipack = 0
18656 133453 : idata = 0
18657 133453 : pack_tmp = 0
18658 133453 : Ndata_rep = (Ndata/64)*64
18659 133453 : DO kdata = 1, Ndata_rep, 64
18660 1956249 : idata = idata + 1
18661 1956249 : data_tmp = ISHFT(pack_tmp, 26)
18662 1956249 : ipack = ipack + 1
18663 1956249 : pack_tmp = packed_data(ipack)
18664 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18665 1956249 : pack_tmp = ISHFT(pack_tmp, -26)
18666 1956249 : idata = idata + 1
18667 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18668 1956249 : full_data(idata) = data_tmp
18669 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18670 1956249 : idata = idata + 1
18671 1956249 : data_tmp = ISHFT(pack_tmp, 14)
18672 1956249 : ipack = ipack + 1
18673 1956249 : pack_tmp = packed_data(ipack)
18674 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18675 1956249 : pack_tmp = ISHFT(pack_tmp, -14)
18676 1956249 : idata = idata + 1
18677 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18678 1956249 : full_data(idata) = data_tmp
18679 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18680 1956249 : idata = idata + 1
18681 1956249 : data_tmp = ISHFT(pack_tmp, 2)
18682 1956249 : ipack = ipack + 1
18683 1956249 : pack_tmp = packed_data(ipack)
18684 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18685 1956249 : pack_tmp = ISHFT(pack_tmp, -2)
18686 1956249 : idata = idata + 1
18687 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18688 1956249 : full_data(idata) = data_tmp
18689 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18690 1956249 : idata = idata + 1
18691 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18692 1956249 : full_data(idata) = data_tmp
18693 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18694 1956249 : idata = idata + 1
18695 1956249 : data_tmp = ISHFT(pack_tmp, 16)
18696 1956249 : ipack = ipack + 1
18697 1956249 : pack_tmp = packed_data(ipack)
18698 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18699 1956249 : pack_tmp = ISHFT(pack_tmp, -16)
18700 1956249 : idata = idata + 1
18701 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18702 1956249 : full_data(idata) = data_tmp
18703 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18704 1956249 : idata = idata + 1
18705 1956249 : data_tmp = ISHFT(pack_tmp, 4)
18706 1956249 : ipack = ipack + 1
18707 1956249 : pack_tmp = packed_data(ipack)
18708 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18709 1956249 : pack_tmp = ISHFT(pack_tmp, -4)
18710 1956249 : idata = idata + 1
18711 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18712 1956249 : full_data(idata) = data_tmp
18713 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18714 1956249 : idata = idata + 1
18715 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18716 1956249 : full_data(idata) = data_tmp
18717 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18718 1956249 : idata = idata + 1
18719 1956249 : data_tmp = ISHFT(pack_tmp, 18)
18720 1956249 : ipack = ipack + 1
18721 1956249 : pack_tmp = packed_data(ipack)
18722 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18723 1956249 : pack_tmp = ISHFT(pack_tmp, -18)
18724 1956249 : idata = idata + 1
18725 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18726 1956249 : full_data(idata) = data_tmp
18727 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18728 1956249 : idata = idata + 1
18729 1956249 : data_tmp = ISHFT(pack_tmp, 6)
18730 1956249 : ipack = ipack + 1
18731 1956249 : pack_tmp = packed_data(ipack)
18732 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18733 1956249 : pack_tmp = ISHFT(pack_tmp, -6)
18734 1956249 : idata = idata + 1
18735 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18736 1956249 : full_data(idata) = data_tmp
18737 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18738 1956249 : idata = idata + 1
18739 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18740 1956249 : full_data(idata) = data_tmp
18741 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18742 1956249 : idata = idata + 1
18743 1956249 : data_tmp = ISHFT(pack_tmp, 20)
18744 1956249 : ipack = ipack + 1
18745 1956249 : pack_tmp = packed_data(ipack)
18746 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18747 1956249 : pack_tmp = ISHFT(pack_tmp, -20)
18748 1956249 : idata = idata + 1
18749 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18750 1956249 : full_data(idata) = data_tmp
18751 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18752 1956249 : idata = idata + 1
18753 1956249 : data_tmp = ISHFT(pack_tmp, 8)
18754 1956249 : ipack = ipack + 1
18755 1956249 : pack_tmp = packed_data(ipack)
18756 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18757 1956249 : pack_tmp = ISHFT(pack_tmp, -8)
18758 1956249 : idata = idata + 1
18759 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18760 1956249 : full_data(idata) = data_tmp
18761 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18762 1956249 : idata = idata + 1
18763 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18764 1956249 : full_data(idata) = data_tmp
18765 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18766 1956249 : idata = idata + 1
18767 1956249 : data_tmp = ISHFT(pack_tmp, 22)
18768 1956249 : ipack = ipack + 1
18769 1956249 : pack_tmp = packed_data(ipack)
18770 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18771 1956249 : pack_tmp = ISHFT(pack_tmp, -22)
18772 1956249 : idata = idata + 1
18773 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18774 1956249 : full_data(idata) = data_tmp
18775 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18776 1956249 : idata = idata + 1
18777 1956249 : data_tmp = ISHFT(pack_tmp, 10)
18778 1956249 : ipack = ipack + 1
18779 1956249 : pack_tmp = packed_data(ipack)
18780 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18781 1956249 : pack_tmp = ISHFT(pack_tmp, -10)
18782 1956249 : idata = idata + 1
18783 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18784 1956249 : full_data(idata) = data_tmp
18785 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18786 1956249 : idata = idata + 1
18787 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18788 1956249 : full_data(idata) = data_tmp
18789 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18790 1956249 : idata = idata + 1
18791 1956249 : data_tmp = ISHFT(pack_tmp, 24)
18792 1956249 : ipack = ipack + 1
18793 1956249 : pack_tmp = packed_data(ipack)
18794 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18795 1956249 : pack_tmp = ISHFT(pack_tmp, -24)
18796 1956249 : idata = idata + 1
18797 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18798 1956249 : full_data(idata) = data_tmp
18799 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18800 1956249 : idata = idata + 1
18801 1956249 : data_tmp = ISHFT(pack_tmp, 12)
18802 1956249 : ipack = ipack + 1
18803 1956249 : pack_tmp = packed_data(ipack)
18804 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18805 1956249 : pack_tmp = ISHFT(pack_tmp, -12)
18806 1956249 : idata = idata + 1
18807 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18808 1956249 : full_data(idata) = data_tmp
18809 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18810 1956249 : idata = idata + 1
18811 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18812 1956249 : full_data(idata) = data_tmp
18813 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18814 1956249 : idata = idata + 1
18815 1956249 : data_tmp = ISHFT(pack_tmp, 26)
18816 1956249 : ipack = ipack + 1
18817 1956249 : pack_tmp = packed_data(ipack)
18818 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18819 1956249 : pack_tmp = ISHFT(pack_tmp, -26)
18820 1956249 : idata = idata + 1
18821 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18822 1956249 : full_data(idata) = data_tmp
18823 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18824 1956249 : idata = idata + 1
18825 1956249 : data_tmp = ISHFT(pack_tmp, 14)
18826 1956249 : ipack = ipack + 1
18827 1956249 : pack_tmp = packed_data(ipack)
18828 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18829 1956249 : pack_tmp = ISHFT(pack_tmp, -14)
18830 1956249 : idata = idata + 1
18831 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18832 1956249 : full_data(idata) = data_tmp
18833 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18834 1956249 : idata = idata + 1
18835 1956249 : data_tmp = ISHFT(pack_tmp, 2)
18836 1956249 : ipack = ipack + 1
18837 1956249 : pack_tmp = packed_data(ipack)
18838 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18839 1956249 : pack_tmp = ISHFT(pack_tmp, -2)
18840 1956249 : idata = idata + 1
18841 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18842 1956249 : full_data(idata) = data_tmp
18843 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18844 1956249 : idata = idata + 1
18845 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18846 1956249 : full_data(idata) = data_tmp
18847 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18848 1956249 : idata = idata + 1
18849 1956249 : data_tmp = ISHFT(pack_tmp, 16)
18850 1956249 : ipack = ipack + 1
18851 1956249 : pack_tmp = packed_data(ipack)
18852 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18853 1956249 : pack_tmp = ISHFT(pack_tmp, -16)
18854 1956249 : idata = idata + 1
18855 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18856 1956249 : full_data(idata) = data_tmp
18857 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18858 1956249 : idata = idata + 1
18859 1956249 : data_tmp = ISHFT(pack_tmp, 4)
18860 1956249 : ipack = ipack + 1
18861 1956249 : pack_tmp = packed_data(ipack)
18862 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18863 1956249 : pack_tmp = ISHFT(pack_tmp, -4)
18864 1956249 : idata = idata + 1
18865 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18866 1956249 : full_data(idata) = data_tmp
18867 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18868 1956249 : idata = idata + 1
18869 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18870 1956249 : full_data(idata) = data_tmp
18871 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18872 1956249 : idata = idata + 1
18873 1956249 : data_tmp = ISHFT(pack_tmp, 18)
18874 1956249 : ipack = ipack + 1
18875 1956249 : pack_tmp = packed_data(ipack)
18876 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18877 1956249 : pack_tmp = ISHFT(pack_tmp, -18)
18878 1956249 : idata = idata + 1
18879 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18880 1956249 : full_data(idata) = data_tmp
18881 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18882 1956249 : idata = idata + 1
18883 1956249 : data_tmp = ISHFT(pack_tmp, 6)
18884 1956249 : ipack = ipack + 1
18885 1956249 : pack_tmp = packed_data(ipack)
18886 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18887 1956249 : pack_tmp = ISHFT(pack_tmp, -6)
18888 1956249 : idata = idata + 1
18889 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18890 1956249 : full_data(idata) = data_tmp
18891 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18892 1956249 : idata = idata + 1
18893 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18894 1956249 : full_data(idata) = data_tmp
18895 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18896 1956249 : idata = idata + 1
18897 1956249 : data_tmp = ISHFT(pack_tmp, 20)
18898 1956249 : ipack = ipack + 1
18899 1956249 : pack_tmp = packed_data(ipack)
18900 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18901 1956249 : pack_tmp = ISHFT(pack_tmp, -20)
18902 1956249 : idata = idata + 1
18903 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18904 1956249 : full_data(idata) = data_tmp
18905 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18906 1956249 : idata = idata + 1
18907 1956249 : data_tmp = ISHFT(pack_tmp, 8)
18908 1956249 : ipack = ipack + 1
18909 1956249 : pack_tmp = packed_data(ipack)
18910 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18911 1956249 : pack_tmp = ISHFT(pack_tmp, -8)
18912 1956249 : idata = idata + 1
18913 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18914 1956249 : full_data(idata) = data_tmp
18915 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18916 1956249 : idata = idata + 1
18917 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18918 1956249 : full_data(idata) = data_tmp
18919 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18920 1956249 : idata = idata + 1
18921 1956249 : data_tmp = ISHFT(pack_tmp, 22)
18922 1956249 : ipack = ipack + 1
18923 1956249 : pack_tmp = packed_data(ipack)
18924 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18925 1956249 : pack_tmp = ISHFT(pack_tmp, -22)
18926 1956249 : idata = idata + 1
18927 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18928 1956249 : full_data(idata) = data_tmp
18929 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18930 1956249 : idata = idata + 1
18931 1956249 : data_tmp = ISHFT(pack_tmp, 10)
18932 1956249 : ipack = ipack + 1
18933 1956249 : pack_tmp = packed_data(ipack)
18934 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18935 1956249 : pack_tmp = ISHFT(pack_tmp, -10)
18936 1956249 : idata = idata + 1
18937 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18938 1956249 : full_data(idata) = data_tmp
18939 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18940 1956249 : idata = idata + 1
18941 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18942 1956249 : full_data(idata) = data_tmp
18943 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18944 1956249 : idata = idata + 1
18945 1956249 : data_tmp = ISHFT(pack_tmp, 24)
18946 1956249 : ipack = ipack + 1
18947 1956249 : pack_tmp = packed_data(ipack)
18948 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18949 1956249 : pack_tmp = ISHFT(pack_tmp, -24)
18950 1956249 : idata = idata + 1
18951 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18952 1956249 : full_data(idata) = data_tmp
18953 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18954 1956249 : idata = idata + 1
18955 1956249 : data_tmp = ISHFT(pack_tmp, 12)
18956 1956249 : ipack = ipack + 1
18957 1956249 : pack_tmp = packed_data(ipack)
18958 1956249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18959 1956249 : pack_tmp = ISHFT(pack_tmp, -12)
18960 1956249 : idata = idata + 1
18961 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18962 1956249 : full_data(idata) = data_tmp
18963 1956249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18964 1956249 : idata = idata + 1
18965 1956249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18966 1956249 : full_data(idata) = data_tmp
18967 1956772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18968 : END DO
18969 133453 : IF (Ndata_rep < Ndata) THEN
18970 20814 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18971 : END IF
18972 133453 : END SUBROUTINE bits2ints_26
18973 :
18974 : ! **************************************************************************************************
18975 : !> \brief ...
18976 : !> \param Ndata ...
18977 : !> \param packed_data ...
18978 : !> \param full_data ...
18979 : ! **************************************************************************************************
18980 29599 : 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 29599 : idata = 0
18991 29599 : ipack = 0
18992 29599 : Ndata_rep = (Ndata/64)*64
18993 29599 : DO kdata = 1, Ndata_rep, 64
18994 446690 : pack_tmp = 0
18995 446690 : idata = idata + 1
18996 446690 : data_tmp = full_data(idata)
18997 446690 : data_tmp = ISHFT(data_tmp, 37)
18998 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
18999 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19000 446690 : idata = idata + 1
19001 446690 : data_tmp = full_data(idata)
19002 446690 : data_tmp = ISHFT(data_tmp, 37)
19003 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19004 446690 : pack_tmp = ISHFT(pack_tmp, -10)
19005 446690 : idata = idata + 1
19006 446690 : data_tmp = full_data(idata)
19007 446690 : data_tmp = ISHFT(data_tmp, 37)
19008 446690 : data_tmp = IAND(data_tmp, mask_left(10))
19009 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19010 446690 : ipack = ipack + 1
19011 446690 : packed_data(ipack) = pack_tmp
19012 446690 : data_tmp = full_data(idata)
19013 446690 : pack_tmp = ISHFT(data_tmp, 47)
19014 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19015 446690 : idata = idata + 1
19016 446690 : data_tmp = full_data(idata)
19017 446690 : data_tmp = ISHFT(data_tmp, 37)
19018 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19019 446690 : pack_tmp = ISHFT(pack_tmp, -20)
19020 446690 : idata = idata + 1
19021 446690 : data_tmp = full_data(idata)
19022 446690 : data_tmp = ISHFT(data_tmp, 37)
19023 446690 : data_tmp = IAND(data_tmp, mask_left(20))
19024 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19025 446690 : ipack = ipack + 1
19026 446690 : packed_data(ipack) = pack_tmp
19027 446690 : data_tmp = full_data(idata)
19028 446690 : pack_tmp = ISHFT(data_tmp, 57)
19029 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19030 446690 : idata = idata + 1
19031 446690 : data_tmp = full_data(idata)
19032 446690 : data_tmp = ISHFT(data_tmp, 37)
19033 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19034 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19035 446690 : idata = idata + 1
19036 446690 : data_tmp = full_data(idata)
19037 446690 : data_tmp = ISHFT(data_tmp, 37)
19038 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19039 446690 : pack_tmp = ISHFT(pack_tmp, -3)
19040 446690 : idata = idata + 1
19041 446690 : data_tmp = full_data(idata)
19042 446690 : data_tmp = ISHFT(data_tmp, 37)
19043 446690 : data_tmp = IAND(data_tmp, mask_left(3))
19044 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19045 446690 : ipack = ipack + 1
19046 446690 : packed_data(ipack) = pack_tmp
19047 446690 : data_tmp = full_data(idata)
19048 446690 : pack_tmp = ISHFT(data_tmp, 40)
19049 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19050 446690 : idata = idata + 1
19051 446690 : data_tmp = full_data(idata)
19052 446690 : data_tmp = ISHFT(data_tmp, 37)
19053 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19054 446690 : pack_tmp = ISHFT(pack_tmp, -13)
19055 446690 : idata = idata + 1
19056 446690 : data_tmp = full_data(idata)
19057 446690 : data_tmp = ISHFT(data_tmp, 37)
19058 446690 : data_tmp = IAND(data_tmp, mask_left(13))
19059 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19060 446690 : ipack = ipack + 1
19061 446690 : packed_data(ipack) = pack_tmp
19062 446690 : data_tmp = full_data(idata)
19063 446690 : pack_tmp = ISHFT(data_tmp, 50)
19064 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19065 446690 : idata = idata + 1
19066 446690 : data_tmp = full_data(idata)
19067 446690 : data_tmp = ISHFT(data_tmp, 37)
19068 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19069 446690 : pack_tmp = ISHFT(pack_tmp, -23)
19070 446690 : idata = idata + 1
19071 446690 : data_tmp = full_data(idata)
19072 446690 : data_tmp = ISHFT(data_tmp, 37)
19073 446690 : data_tmp = IAND(data_tmp, mask_left(23))
19074 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19075 446690 : ipack = ipack + 1
19076 446690 : packed_data(ipack) = pack_tmp
19077 446690 : data_tmp = full_data(idata)
19078 446690 : pack_tmp = ISHFT(data_tmp, 60)
19079 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19080 446690 : idata = idata + 1
19081 446690 : data_tmp = full_data(idata)
19082 446690 : data_tmp = ISHFT(data_tmp, 37)
19083 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19084 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19085 446690 : idata = idata + 1
19086 446690 : data_tmp = full_data(idata)
19087 446690 : data_tmp = ISHFT(data_tmp, 37)
19088 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19089 446690 : pack_tmp = ISHFT(pack_tmp, -6)
19090 446690 : idata = idata + 1
19091 446690 : data_tmp = full_data(idata)
19092 446690 : data_tmp = ISHFT(data_tmp, 37)
19093 446690 : data_tmp = IAND(data_tmp, mask_left(6))
19094 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19095 446690 : ipack = ipack + 1
19096 446690 : packed_data(ipack) = pack_tmp
19097 446690 : data_tmp = full_data(idata)
19098 446690 : pack_tmp = ISHFT(data_tmp, 43)
19099 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19100 446690 : idata = idata + 1
19101 446690 : data_tmp = full_data(idata)
19102 446690 : data_tmp = ISHFT(data_tmp, 37)
19103 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19104 446690 : pack_tmp = ISHFT(pack_tmp, -16)
19105 446690 : idata = idata + 1
19106 446690 : data_tmp = full_data(idata)
19107 446690 : data_tmp = ISHFT(data_tmp, 37)
19108 446690 : data_tmp = IAND(data_tmp, mask_left(16))
19109 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19110 446690 : ipack = ipack + 1
19111 446690 : packed_data(ipack) = pack_tmp
19112 446690 : data_tmp = full_data(idata)
19113 446690 : pack_tmp = ISHFT(data_tmp, 53)
19114 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19115 446690 : idata = idata + 1
19116 446690 : data_tmp = full_data(idata)
19117 446690 : data_tmp = ISHFT(data_tmp, 37)
19118 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19119 446690 : pack_tmp = ISHFT(pack_tmp, -26)
19120 446690 : idata = idata + 1
19121 446690 : data_tmp = full_data(idata)
19122 446690 : data_tmp = ISHFT(data_tmp, 37)
19123 446690 : data_tmp = IAND(data_tmp, mask_left(26))
19124 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19125 446690 : ipack = ipack + 1
19126 446690 : packed_data(ipack) = pack_tmp
19127 446690 : data_tmp = full_data(idata)
19128 446690 : pack_tmp = ISHFT(data_tmp, 63)
19129 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19130 446690 : idata = idata + 1
19131 446690 : data_tmp = full_data(idata)
19132 446690 : data_tmp = ISHFT(data_tmp, 37)
19133 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19134 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19135 446690 : idata = idata + 1
19136 446690 : data_tmp = full_data(idata)
19137 446690 : data_tmp = ISHFT(data_tmp, 37)
19138 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19139 446690 : pack_tmp = ISHFT(pack_tmp, -9)
19140 446690 : idata = idata + 1
19141 446690 : data_tmp = full_data(idata)
19142 446690 : data_tmp = ISHFT(data_tmp, 37)
19143 446690 : data_tmp = IAND(data_tmp, mask_left(9))
19144 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19145 446690 : ipack = ipack + 1
19146 446690 : packed_data(ipack) = pack_tmp
19147 446690 : data_tmp = full_data(idata)
19148 446690 : pack_tmp = ISHFT(data_tmp, 46)
19149 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19150 446690 : idata = idata + 1
19151 446690 : data_tmp = full_data(idata)
19152 446690 : data_tmp = ISHFT(data_tmp, 37)
19153 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19154 446690 : pack_tmp = ISHFT(pack_tmp, -19)
19155 446690 : idata = idata + 1
19156 446690 : data_tmp = full_data(idata)
19157 446690 : data_tmp = ISHFT(data_tmp, 37)
19158 446690 : data_tmp = IAND(data_tmp, mask_left(19))
19159 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19160 446690 : ipack = ipack + 1
19161 446690 : packed_data(ipack) = pack_tmp
19162 446690 : data_tmp = full_data(idata)
19163 446690 : pack_tmp = ISHFT(data_tmp, 56)
19164 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19165 446690 : idata = idata + 1
19166 446690 : data_tmp = full_data(idata)
19167 446690 : data_tmp = ISHFT(data_tmp, 37)
19168 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19169 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19170 446690 : idata = idata + 1
19171 446690 : data_tmp = full_data(idata)
19172 446690 : data_tmp = ISHFT(data_tmp, 37)
19173 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19174 446690 : pack_tmp = ISHFT(pack_tmp, -2)
19175 446690 : idata = idata + 1
19176 446690 : data_tmp = full_data(idata)
19177 446690 : data_tmp = ISHFT(data_tmp, 37)
19178 446690 : data_tmp = IAND(data_tmp, mask_left(2))
19179 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19180 446690 : ipack = ipack + 1
19181 446690 : packed_data(ipack) = pack_tmp
19182 446690 : data_tmp = full_data(idata)
19183 446690 : pack_tmp = ISHFT(data_tmp, 39)
19184 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19185 446690 : idata = idata + 1
19186 446690 : data_tmp = full_data(idata)
19187 446690 : data_tmp = ISHFT(data_tmp, 37)
19188 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19189 446690 : pack_tmp = ISHFT(pack_tmp, -12)
19190 446690 : idata = idata + 1
19191 446690 : data_tmp = full_data(idata)
19192 446690 : data_tmp = ISHFT(data_tmp, 37)
19193 446690 : data_tmp = IAND(data_tmp, mask_left(12))
19194 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19195 446690 : ipack = ipack + 1
19196 446690 : packed_data(ipack) = pack_tmp
19197 446690 : data_tmp = full_data(idata)
19198 446690 : pack_tmp = ISHFT(data_tmp, 49)
19199 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19200 446690 : idata = idata + 1
19201 446690 : data_tmp = full_data(idata)
19202 446690 : data_tmp = ISHFT(data_tmp, 37)
19203 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19204 446690 : pack_tmp = ISHFT(pack_tmp, -22)
19205 446690 : idata = idata + 1
19206 446690 : data_tmp = full_data(idata)
19207 446690 : data_tmp = ISHFT(data_tmp, 37)
19208 446690 : data_tmp = IAND(data_tmp, mask_left(22))
19209 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19210 446690 : ipack = ipack + 1
19211 446690 : packed_data(ipack) = pack_tmp
19212 446690 : data_tmp = full_data(idata)
19213 446690 : pack_tmp = ISHFT(data_tmp, 59)
19214 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19215 446690 : idata = idata + 1
19216 446690 : data_tmp = full_data(idata)
19217 446690 : data_tmp = ISHFT(data_tmp, 37)
19218 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19219 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19220 446690 : idata = idata + 1
19221 446690 : data_tmp = full_data(idata)
19222 446690 : data_tmp = ISHFT(data_tmp, 37)
19223 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19224 446690 : pack_tmp = ISHFT(pack_tmp, -5)
19225 446690 : idata = idata + 1
19226 446690 : data_tmp = full_data(idata)
19227 446690 : data_tmp = ISHFT(data_tmp, 37)
19228 446690 : data_tmp = IAND(data_tmp, mask_left(5))
19229 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19230 446690 : ipack = ipack + 1
19231 446690 : packed_data(ipack) = pack_tmp
19232 446690 : data_tmp = full_data(idata)
19233 446690 : pack_tmp = ISHFT(data_tmp, 42)
19234 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19235 446690 : idata = idata + 1
19236 446690 : data_tmp = full_data(idata)
19237 446690 : data_tmp = ISHFT(data_tmp, 37)
19238 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19239 446690 : pack_tmp = ISHFT(pack_tmp, -15)
19240 446690 : idata = idata + 1
19241 446690 : data_tmp = full_data(idata)
19242 446690 : data_tmp = ISHFT(data_tmp, 37)
19243 446690 : data_tmp = IAND(data_tmp, mask_left(15))
19244 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19245 446690 : ipack = ipack + 1
19246 446690 : packed_data(ipack) = pack_tmp
19247 446690 : data_tmp = full_data(idata)
19248 446690 : pack_tmp = ISHFT(data_tmp, 52)
19249 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19250 446690 : idata = idata + 1
19251 446690 : data_tmp = full_data(idata)
19252 446690 : data_tmp = ISHFT(data_tmp, 37)
19253 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19254 446690 : pack_tmp = ISHFT(pack_tmp, -25)
19255 446690 : idata = idata + 1
19256 446690 : data_tmp = full_data(idata)
19257 446690 : data_tmp = ISHFT(data_tmp, 37)
19258 446690 : data_tmp = IAND(data_tmp, mask_left(25))
19259 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19260 446690 : ipack = ipack + 1
19261 446690 : packed_data(ipack) = pack_tmp
19262 446690 : data_tmp = full_data(idata)
19263 446690 : pack_tmp = ISHFT(data_tmp, 62)
19264 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19265 446690 : idata = idata + 1
19266 446690 : data_tmp = full_data(idata)
19267 446690 : data_tmp = ISHFT(data_tmp, 37)
19268 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19269 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19270 446690 : idata = idata + 1
19271 446690 : data_tmp = full_data(idata)
19272 446690 : data_tmp = ISHFT(data_tmp, 37)
19273 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19274 446690 : pack_tmp = ISHFT(pack_tmp, -8)
19275 446690 : idata = idata + 1
19276 446690 : data_tmp = full_data(idata)
19277 446690 : data_tmp = ISHFT(data_tmp, 37)
19278 446690 : data_tmp = IAND(data_tmp, mask_left(8))
19279 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19280 446690 : ipack = ipack + 1
19281 446690 : packed_data(ipack) = pack_tmp
19282 446690 : data_tmp = full_data(idata)
19283 446690 : pack_tmp = ISHFT(data_tmp, 45)
19284 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19285 446690 : idata = idata + 1
19286 446690 : data_tmp = full_data(idata)
19287 446690 : data_tmp = ISHFT(data_tmp, 37)
19288 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19289 446690 : pack_tmp = ISHFT(pack_tmp, -18)
19290 446690 : idata = idata + 1
19291 446690 : data_tmp = full_data(idata)
19292 446690 : data_tmp = ISHFT(data_tmp, 37)
19293 446690 : data_tmp = IAND(data_tmp, mask_left(18))
19294 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19295 446690 : ipack = ipack + 1
19296 446690 : packed_data(ipack) = pack_tmp
19297 446690 : data_tmp = full_data(idata)
19298 446690 : pack_tmp = ISHFT(data_tmp, 55)
19299 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19300 446690 : idata = idata + 1
19301 446690 : data_tmp = full_data(idata)
19302 446690 : data_tmp = ISHFT(data_tmp, 37)
19303 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19304 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19305 446690 : idata = idata + 1
19306 446690 : data_tmp = full_data(idata)
19307 446690 : data_tmp = ISHFT(data_tmp, 37)
19308 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19309 446690 : pack_tmp = ISHFT(pack_tmp, -1)
19310 446690 : idata = idata + 1
19311 446690 : data_tmp = full_data(idata)
19312 446690 : data_tmp = ISHFT(data_tmp, 37)
19313 446690 : data_tmp = IAND(data_tmp, mask_left(1))
19314 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19315 446690 : ipack = ipack + 1
19316 446690 : packed_data(ipack) = pack_tmp
19317 446690 : data_tmp = full_data(idata)
19318 446690 : pack_tmp = ISHFT(data_tmp, 38)
19319 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19320 446690 : idata = idata + 1
19321 446690 : data_tmp = full_data(idata)
19322 446690 : data_tmp = ISHFT(data_tmp, 37)
19323 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19324 446690 : pack_tmp = ISHFT(pack_tmp, -11)
19325 446690 : idata = idata + 1
19326 446690 : data_tmp = full_data(idata)
19327 446690 : data_tmp = ISHFT(data_tmp, 37)
19328 446690 : data_tmp = IAND(data_tmp, mask_left(11))
19329 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19330 446690 : ipack = ipack + 1
19331 446690 : packed_data(ipack) = pack_tmp
19332 446690 : data_tmp = full_data(idata)
19333 446690 : pack_tmp = ISHFT(data_tmp, 48)
19334 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19335 446690 : idata = idata + 1
19336 446690 : data_tmp = full_data(idata)
19337 446690 : data_tmp = ISHFT(data_tmp, 37)
19338 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19339 446690 : pack_tmp = ISHFT(pack_tmp, -21)
19340 446690 : idata = idata + 1
19341 446690 : data_tmp = full_data(idata)
19342 446690 : data_tmp = ISHFT(data_tmp, 37)
19343 446690 : data_tmp = IAND(data_tmp, mask_left(21))
19344 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19345 446690 : ipack = ipack + 1
19346 446690 : packed_data(ipack) = pack_tmp
19347 446690 : data_tmp = full_data(idata)
19348 446690 : pack_tmp = ISHFT(data_tmp, 58)
19349 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19350 446690 : idata = idata + 1
19351 446690 : data_tmp = full_data(idata)
19352 446690 : data_tmp = ISHFT(data_tmp, 37)
19353 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19354 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19355 446690 : idata = idata + 1
19356 446690 : data_tmp = full_data(idata)
19357 446690 : data_tmp = ISHFT(data_tmp, 37)
19358 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19359 446690 : pack_tmp = ISHFT(pack_tmp, -4)
19360 446690 : idata = idata + 1
19361 446690 : data_tmp = full_data(idata)
19362 446690 : data_tmp = ISHFT(data_tmp, 37)
19363 446690 : data_tmp = IAND(data_tmp, mask_left(4))
19364 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19365 446690 : ipack = ipack + 1
19366 446690 : packed_data(ipack) = pack_tmp
19367 446690 : data_tmp = full_data(idata)
19368 446690 : pack_tmp = ISHFT(data_tmp, 41)
19369 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19370 446690 : idata = idata + 1
19371 446690 : data_tmp = full_data(idata)
19372 446690 : data_tmp = ISHFT(data_tmp, 37)
19373 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19374 446690 : pack_tmp = ISHFT(pack_tmp, -14)
19375 446690 : idata = idata + 1
19376 446690 : data_tmp = full_data(idata)
19377 446690 : data_tmp = ISHFT(data_tmp, 37)
19378 446690 : data_tmp = IAND(data_tmp, mask_left(14))
19379 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19380 446690 : ipack = ipack + 1
19381 446690 : packed_data(ipack) = pack_tmp
19382 446690 : data_tmp = full_data(idata)
19383 446690 : pack_tmp = ISHFT(data_tmp, 51)
19384 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19385 446690 : idata = idata + 1
19386 446690 : data_tmp = full_data(idata)
19387 446690 : data_tmp = ISHFT(data_tmp, 37)
19388 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19389 446690 : pack_tmp = ISHFT(pack_tmp, -24)
19390 446690 : idata = idata + 1
19391 446690 : data_tmp = full_data(idata)
19392 446690 : data_tmp = ISHFT(data_tmp, 37)
19393 446690 : data_tmp = IAND(data_tmp, mask_left(24))
19394 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19395 446690 : ipack = ipack + 1
19396 446690 : packed_data(ipack) = pack_tmp
19397 446690 : data_tmp = full_data(idata)
19398 446690 : pack_tmp = ISHFT(data_tmp, 61)
19399 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19400 446690 : idata = idata + 1
19401 446690 : data_tmp = full_data(idata)
19402 446690 : data_tmp = ISHFT(data_tmp, 37)
19403 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19404 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19405 446690 : idata = idata + 1
19406 446690 : data_tmp = full_data(idata)
19407 446690 : data_tmp = ISHFT(data_tmp, 37)
19408 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19409 446690 : pack_tmp = ISHFT(pack_tmp, -7)
19410 446690 : idata = idata + 1
19411 446690 : data_tmp = full_data(idata)
19412 446690 : data_tmp = ISHFT(data_tmp, 37)
19413 446690 : data_tmp = IAND(data_tmp, mask_left(7))
19414 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19415 446690 : ipack = ipack + 1
19416 446690 : packed_data(ipack) = pack_tmp
19417 446690 : data_tmp = full_data(idata)
19418 446690 : pack_tmp = ISHFT(data_tmp, 44)
19419 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19420 446690 : idata = idata + 1
19421 446690 : data_tmp = full_data(idata)
19422 446690 : data_tmp = ISHFT(data_tmp, 37)
19423 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19424 446690 : pack_tmp = ISHFT(pack_tmp, -17)
19425 446690 : idata = idata + 1
19426 446690 : data_tmp = full_data(idata)
19427 446690 : data_tmp = ISHFT(data_tmp, 37)
19428 446690 : data_tmp = IAND(data_tmp, mask_left(17))
19429 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19430 446690 : ipack = ipack + 1
19431 446690 : packed_data(ipack) = pack_tmp
19432 446690 : data_tmp = full_data(idata)
19433 446690 : pack_tmp = ISHFT(data_tmp, 54)
19434 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19435 446690 : idata = idata + 1
19436 446690 : data_tmp = full_data(idata)
19437 446690 : data_tmp = ISHFT(data_tmp, 37)
19438 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19439 446690 : pack_tmp = ISHFT(pack_tmp, -27)
19440 446690 : idata = idata + 1
19441 446690 : data_tmp = full_data(idata)
19442 446690 : data_tmp = ISHFT(data_tmp, 37)
19443 446690 : pack_tmp = IOR(pack_tmp, data_tmp)
19444 : pack_tmp = ISHFT(pack_tmp, 0)
19445 446690 : pack_tmp = ISHFT(pack_tmp, 0)
19446 446690 : ipack = ipack + 1
19447 446773 : packed_data(ipack) = pack_tmp
19448 : END DO
19449 29599 : IF (Ndata_rep < Ndata) THEN
19450 3164 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19451 : END IF
19452 29599 : END SUBROUTINE ints2bits_27
19453 :
19454 : ! **************************************************************************************************
19455 : !> \brief ...
19456 : !> \param Ndata ...
19457 : !> \param packed_data ...
19458 : !> \param full_data ...
19459 : ! **************************************************************************************************
19460 133508 : 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 133508 : ipack = 0
19471 133508 : idata = 0
19472 133508 : pack_tmp = 0
19473 133508 : Ndata_rep = (Ndata/64)*64
19474 133508 : DO kdata = 1, Ndata_rep, 64
19475 1956047 : idata = idata + 1
19476 1956047 : data_tmp = ISHFT(pack_tmp, 27)
19477 1956047 : ipack = ipack + 1
19478 1956047 : pack_tmp = packed_data(ipack)
19479 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
19480 1956047 : pack_tmp = ISHFT(pack_tmp, -27)
19481 1956047 : idata = idata + 1
19482 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19483 1956047 : full_data(idata) = data_tmp
19484 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19485 1956047 : idata = idata + 1
19486 1956047 : data_tmp = ISHFT(pack_tmp, 17)
19487 1956047 : ipack = ipack + 1
19488 1956047 : pack_tmp = packed_data(ipack)
19489 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
19490 1956047 : pack_tmp = ISHFT(pack_tmp, -17)
19491 1956047 : idata = idata + 1
19492 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19493 1956047 : full_data(idata) = data_tmp
19494 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19495 1956047 : idata = idata + 1
19496 1956047 : data_tmp = ISHFT(pack_tmp, 7)
19497 1956047 : ipack = ipack + 1
19498 1956047 : pack_tmp = packed_data(ipack)
19499 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
19500 1956047 : pack_tmp = ISHFT(pack_tmp, -7)
19501 1956047 : idata = idata + 1
19502 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19503 1956047 : full_data(idata) = data_tmp
19504 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19505 1956047 : idata = idata + 1
19506 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19507 1956047 : full_data(idata) = data_tmp
19508 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19509 1956047 : idata = idata + 1
19510 1956047 : data_tmp = ISHFT(pack_tmp, 24)
19511 1956047 : ipack = ipack + 1
19512 1956047 : pack_tmp = packed_data(ipack)
19513 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
19514 1956047 : pack_tmp = ISHFT(pack_tmp, -24)
19515 1956047 : idata = idata + 1
19516 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19517 1956047 : full_data(idata) = data_tmp
19518 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19519 1956047 : idata = idata + 1
19520 1956047 : data_tmp = ISHFT(pack_tmp, 14)
19521 1956047 : ipack = ipack + 1
19522 1956047 : pack_tmp = packed_data(ipack)
19523 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
19524 1956047 : pack_tmp = ISHFT(pack_tmp, -14)
19525 1956047 : idata = idata + 1
19526 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19527 1956047 : full_data(idata) = data_tmp
19528 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19529 1956047 : idata = idata + 1
19530 1956047 : data_tmp = ISHFT(pack_tmp, 4)
19531 1956047 : ipack = ipack + 1
19532 1956047 : pack_tmp = packed_data(ipack)
19533 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
19534 1956047 : pack_tmp = ISHFT(pack_tmp, -4)
19535 1956047 : idata = idata + 1
19536 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19537 1956047 : full_data(idata) = data_tmp
19538 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19539 1956047 : idata = idata + 1
19540 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19541 1956047 : full_data(idata) = data_tmp
19542 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19543 1956047 : idata = idata + 1
19544 1956047 : data_tmp = ISHFT(pack_tmp, 21)
19545 1956047 : ipack = ipack + 1
19546 1956047 : pack_tmp = packed_data(ipack)
19547 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
19548 1956047 : pack_tmp = ISHFT(pack_tmp, -21)
19549 1956047 : idata = idata + 1
19550 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19551 1956047 : full_data(idata) = data_tmp
19552 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19553 1956047 : idata = idata + 1
19554 1956047 : data_tmp = ISHFT(pack_tmp, 11)
19555 1956047 : ipack = ipack + 1
19556 1956047 : pack_tmp = packed_data(ipack)
19557 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
19558 1956047 : pack_tmp = ISHFT(pack_tmp, -11)
19559 1956047 : idata = idata + 1
19560 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19561 1956047 : full_data(idata) = data_tmp
19562 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19563 1956047 : idata = idata + 1
19564 1956047 : data_tmp = ISHFT(pack_tmp, 1)
19565 1956047 : ipack = ipack + 1
19566 1956047 : pack_tmp = packed_data(ipack)
19567 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
19568 1956047 : pack_tmp = ISHFT(pack_tmp, -1)
19569 1956047 : idata = idata + 1
19570 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19571 1956047 : full_data(idata) = data_tmp
19572 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19573 1956047 : idata = idata + 1
19574 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19575 1956047 : full_data(idata) = data_tmp
19576 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19577 1956047 : idata = idata + 1
19578 1956047 : data_tmp = ISHFT(pack_tmp, 18)
19579 1956047 : ipack = ipack + 1
19580 1956047 : pack_tmp = packed_data(ipack)
19581 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
19582 1956047 : pack_tmp = ISHFT(pack_tmp, -18)
19583 1956047 : idata = idata + 1
19584 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19585 1956047 : full_data(idata) = data_tmp
19586 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19587 1956047 : idata = idata + 1
19588 1956047 : data_tmp = ISHFT(pack_tmp, 8)
19589 1956047 : ipack = ipack + 1
19590 1956047 : pack_tmp = packed_data(ipack)
19591 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
19592 1956047 : pack_tmp = ISHFT(pack_tmp, -8)
19593 1956047 : idata = idata + 1
19594 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19595 1956047 : full_data(idata) = data_tmp
19596 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19597 1956047 : idata = idata + 1
19598 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19599 1956047 : full_data(idata) = data_tmp
19600 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19601 1956047 : idata = idata + 1
19602 1956047 : data_tmp = ISHFT(pack_tmp, 25)
19603 1956047 : ipack = ipack + 1
19604 1956047 : pack_tmp = packed_data(ipack)
19605 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
19606 1956047 : pack_tmp = ISHFT(pack_tmp, -25)
19607 1956047 : idata = idata + 1
19608 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19609 1956047 : full_data(idata) = data_tmp
19610 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19611 1956047 : idata = idata + 1
19612 1956047 : data_tmp = ISHFT(pack_tmp, 15)
19613 1956047 : ipack = ipack + 1
19614 1956047 : pack_tmp = packed_data(ipack)
19615 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
19616 1956047 : pack_tmp = ISHFT(pack_tmp, -15)
19617 1956047 : idata = idata + 1
19618 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19619 1956047 : full_data(idata) = data_tmp
19620 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19621 1956047 : idata = idata + 1
19622 1956047 : data_tmp = ISHFT(pack_tmp, 5)
19623 1956047 : ipack = ipack + 1
19624 1956047 : pack_tmp = packed_data(ipack)
19625 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
19626 1956047 : pack_tmp = ISHFT(pack_tmp, -5)
19627 1956047 : idata = idata + 1
19628 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19629 1956047 : full_data(idata) = data_tmp
19630 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19631 1956047 : idata = idata + 1
19632 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19633 1956047 : full_data(idata) = data_tmp
19634 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19635 1956047 : idata = idata + 1
19636 1956047 : data_tmp = ISHFT(pack_tmp, 22)
19637 1956047 : ipack = ipack + 1
19638 1956047 : pack_tmp = packed_data(ipack)
19639 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
19640 1956047 : pack_tmp = ISHFT(pack_tmp, -22)
19641 1956047 : idata = idata + 1
19642 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19643 1956047 : full_data(idata) = data_tmp
19644 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19645 1956047 : idata = idata + 1
19646 1956047 : data_tmp = ISHFT(pack_tmp, 12)
19647 1956047 : ipack = ipack + 1
19648 1956047 : pack_tmp = packed_data(ipack)
19649 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
19650 1956047 : pack_tmp = ISHFT(pack_tmp, -12)
19651 1956047 : idata = idata + 1
19652 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19653 1956047 : full_data(idata) = data_tmp
19654 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19655 1956047 : idata = idata + 1
19656 1956047 : data_tmp = ISHFT(pack_tmp, 2)
19657 1956047 : ipack = ipack + 1
19658 1956047 : pack_tmp = packed_data(ipack)
19659 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
19660 1956047 : pack_tmp = ISHFT(pack_tmp, -2)
19661 1956047 : idata = idata + 1
19662 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19663 1956047 : full_data(idata) = data_tmp
19664 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19665 1956047 : idata = idata + 1
19666 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19667 1956047 : full_data(idata) = data_tmp
19668 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19669 1956047 : idata = idata + 1
19670 1956047 : data_tmp = ISHFT(pack_tmp, 19)
19671 1956047 : ipack = ipack + 1
19672 1956047 : pack_tmp = packed_data(ipack)
19673 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
19674 1956047 : pack_tmp = ISHFT(pack_tmp, -19)
19675 1956047 : idata = idata + 1
19676 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19677 1956047 : full_data(idata) = data_tmp
19678 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19679 1956047 : idata = idata + 1
19680 1956047 : data_tmp = ISHFT(pack_tmp, 9)
19681 1956047 : ipack = ipack + 1
19682 1956047 : pack_tmp = packed_data(ipack)
19683 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
19684 1956047 : pack_tmp = ISHFT(pack_tmp, -9)
19685 1956047 : idata = idata + 1
19686 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19687 1956047 : full_data(idata) = data_tmp
19688 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19689 1956047 : idata = idata + 1
19690 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19691 1956047 : full_data(idata) = data_tmp
19692 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19693 1956047 : idata = idata + 1
19694 1956047 : data_tmp = ISHFT(pack_tmp, 26)
19695 1956047 : ipack = ipack + 1
19696 1956047 : pack_tmp = packed_data(ipack)
19697 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
19698 1956047 : pack_tmp = ISHFT(pack_tmp, -26)
19699 1956047 : idata = idata + 1
19700 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19701 1956047 : full_data(idata) = data_tmp
19702 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19703 1956047 : idata = idata + 1
19704 1956047 : data_tmp = ISHFT(pack_tmp, 16)
19705 1956047 : ipack = ipack + 1
19706 1956047 : pack_tmp = packed_data(ipack)
19707 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
19708 1956047 : pack_tmp = ISHFT(pack_tmp, -16)
19709 1956047 : idata = idata + 1
19710 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19711 1956047 : full_data(idata) = data_tmp
19712 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19713 1956047 : idata = idata + 1
19714 1956047 : data_tmp = ISHFT(pack_tmp, 6)
19715 1956047 : ipack = ipack + 1
19716 1956047 : pack_tmp = packed_data(ipack)
19717 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
19718 1956047 : pack_tmp = ISHFT(pack_tmp, -6)
19719 1956047 : idata = idata + 1
19720 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19721 1956047 : full_data(idata) = data_tmp
19722 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19723 1956047 : idata = idata + 1
19724 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19725 1956047 : full_data(idata) = data_tmp
19726 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19727 1956047 : idata = idata + 1
19728 1956047 : data_tmp = ISHFT(pack_tmp, 23)
19729 1956047 : ipack = ipack + 1
19730 1956047 : pack_tmp = packed_data(ipack)
19731 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
19732 1956047 : pack_tmp = ISHFT(pack_tmp, -23)
19733 1956047 : idata = idata + 1
19734 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19735 1956047 : full_data(idata) = data_tmp
19736 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19737 1956047 : idata = idata + 1
19738 1956047 : data_tmp = ISHFT(pack_tmp, 13)
19739 1956047 : ipack = ipack + 1
19740 1956047 : pack_tmp = packed_data(ipack)
19741 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
19742 1956047 : pack_tmp = ISHFT(pack_tmp, -13)
19743 1956047 : idata = idata + 1
19744 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19745 1956047 : full_data(idata) = data_tmp
19746 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19747 1956047 : idata = idata + 1
19748 1956047 : data_tmp = ISHFT(pack_tmp, 3)
19749 1956047 : ipack = ipack + 1
19750 1956047 : pack_tmp = packed_data(ipack)
19751 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
19752 1956047 : pack_tmp = ISHFT(pack_tmp, -3)
19753 1956047 : idata = idata + 1
19754 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19755 1956047 : full_data(idata) = data_tmp
19756 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19757 1956047 : idata = idata + 1
19758 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19759 1956047 : full_data(idata) = data_tmp
19760 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19761 1956047 : idata = idata + 1
19762 1956047 : data_tmp = ISHFT(pack_tmp, 20)
19763 1956047 : ipack = ipack + 1
19764 1956047 : pack_tmp = packed_data(ipack)
19765 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
19766 1956047 : pack_tmp = ISHFT(pack_tmp, -20)
19767 1956047 : idata = idata + 1
19768 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19769 1956047 : full_data(idata) = data_tmp
19770 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19771 1956047 : idata = idata + 1
19772 1956047 : data_tmp = ISHFT(pack_tmp, 10)
19773 1956047 : ipack = ipack + 1
19774 1956047 : pack_tmp = packed_data(ipack)
19775 1956047 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
19776 1956047 : pack_tmp = ISHFT(pack_tmp, -10)
19777 1956047 : idata = idata + 1
19778 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19779 1956047 : full_data(idata) = data_tmp
19780 1956047 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19781 1956047 : idata = idata + 1
19782 1956047 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19783 1956047 : full_data(idata) = data_tmp
19784 1956641 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19785 : END DO
19786 133508 : IF (Ndata_rep < Ndata) THEN
19787 21186 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19788 : END IF
19789 133508 : END SUBROUTINE bits2ints_27
19790 :
19791 : ! **************************************************************************************************
19792 : !> \brief ...
19793 : !> \param Ndata ...
19794 : !> \param packed_data ...
19795 : !> \param full_data ...
19796 : ! **************************************************************************************************
19797 33859 : 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 33859 : idata = 0
19808 33859 : ipack = 0
19809 33859 : Ndata_rep = (Ndata/64)*64
19810 33859 : DO kdata = 1, Ndata_rep, 64
19811 489194 : pack_tmp = 0
19812 489194 : idata = idata + 1
19813 489194 : data_tmp = full_data(idata)
19814 489194 : data_tmp = ISHFT(data_tmp, 36)
19815 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19816 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19817 489194 : idata = idata + 1
19818 489194 : data_tmp = full_data(idata)
19819 489194 : data_tmp = ISHFT(data_tmp, 36)
19820 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19821 489194 : pack_tmp = ISHFT(pack_tmp, -8)
19822 489194 : idata = idata + 1
19823 489194 : data_tmp = full_data(idata)
19824 489194 : data_tmp = ISHFT(data_tmp, 36)
19825 489194 : data_tmp = IAND(data_tmp, mask_left(8))
19826 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19827 489194 : ipack = ipack + 1
19828 489194 : packed_data(ipack) = pack_tmp
19829 489194 : data_tmp = full_data(idata)
19830 489194 : pack_tmp = ISHFT(data_tmp, 44)
19831 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19832 489194 : idata = idata + 1
19833 489194 : data_tmp = full_data(idata)
19834 489194 : data_tmp = ISHFT(data_tmp, 36)
19835 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19836 489194 : pack_tmp = ISHFT(pack_tmp, -16)
19837 489194 : idata = idata + 1
19838 489194 : data_tmp = full_data(idata)
19839 489194 : data_tmp = ISHFT(data_tmp, 36)
19840 489194 : data_tmp = IAND(data_tmp, mask_left(16))
19841 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19842 489194 : ipack = ipack + 1
19843 489194 : packed_data(ipack) = pack_tmp
19844 489194 : data_tmp = full_data(idata)
19845 489194 : pack_tmp = ISHFT(data_tmp, 52)
19846 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19847 489194 : idata = idata + 1
19848 489194 : data_tmp = full_data(idata)
19849 489194 : data_tmp = ISHFT(data_tmp, 36)
19850 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19851 489194 : pack_tmp = ISHFT(pack_tmp, -24)
19852 489194 : idata = idata + 1
19853 489194 : data_tmp = full_data(idata)
19854 489194 : data_tmp = ISHFT(data_tmp, 36)
19855 489194 : data_tmp = IAND(data_tmp, mask_left(24))
19856 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19857 489194 : ipack = ipack + 1
19858 489194 : packed_data(ipack) = pack_tmp
19859 489194 : data_tmp = full_data(idata)
19860 489194 : pack_tmp = ISHFT(data_tmp, 60)
19861 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19862 489194 : idata = idata + 1
19863 489194 : data_tmp = full_data(idata)
19864 489194 : data_tmp = ISHFT(data_tmp, 36)
19865 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19866 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19867 489194 : idata = idata + 1
19868 489194 : data_tmp = full_data(idata)
19869 489194 : data_tmp = ISHFT(data_tmp, 36)
19870 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19871 489194 : pack_tmp = ISHFT(pack_tmp, -4)
19872 489194 : idata = idata + 1
19873 489194 : data_tmp = full_data(idata)
19874 489194 : data_tmp = ISHFT(data_tmp, 36)
19875 489194 : data_tmp = IAND(data_tmp, mask_left(4))
19876 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19877 489194 : ipack = ipack + 1
19878 489194 : packed_data(ipack) = pack_tmp
19879 489194 : data_tmp = full_data(idata)
19880 489194 : pack_tmp = ISHFT(data_tmp, 40)
19881 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19882 489194 : idata = idata + 1
19883 489194 : data_tmp = full_data(idata)
19884 489194 : data_tmp = ISHFT(data_tmp, 36)
19885 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19886 489194 : pack_tmp = ISHFT(pack_tmp, -12)
19887 489194 : idata = idata + 1
19888 489194 : data_tmp = full_data(idata)
19889 489194 : data_tmp = ISHFT(data_tmp, 36)
19890 489194 : data_tmp = IAND(data_tmp, mask_left(12))
19891 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19892 489194 : ipack = ipack + 1
19893 489194 : packed_data(ipack) = pack_tmp
19894 489194 : data_tmp = full_data(idata)
19895 489194 : pack_tmp = ISHFT(data_tmp, 48)
19896 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19897 489194 : idata = idata + 1
19898 489194 : data_tmp = full_data(idata)
19899 489194 : data_tmp = ISHFT(data_tmp, 36)
19900 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19901 489194 : pack_tmp = ISHFT(pack_tmp, -20)
19902 489194 : idata = idata + 1
19903 489194 : data_tmp = full_data(idata)
19904 489194 : data_tmp = ISHFT(data_tmp, 36)
19905 489194 : data_tmp = IAND(data_tmp, mask_left(20))
19906 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19907 489194 : ipack = ipack + 1
19908 489194 : packed_data(ipack) = pack_tmp
19909 489194 : data_tmp = full_data(idata)
19910 489194 : pack_tmp = ISHFT(data_tmp, 56)
19911 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19912 489194 : idata = idata + 1
19913 489194 : data_tmp = full_data(idata)
19914 489194 : data_tmp = ISHFT(data_tmp, 36)
19915 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19916 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19917 489194 : idata = idata + 1
19918 489194 : data_tmp = full_data(idata)
19919 489194 : data_tmp = ISHFT(data_tmp, 36)
19920 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19921 489194 : pack_tmp = ISHFT(pack_tmp, 0)
19922 489194 : idata = idata + 1
19923 489194 : data_tmp = full_data(idata)
19924 : data_tmp = ISHFT(data_tmp, 36)
19925 489194 : data_tmp = IAND(data_tmp, mask_left(0))
19926 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19927 489194 : ipack = ipack + 1
19928 489194 : packed_data(ipack) = pack_tmp
19929 489194 : data_tmp = full_data(idata)
19930 489194 : pack_tmp = ISHFT(data_tmp, 36)
19931 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19932 489194 : idata = idata + 1
19933 489194 : data_tmp = full_data(idata)
19934 489194 : data_tmp = ISHFT(data_tmp, 36)
19935 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19936 489194 : pack_tmp = ISHFT(pack_tmp, -8)
19937 489194 : idata = idata + 1
19938 489194 : data_tmp = full_data(idata)
19939 489194 : data_tmp = ISHFT(data_tmp, 36)
19940 489194 : data_tmp = IAND(data_tmp, mask_left(8))
19941 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19942 489194 : ipack = ipack + 1
19943 489194 : packed_data(ipack) = pack_tmp
19944 489194 : data_tmp = full_data(idata)
19945 489194 : pack_tmp = ISHFT(data_tmp, 44)
19946 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19947 489194 : idata = idata + 1
19948 489194 : data_tmp = full_data(idata)
19949 489194 : data_tmp = ISHFT(data_tmp, 36)
19950 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19951 489194 : pack_tmp = ISHFT(pack_tmp, -16)
19952 489194 : idata = idata + 1
19953 489194 : data_tmp = full_data(idata)
19954 489194 : data_tmp = ISHFT(data_tmp, 36)
19955 489194 : data_tmp = IAND(data_tmp, mask_left(16))
19956 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19957 489194 : ipack = ipack + 1
19958 489194 : packed_data(ipack) = pack_tmp
19959 489194 : data_tmp = full_data(idata)
19960 489194 : pack_tmp = ISHFT(data_tmp, 52)
19961 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19962 489194 : idata = idata + 1
19963 489194 : data_tmp = full_data(idata)
19964 489194 : data_tmp = ISHFT(data_tmp, 36)
19965 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19966 489194 : pack_tmp = ISHFT(pack_tmp, -24)
19967 489194 : idata = idata + 1
19968 489194 : data_tmp = full_data(idata)
19969 489194 : data_tmp = ISHFT(data_tmp, 36)
19970 489194 : data_tmp = IAND(data_tmp, mask_left(24))
19971 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19972 489194 : ipack = ipack + 1
19973 489194 : packed_data(ipack) = pack_tmp
19974 489194 : data_tmp = full_data(idata)
19975 489194 : pack_tmp = ISHFT(data_tmp, 60)
19976 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19977 489194 : idata = idata + 1
19978 489194 : data_tmp = full_data(idata)
19979 489194 : data_tmp = ISHFT(data_tmp, 36)
19980 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19981 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19982 489194 : idata = idata + 1
19983 489194 : data_tmp = full_data(idata)
19984 489194 : data_tmp = ISHFT(data_tmp, 36)
19985 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19986 489194 : pack_tmp = ISHFT(pack_tmp, -4)
19987 489194 : idata = idata + 1
19988 489194 : data_tmp = full_data(idata)
19989 489194 : data_tmp = ISHFT(data_tmp, 36)
19990 489194 : data_tmp = IAND(data_tmp, mask_left(4))
19991 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
19992 489194 : ipack = ipack + 1
19993 489194 : packed_data(ipack) = pack_tmp
19994 489194 : data_tmp = full_data(idata)
19995 489194 : pack_tmp = ISHFT(data_tmp, 40)
19996 489194 : pack_tmp = ISHFT(pack_tmp, -28)
19997 489194 : idata = idata + 1
19998 489194 : data_tmp = full_data(idata)
19999 489194 : data_tmp = ISHFT(data_tmp, 36)
20000 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20001 489194 : pack_tmp = ISHFT(pack_tmp, -12)
20002 489194 : idata = idata + 1
20003 489194 : data_tmp = full_data(idata)
20004 489194 : data_tmp = ISHFT(data_tmp, 36)
20005 489194 : data_tmp = IAND(data_tmp, mask_left(12))
20006 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20007 489194 : ipack = ipack + 1
20008 489194 : packed_data(ipack) = pack_tmp
20009 489194 : data_tmp = full_data(idata)
20010 489194 : pack_tmp = ISHFT(data_tmp, 48)
20011 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20012 489194 : idata = idata + 1
20013 489194 : data_tmp = full_data(idata)
20014 489194 : data_tmp = ISHFT(data_tmp, 36)
20015 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20016 489194 : pack_tmp = ISHFT(pack_tmp, -20)
20017 489194 : idata = idata + 1
20018 489194 : data_tmp = full_data(idata)
20019 489194 : data_tmp = ISHFT(data_tmp, 36)
20020 489194 : data_tmp = IAND(data_tmp, mask_left(20))
20021 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20022 489194 : ipack = ipack + 1
20023 489194 : packed_data(ipack) = pack_tmp
20024 489194 : data_tmp = full_data(idata)
20025 489194 : pack_tmp = ISHFT(data_tmp, 56)
20026 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20027 489194 : idata = idata + 1
20028 489194 : data_tmp = full_data(idata)
20029 489194 : data_tmp = ISHFT(data_tmp, 36)
20030 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20031 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20032 489194 : idata = idata + 1
20033 489194 : data_tmp = full_data(idata)
20034 489194 : data_tmp = ISHFT(data_tmp, 36)
20035 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20036 489194 : pack_tmp = ISHFT(pack_tmp, 0)
20037 489194 : idata = idata + 1
20038 489194 : data_tmp = full_data(idata)
20039 : data_tmp = ISHFT(data_tmp, 36)
20040 489194 : data_tmp = IAND(data_tmp, mask_left(0))
20041 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20042 489194 : ipack = ipack + 1
20043 489194 : packed_data(ipack) = pack_tmp
20044 489194 : data_tmp = full_data(idata)
20045 489194 : pack_tmp = ISHFT(data_tmp, 36)
20046 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20047 489194 : idata = idata + 1
20048 489194 : data_tmp = full_data(idata)
20049 489194 : data_tmp = ISHFT(data_tmp, 36)
20050 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20051 489194 : pack_tmp = ISHFT(pack_tmp, -8)
20052 489194 : idata = idata + 1
20053 489194 : data_tmp = full_data(idata)
20054 489194 : data_tmp = ISHFT(data_tmp, 36)
20055 489194 : data_tmp = IAND(data_tmp, mask_left(8))
20056 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20057 489194 : ipack = ipack + 1
20058 489194 : packed_data(ipack) = pack_tmp
20059 489194 : data_tmp = full_data(idata)
20060 489194 : pack_tmp = ISHFT(data_tmp, 44)
20061 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20062 489194 : idata = idata + 1
20063 489194 : data_tmp = full_data(idata)
20064 489194 : data_tmp = ISHFT(data_tmp, 36)
20065 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20066 489194 : pack_tmp = ISHFT(pack_tmp, -16)
20067 489194 : idata = idata + 1
20068 489194 : data_tmp = full_data(idata)
20069 489194 : data_tmp = ISHFT(data_tmp, 36)
20070 489194 : data_tmp = IAND(data_tmp, mask_left(16))
20071 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20072 489194 : ipack = ipack + 1
20073 489194 : packed_data(ipack) = pack_tmp
20074 489194 : data_tmp = full_data(idata)
20075 489194 : pack_tmp = ISHFT(data_tmp, 52)
20076 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20077 489194 : idata = idata + 1
20078 489194 : data_tmp = full_data(idata)
20079 489194 : data_tmp = ISHFT(data_tmp, 36)
20080 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20081 489194 : pack_tmp = ISHFT(pack_tmp, -24)
20082 489194 : idata = idata + 1
20083 489194 : data_tmp = full_data(idata)
20084 489194 : data_tmp = ISHFT(data_tmp, 36)
20085 489194 : data_tmp = IAND(data_tmp, mask_left(24))
20086 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20087 489194 : ipack = ipack + 1
20088 489194 : packed_data(ipack) = pack_tmp
20089 489194 : data_tmp = full_data(idata)
20090 489194 : pack_tmp = ISHFT(data_tmp, 60)
20091 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20092 489194 : idata = idata + 1
20093 489194 : data_tmp = full_data(idata)
20094 489194 : data_tmp = ISHFT(data_tmp, 36)
20095 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20096 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20097 489194 : idata = idata + 1
20098 489194 : data_tmp = full_data(idata)
20099 489194 : data_tmp = ISHFT(data_tmp, 36)
20100 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20101 489194 : pack_tmp = ISHFT(pack_tmp, -4)
20102 489194 : idata = idata + 1
20103 489194 : data_tmp = full_data(idata)
20104 489194 : data_tmp = ISHFT(data_tmp, 36)
20105 489194 : data_tmp = IAND(data_tmp, mask_left(4))
20106 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20107 489194 : ipack = ipack + 1
20108 489194 : packed_data(ipack) = pack_tmp
20109 489194 : data_tmp = full_data(idata)
20110 489194 : pack_tmp = ISHFT(data_tmp, 40)
20111 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20112 489194 : idata = idata + 1
20113 489194 : data_tmp = full_data(idata)
20114 489194 : data_tmp = ISHFT(data_tmp, 36)
20115 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20116 489194 : pack_tmp = ISHFT(pack_tmp, -12)
20117 489194 : idata = idata + 1
20118 489194 : data_tmp = full_data(idata)
20119 489194 : data_tmp = ISHFT(data_tmp, 36)
20120 489194 : data_tmp = IAND(data_tmp, mask_left(12))
20121 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20122 489194 : ipack = ipack + 1
20123 489194 : packed_data(ipack) = pack_tmp
20124 489194 : data_tmp = full_data(idata)
20125 489194 : pack_tmp = ISHFT(data_tmp, 48)
20126 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20127 489194 : idata = idata + 1
20128 489194 : data_tmp = full_data(idata)
20129 489194 : data_tmp = ISHFT(data_tmp, 36)
20130 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20131 489194 : pack_tmp = ISHFT(pack_tmp, -20)
20132 489194 : idata = idata + 1
20133 489194 : data_tmp = full_data(idata)
20134 489194 : data_tmp = ISHFT(data_tmp, 36)
20135 489194 : data_tmp = IAND(data_tmp, mask_left(20))
20136 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20137 489194 : ipack = ipack + 1
20138 489194 : packed_data(ipack) = pack_tmp
20139 489194 : data_tmp = full_data(idata)
20140 489194 : pack_tmp = ISHFT(data_tmp, 56)
20141 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20142 489194 : idata = idata + 1
20143 489194 : data_tmp = full_data(idata)
20144 489194 : data_tmp = ISHFT(data_tmp, 36)
20145 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20146 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20147 489194 : idata = idata + 1
20148 489194 : data_tmp = full_data(idata)
20149 489194 : data_tmp = ISHFT(data_tmp, 36)
20150 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20151 489194 : pack_tmp = ISHFT(pack_tmp, 0)
20152 489194 : idata = idata + 1
20153 489194 : data_tmp = full_data(idata)
20154 : data_tmp = ISHFT(data_tmp, 36)
20155 489194 : data_tmp = IAND(data_tmp, mask_left(0))
20156 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20157 489194 : ipack = ipack + 1
20158 489194 : packed_data(ipack) = pack_tmp
20159 489194 : data_tmp = full_data(idata)
20160 489194 : pack_tmp = ISHFT(data_tmp, 36)
20161 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20162 489194 : idata = idata + 1
20163 489194 : data_tmp = full_data(idata)
20164 489194 : data_tmp = ISHFT(data_tmp, 36)
20165 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20166 489194 : pack_tmp = ISHFT(pack_tmp, -8)
20167 489194 : idata = idata + 1
20168 489194 : data_tmp = full_data(idata)
20169 489194 : data_tmp = ISHFT(data_tmp, 36)
20170 489194 : data_tmp = IAND(data_tmp, mask_left(8))
20171 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20172 489194 : ipack = ipack + 1
20173 489194 : packed_data(ipack) = pack_tmp
20174 489194 : data_tmp = full_data(idata)
20175 489194 : pack_tmp = ISHFT(data_tmp, 44)
20176 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20177 489194 : idata = idata + 1
20178 489194 : data_tmp = full_data(idata)
20179 489194 : data_tmp = ISHFT(data_tmp, 36)
20180 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20181 489194 : pack_tmp = ISHFT(pack_tmp, -16)
20182 489194 : idata = idata + 1
20183 489194 : data_tmp = full_data(idata)
20184 489194 : data_tmp = ISHFT(data_tmp, 36)
20185 489194 : data_tmp = IAND(data_tmp, mask_left(16))
20186 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20187 489194 : ipack = ipack + 1
20188 489194 : packed_data(ipack) = pack_tmp
20189 489194 : data_tmp = full_data(idata)
20190 489194 : pack_tmp = ISHFT(data_tmp, 52)
20191 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20192 489194 : idata = idata + 1
20193 489194 : data_tmp = full_data(idata)
20194 489194 : data_tmp = ISHFT(data_tmp, 36)
20195 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20196 489194 : pack_tmp = ISHFT(pack_tmp, -24)
20197 489194 : idata = idata + 1
20198 489194 : data_tmp = full_data(idata)
20199 489194 : data_tmp = ISHFT(data_tmp, 36)
20200 489194 : data_tmp = IAND(data_tmp, mask_left(24))
20201 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20202 489194 : ipack = ipack + 1
20203 489194 : packed_data(ipack) = pack_tmp
20204 489194 : data_tmp = full_data(idata)
20205 489194 : pack_tmp = ISHFT(data_tmp, 60)
20206 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20207 489194 : idata = idata + 1
20208 489194 : data_tmp = full_data(idata)
20209 489194 : data_tmp = ISHFT(data_tmp, 36)
20210 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20211 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20212 489194 : idata = idata + 1
20213 489194 : data_tmp = full_data(idata)
20214 489194 : data_tmp = ISHFT(data_tmp, 36)
20215 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20216 489194 : pack_tmp = ISHFT(pack_tmp, -4)
20217 489194 : idata = idata + 1
20218 489194 : data_tmp = full_data(idata)
20219 489194 : data_tmp = ISHFT(data_tmp, 36)
20220 489194 : data_tmp = IAND(data_tmp, mask_left(4))
20221 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20222 489194 : ipack = ipack + 1
20223 489194 : packed_data(ipack) = pack_tmp
20224 489194 : data_tmp = full_data(idata)
20225 489194 : pack_tmp = ISHFT(data_tmp, 40)
20226 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20227 489194 : idata = idata + 1
20228 489194 : data_tmp = full_data(idata)
20229 489194 : data_tmp = ISHFT(data_tmp, 36)
20230 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20231 489194 : pack_tmp = ISHFT(pack_tmp, -12)
20232 489194 : idata = idata + 1
20233 489194 : data_tmp = full_data(idata)
20234 489194 : data_tmp = ISHFT(data_tmp, 36)
20235 489194 : data_tmp = IAND(data_tmp, mask_left(12))
20236 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20237 489194 : ipack = ipack + 1
20238 489194 : packed_data(ipack) = pack_tmp
20239 489194 : data_tmp = full_data(idata)
20240 489194 : pack_tmp = ISHFT(data_tmp, 48)
20241 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20242 489194 : idata = idata + 1
20243 489194 : data_tmp = full_data(idata)
20244 489194 : data_tmp = ISHFT(data_tmp, 36)
20245 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20246 489194 : pack_tmp = ISHFT(pack_tmp, -20)
20247 489194 : idata = idata + 1
20248 489194 : data_tmp = full_data(idata)
20249 489194 : data_tmp = ISHFT(data_tmp, 36)
20250 489194 : data_tmp = IAND(data_tmp, mask_left(20))
20251 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20252 489194 : ipack = ipack + 1
20253 489194 : packed_data(ipack) = pack_tmp
20254 489194 : data_tmp = full_data(idata)
20255 489194 : pack_tmp = ISHFT(data_tmp, 56)
20256 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20257 489194 : idata = idata + 1
20258 489194 : data_tmp = full_data(idata)
20259 489194 : data_tmp = ISHFT(data_tmp, 36)
20260 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20261 489194 : pack_tmp = ISHFT(pack_tmp, -28)
20262 489194 : idata = idata + 1
20263 489194 : data_tmp = full_data(idata)
20264 489194 : data_tmp = ISHFT(data_tmp, 36)
20265 489194 : pack_tmp = IOR(pack_tmp, data_tmp)
20266 : pack_tmp = ISHFT(pack_tmp, 0)
20267 489194 : pack_tmp = ISHFT(pack_tmp, 0)
20268 489194 : ipack = ipack + 1
20269 489302 : packed_data(ipack) = pack_tmp
20270 : END DO
20271 33859 : IF (Ndata_rep < Ndata) THEN
20272 6156 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
20273 : END IF
20274 33859 : END SUBROUTINE ints2bits_28
20275 :
20276 : ! **************************************************************************************************
20277 : !> \brief ...
20278 : !> \param Ndata ...
20279 : !> \param packed_data ...
20280 : !> \param full_data ...
20281 : ! **************************************************************************************************
20282 156675 : 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 156675 : ipack = 0
20293 156675 : idata = 0
20294 156675 : pack_tmp = 0
20295 156675 : Ndata_rep = (Ndata/64)*64
20296 156675 : DO kdata = 1, Ndata_rep, 64
20297 2199268 : idata = idata + 1
20298 2199268 : data_tmp = ISHFT(pack_tmp, 28)
20299 2199268 : ipack = ipack + 1
20300 2199268 : pack_tmp = packed_data(ipack)
20301 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20302 2199268 : pack_tmp = ISHFT(pack_tmp, -28)
20303 2199268 : idata = idata + 1
20304 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20305 2199268 : full_data(idata) = data_tmp
20306 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20307 2199268 : idata = idata + 1
20308 2199268 : data_tmp = ISHFT(pack_tmp, 20)
20309 2199268 : ipack = ipack + 1
20310 2199268 : pack_tmp = packed_data(ipack)
20311 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20312 2199268 : pack_tmp = ISHFT(pack_tmp, -20)
20313 2199268 : idata = idata + 1
20314 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20315 2199268 : full_data(idata) = data_tmp
20316 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20317 2199268 : idata = idata + 1
20318 2199268 : data_tmp = ISHFT(pack_tmp, 12)
20319 2199268 : ipack = ipack + 1
20320 2199268 : pack_tmp = packed_data(ipack)
20321 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20322 2199268 : pack_tmp = ISHFT(pack_tmp, -12)
20323 2199268 : idata = idata + 1
20324 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20325 2199268 : full_data(idata) = data_tmp
20326 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20327 2199268 : idata = idata + 1
20328 2199268 : data_tmp = ISHFT(pack_tmp, 4)
20329 2199268 : ipack = ipack + 1
20330 2199268 : pack_tmp = packed_data(ipack)
20331 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20332 2199268 : pack_tmp = ISHFT(pack_tmp, -4)
20333 2199268 : idata = idata + 1
20334 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20335 2199268 : full_data(idata) = data_tmp
20336 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20337 2199268 : idata = idata + 1
20338 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20339 2199268 : full_data(idata) = data_tmp
20340 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20341 2199268 : idata = idata + 1
20342 2199268 : data_tmp = ISHFT(pack_tmp, 24)
20343 2199268 : ipack = ipack + 1
20344 2199268 : pack_tmp = packed_data(ipack)
20345 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20346 2199268 : pack_tmp = ISHFT(pack_tmp, -24)
20347 2199268 : idata = idata + 1
20348 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20349 2199268 : full_data(idata) = data_tmp
20350 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20351 2199268 : idata = idata + 1
20352 2199268 : data_tmp = ISHFT(pack_tmp, 16)
20353 2199268 : ipack = ipack + 1
20354 2199268 : pack_tmp = packed_data(ipack)
20355 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20356 2199268 : pack_tmp = ISHFT(pack_tmp, -16)
20357 2199268 : idata = idata + 1
20358 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20359 2199268 : full_data(idata) = data_tmp
20360 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20361 2199268 : idata = idata + 1
20362 2199268 : data_tmp = ISHFT(pack_tmp, 8)
20363 2199268 : ipack = ipack + 1
20364 2199268 : pack_tmp = packed_data(ipack)
20365 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20366 2199268 : pack_tmp = ISHFT(pack_tmp, -8)
20367 2199268 : idata = idata + 1
20368 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20369 2199268 : full_data(idata) = data_tmp
20370 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20371 2199268 : idata = idata + 1
20372 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20373 2199268 : full_data(idata) = data_tmp
20374 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20375 2199268 : idata = idata + 1
20376 2199268 : data_tmp = ISHFT(pack_tmp, 28)
20377 2199268 : ipack = ipack + 1
20378 2199268 : pack_tmp = packed_data(ipack)
20379 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20380 2199268 : pack_tmp = ISHFT(pack_tmp, -28)
20381 2199268 : idata = idata + 1
20382 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20383 2199268 : full_data(idata) = data_tmp
20384 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20385 2199268 : idata = idata + 1
20386 2199268 : data_tmp = ISHFT(pack_tmp, 20)
20387 2199268 : ipack = ipack + 1
20388 2199268 : pack_tmp = packed_data(ipack)
20389 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20390 2199268 : pack_tmp = ISHFT(pack_tmp, -20)
20391 2199268 : idata = idata + 1
20392 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20393 2199268 : full_data(idata) = data_tmp
20394 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20395 2199268 : idata = idata + 1
20396 2199268 : data_tmp = ISHFT(pack_tmp, 12)
20397 2199268 : ipack = ipack + 1
20398 2199268 : pack_tmp = packed_data(ipack)
20399 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20400 2199268 : pack_tmp = ISHFT(pack_tmp, -12)
20401 2199268 : idata = idata + 1
20402 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20403 2199268 : full_data(idata) = data_tmp
20404 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20405 2199268 : idata = idata + 1
20406 2199268 : data_tmp = ISHFT(pack_tmp, 4)
20407 2199268 : ipack = ipack + 1
20408 2199268 : pack_tmp = packed_data(ipack)
20409 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20410 2199268 : pack_tmp = ISHFT(pack_tmp, -4)
20411 2199268 : idata = idata + 1
20412 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20413 2199268 : full_data(idata) = data_tmp
20414 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20415 2199268 : idata = idata + 1
20416 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20417 2199268 : full_data(idata) = data_tmp
20418 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20419 2199268 : idata = idata + 1
20420 2199268 : data_tmp = ISHFT(pack_tmp, 24)
20421 2199268 : ipack = ipack + 1
20422 2199268 : pack_tmp = packed_data(ipack)
20423 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20424 2199268 : pack_tmp = ISHFT(pack_tmp, -24)
20425 2199268 : idata = idata + 1
20426 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20427 2199268 : full_data(idata) = data_tmp
20428 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20429 2199268 : idata = idata + 1
20430 2199268 : data_tmp = ISHFT(pack_tmp, 16)
20431 2199268 : ipack = ipack + 1
20432 2199268 : pack_tmp = packed_data(ipack)
20433 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20434 2199268 : pack_tmp = ISHFT(pack_tmp, -16)
20435 2199268 : idata = idata + 1
20436 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20437 2199268 : full_data(idata) = data_tmp
20438 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20439 2199268 : idata = idata + 1
20440 2199268 : data_tmp = ISHFT(pack_tmp, 8)
20441 2199268 : ipack = ipack + 1
20442 2199268 : pack_tmp = packed_data(ipack)
20443 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20444 2199268 : pack_tmp = ISHFT(pack_tmp, -8)
20445 2199268 : idata = idata + 1
20446 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20447 2199268 : full_data(idata) = data_tmp
20448 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20449 2199268 : idata = idata + 1
20450 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20451 2199268 : full_data(idata) = data_tmp
20452 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20453 2199268 : idata = idata + 1
20454 2199268 : data_tmp = ISHFT(pack_tmp, 28)
20455 2199268 : ipack = ipack + 1
20456 2199268 : pack_tmp = packed_data(ipack)
20457 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20458 2199268 : pack_tmp = ISHFT(pack_tmp, -28)
20459 2199268 : idata = idata + 1
20460 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20461 2199268 : full_data(idata) = data_tmp
20462 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20463 2199268 : idata = idata + 1
20464 2199268 : data_tmp = ISHFT(pack_tmp, 20)
20465 2199268 : ipack = ipack + 1
20466 2199268 : pack_tmp = packed_data(ipack)
20467 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20468 2199268 : pack_tmp = ISHFT(pack_tmp, -20)
20469 2199268 : idata = idata + 1
20470 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20471 2199268 : full_data(idata) = data_tmp
20472 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20473 2199268 : idata = idata + 1
20474 2199268 : data_tmp = ISHFT(pack_tmp, 12)
20475 2199268 : ipack = ipack + 1
20476 2199268 : pack_tmp = packed_data(ipack)
20477 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20478 2199268 : pack_tmp = ISHFT(pack_tmp, -12)
20479 2199268 : idata = idata + 1
20480 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20481 2199268 : full_data(idata) = data_tmp
20482 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20483 2199268 : idata = idata + 1
20484 2199268 : data_tmp = ISHFT(pack_tmp, 4)
20485 2199268 : ipack = ipack + 1
20486 2199268 : pack_tmp = packed_data(ipack)
20487 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20488 2199268 : pack_tmp = ISHFT(pack_tmp, -4)
20489 2199268 : idata = idata + 1
20490 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20491 2199268 : full_data(idata) = data_tmp
20492 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20493 2199268 : idata = idata + 1
20494 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20495 2199268 : full_data(idata) = data_tmp
20496 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20497 2199268 : idata = idata + 1
20498 2199268 : data_tmp = ISHFT(pack_tmp, 24)
20499 2199268 : ipack = ipack + 1
20500 2199268 : pack_tmp = packed_data(ipack)
20501 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20502 2199268 : pack_tmp = ISHFT(pack_tmp, -24)
20503 2199268 : idata = idata + 1
20504 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20505 2199268 : full_data(idata) = data_tmp
20506 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20507 2199268 : idata = idata + 1
20508 2199268 : data_tmp = ISHFT(pack_tmp, 16)
20509 2199268 : ipack = ipack + 1
20510 2199268 : pack_tmp = packed_data(ipack)
20511 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20512 2199268 : pack_tmp = ISHFT(pack_tmp, -16)
20513 2199268 : idata = idata + 1
20514 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20515 2199268 : full_data(idata) = data_tmp
20516 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20517 2199268 : idata = idata + 1
20518 2199268 : data_tmp = ISHFT(pack_tmp, 8)
20519 2199268 : ipack = ipack + 1
20520 2199268 : pack_tmp = packed_data(ipack)
20521 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20522 2199268 : pack_tmp = ISHFT(pack_tmp, -8)
20523 2199268 : idata = idata + 1
20524 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20525 2199268 : full_data(idata) = data_tmp
20526 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20527 2199268 : idata = idata + 1
20528 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20529 2199268 : full_data(idata) = data_tmp
20530 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20531 2199268 : idata = idata + 1
20532 2199268 : data_tmp = ISHFT(pack_tmp, 28)
20533 2199268 : ipack = ipack + 1
20534 2199268 : pack_tmp = packed_data(ipack)
20535 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20536 2199268 : pack_tmp = ISHFT(pack_tmp, -28)
20537 2199268 : idata = idata + 1
20538 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20539 2199268 : full_data(idata) = data_tmp
20540 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20541 2199268 : idata = idata + 1
20542 2199268 : data_tmp = ISHFT(pack_tmp, 20)
20543 2199268 : ipack = ipack + 1
20544 2199268 : pack_tmp = packed_data(ipack)
20545 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20546 2199268 : pack_tmp = ISHFT(pack_tmp, -20)
20547 2199268 : idata = idata + 1
20548 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20549 2199268 : full_data(idata) = data_tmp
20550 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20551 2199268 : idata = idata + 1
20552 2199268 : data_tmp = ISHFT(pack_tmp, 12)
20553 2199268 : ipack = ipack + 1
20554 2199268 : pack_tmp = packed_data(ipack)
20555 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20556 2199268 : pack_tmp = ISHFT(pack_tmp, -12)
20557 2199268 : idata = idata + 1
20558 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20559 2199268 : full_data(idata) = data_tmp
20560 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20561 2199268 : idata = idata + 1
20562 2199268 : data_tmp = ISHFT(pack_tmp, 4)
20563 2199268 : ipack = ipack + 1
20564 2199268 : pack_tmp = packed_data(ipack)
20565 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20566 2199268 : pack_tmp = ISHFT(pack_tmp, -4)
20567 2199268 : idata = idata + 1
20568 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20569 2199268 : full_data(idata) = data_tmp
20570 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20571 2199268 : idata = idata + 1
20572 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20573 2199268 : full_data(idata) = data_tmp
20574 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20575 2199268 : idata = idata + 1
20576 2199268 : data_tmp = ISHFT(pack_tmp, 24)
20577 2199268 : ipack = ipack + 1
20578 2199268 : pack_tmp = packed_data(ipack)
20579 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20580 2199268 : pack_tmp = ISHFT(pack_tmp, -24)
20581 2199268 : idata = idata + 1
20582 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20583 2199268 : full_data(idata) = data_tmp
20584 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20585 2199268 : idata = idata + 1
20586 2199268 : data_tmp = ISHFT(pack_tmp, 16)
20587 2199268 : ipack = ipack + 1
20588 2199268 : pack_tmp = packed_data(ipack)
20589 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20590 2199268 : pack_tmp = ISHFT(pack_tmp, -16)
20591 2199268 : idata = idata + 1
20592 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20593 2199268 : full_data(idata) = data_tmp
20594 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20595 2199268 : idata = idata + 1
20596 2199268 : data_tmp = ISHFT(pack_tmp, 8)
20597 2199268 : ipack = ipack + 1
20598 2199268 : pack_tmp = packed_data(ipack)
20599 2199268 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20600 2199268 : pack_tmp = ISHFT(pack_tmp, -8)
20601 2199268 : idata = idata + 1
20602 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20603 2199268 : full_data(idata) = data_tmp
20604 2199268 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20605 2199268 : idata = idata + 1
20606 2199268 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20607 2199268 : full_data(idata) = data_tmp
20608 2200244 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20609 : END DO
20610 156675 : IF (Ndata_rep < Ndata) THEN
20611 35928 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
20612 : END IF
20613 156675 : END SUBROUTINE bits2ints_28
20614 :
20615 : ! **************************************************************************************************
20616 : !> \brief ...
20617 : !> \param Ndata ...
20618 : !> \param packed_data ...
20619 : !> \param full_data ...
20620 : ! **************************************************************************************************
20621 36874 : 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 36874 : idata = 0
20632 36874 : ipack = 0
20633 36874 : Ndata_rep = (Ndata/64)*64
20634 36874 : DO kdata = 1, Ndata_rep, 64
20635 522148 : pack_tmp = 0
20636 522148 : idata = idata + 1
20637 522148 : data_tmp = full_data(idata)
20638 522148 : data_tmp = ISHFT(data_tmp, 35)
20639 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20640 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20641 522148 : idata = idata + 1
20642 522148 : data_tmp = full_data(idata)
20643 522148 : data_tmp = ISHFT(data_tmp, 35)
20644 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20645 522148 : pack_tmp = ISHFT(pack_tmp, -6)
20646 522148 : idata = idata + 1
20647 522148 : data_tmp = full_data(idata)
20648 522148 : data_tmp = ISHFT(data_tmp, 35)
20649 522148 : data_tmp = IAND(data_tmp, mask_left(6))
20650 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20651 522148 : ipack = ipack + 1
20652 522148 : packed_data(ipack) = pack_tmp
20653 522148 : data_tmp = full_data(idata)
20654 522148 : pack_tmp = ISHFT(data_tmp, 41)
20655 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20656 522148 : idata = idata + 1
20657 522148 : data_tmp = full_data(idata)
20658 522148 : data_tmp = ISHFT(data_tmp, 35)
20659 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20660 522148 : pack_tmp = ISHFT(pack_tmp, -12)
20661 522148 : idata = idata + 1
20662 522148 : data_tmp = full_data(idata)
20663 522148 : data_tmp = ISHFT(data_tmp, 35)
20664 522148 : data_tmp = IAND(data_tmp, mask_left(12))
20665 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20666 522148 : ipack = ipack + 1
20667 522148 : packed_data(ipack) = pack_tmp
20668 522148 : data_tmp = full_data(idata)
20669 522148 : pack_tmp = ISHFT(data_tmp, 47)
20670 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20671 522148 : idata = idata + 1
20672 522148 : data_tmp = full_data(idata)
20673 522148 : data_tmp = ISHFT(data_tmp, 35)
20674 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20675 522148 : pack_tmp = ISHFT(pack_tmp, -18)
20676 522148 : idata = idata + 1
20677 522148 : data_tmp = full_data(idata)
20678 522148 : data_tmp = ISHFT(data_tmp, 35)
20679 522148 : data_tmp = IAND(data_tmp, mask_left(18))
20680 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20681 522148 : ipack = ipack + 1
20682 522148 : packed_data(ipack) = pack_tmp
20683 522148 : data_tmp = full_data(idata)
20684 522148 : pack_tmp = ISHFT(data_tmp, 53)
20685 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20686 522148 : idata = idata + 1
20687 522148 : data_tmp = full_data(idata)
20688 522148 : data_tmp = ISHFT(data_tmp, 35)
20689 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20690 522148 : pack_tmp = ISHFT(pack_tmp, -24)
20691 522148 : idata = idata + 1
20692 522148 : data_tmp = full_data(idata)
20693 522148 : data_tmp = ISHFT(data_tmp, 35)
20694 522148 : data_tmp = IAND(data_tmp, mask_left(24))
20695 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20696 522148 : ipack = ipack + 1
20697 522148 : packed_data(ipack) = pack_tmp
20698 522148 : data_tmp = full_data(idata)
20699 522148 : pack_tmp = ISHFT(data_tmp, 59)
20700 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20701 522148 : idata = idata + 1
20702 522148 : data_tmp = full_data(idata)
20703 522148 : data_tmp = ISHFT(data_tmp, 35)
20704 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20705 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20706 522148 : idata = idata + 1
20707 522148 : data_tmp = full_data(idata)
20708 522148 : data_tmp = ISHFT(data_tmp, 35)
20709 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20710 522148 : pack_tmp = ISHFT(pack_tmp, -1)
20711 522148 : idata = idata + 1
20712 522148 : data_tmp = full_data(idata)
20713 522148 : data_tmp = ISHFT(data_tmp, 35)
20714 522148 : data_tmp = IAND(data_tmp, mask_left(1))
20715 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20716 522148 : ipack = ipack + 1
20717 522148 : packed_data(ipack) = pack_tmp
20718 522148 : data_tmp = full_data(idata)
20719 522148 : pack_tmp = ISHFT(data_tmp, 36)
20720 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20721 522148 : idata = idata + 1
20722 522148 : data_tmp = full_data(idata)
20723 522148 : data_tmp = ISHFT(data_tmp, 35)
20724 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20725 522148 : pack_tmp = ISHFT(pack_tmp, -7)
20726 522148 : idata = idata + 1
20727 522148 : data_tmp = full_data(idata)
20728 522148 : data_tmp = ISHFT(data_tmp, 35)
20729 522148 : data_tmp = IAND(data_tmp, mask_left(7))
20730 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20731 522148 : ipack = ipack + 1
20732 522148 : packed_data(ipack) = pack_tmp
20733 522148 : data_tmp = full_data(idata)
20734 522148 : pack_tmp = ISHFT(data_tmp, 42)
20735 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20736 522148 : idata = idata + 1
20737 522148 : data_tmp = full_data(idata)
20738 522148 : data_tmp = ISHFT(data_tmp, 35)
20739 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20740 522148 : pack_tmp = ISHFT(pack_tmp, -13)
20741 522148 : idata = idata + 1
20742 522148 : data_tmp = full_data(idata)
20743 522148 : data_tmp = ISHFT(data_tmp, 35)
20744 522148 : data_tmp = IAND(data_tmp, mask_left(13))
20745 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20746 522148 : ipack = ipack + 1
20747 522148 : packed_data(ipack) = pack_tmp
20748 522148 : data_tmp = full_data(idata)
20749 522148 : pack_tmp = ISHFT(data_tmp, 48)
20750 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20751 522148 : idata = idata + 1
20752 522148 : data_tmp = full_data(idata)
20753 522148 : data_tmp = ISHFT(data_tmp, 35)
20754 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20755 522148 : pack_tmp = ISHFT(pack_tmp, -19)
20756 522148 : idata = idata + 1
20757 522148 : data_tmp = full_data(idata)
20758 522148 : data_tmp = ISHFT(data_tmp, 35)
20759 522148 : data_tmp = IAND(data_tmp, mask_left(19))
20760 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20761 522148 : ipack = ipack + 1
20762 522148 : packed_data(ipack) = pack_tmp
20763 522148 : data_tmp = full_data(idata)
20764 522148 : pack_tmp = ISHFT(data_tmp, 54)
20765 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20766 522148 : idata = idata + 1
20767 522148 : data_tmp = full_data(idata)
20768 522148 : data_tmp = ISHFT(data_tmp, 35)
20769 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20770 522148 : pack_tmp = ISHFT(pack_tmp, -25)
20771 522148 : idata = idata + 1
20772 522148 : data_tmp = full_data(idata)
20773 522148 : data_tmp = ISHFT(data_tmp, 35)
20774 522148 : data_tmp = IAND(data_tmp, mask_left(25))
20775 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20776 522148 : ipack = ipack + 1
20777 522148 : packed_data(ipack) = pack_tmp
20778 522148 : data_tmp = full_data(idata)
20779 522148 : pack_tmp = ISHFT(data_tmp, 60)
20780 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20781 522148 : idata = idata + 1
20782 522148 : data_tmp = full_data(idata)
20783 522148 : data_tmp = ISHFT(data_tmp, 35)
20784 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20785 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20786 522148 : idata = idata + 1
20787 522148 : data_tmp = full_data(idata)
20788 522148 : data_tmp = ISHFT(data_tmp, 35)
20789 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20790 522148 : pack_tmp = ISHFT(pack_tmp, -2)
20791 522148 : idata = idata + 1
20792 522148 : data_tmp = full_data(idata)
20793 522148 : data_tmp = ISHFT(data_tmp, 35)
20794 522148 : data_tmp = IAND(data_tmp, mask_left(2))
20795 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20796 522148 : ipack = ipack + 1
20797 522148 : packed_data(ipack) = pack_tmp
20798 522148 : data_tmp = full_data(idata)
20799 522148 : pack_tmp = ISHFT(data_tmp, 37)
20800 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20801 522148 : idata = idata + 1
20802 522148 : data_tmp = full_data(idata)
20803 522148 : data_tmp = ISHFT(data_tmp, 35)
20804 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20805 522148 : pack_tmp = ISHFT(pack_tmp, -8)
20806 522148 : idata = idata + 1
20807 522148 : data_tmp = full_data(idata)
20808 522148 : data_tmp = ISHFT(data_tmp, 35)
20809 522148 : data_tmp = IAND(data_tmp, mask_left(8))
20810 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20811 522148 : ipack = ipack + 1
20812 522148 : packed_data(ipack) = pack_tmp
20813 522148 : data_tmp = full_data(idata)
20814 522148 : pack_tmp = ISHFT(data_tmp, 43)
20815 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20816 522148 : idata = idata + 1
20817 522148 : data_tmp = full_data(idata)
20818 522148 : data_tmp = ISHFT(data_tmp, 35)
20819 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20820 522148 : pack_tmp = ISHFT(pack_tmp, -14)
20821 522148 : idata = idata + 1
20822 522148 : data_tmp = full_data(idata)
20823 522148 : data_tmp = ISHFT(data_tmp, 35)
20824 522148 : data_tmp = IAND(data_tmp, mask_left(14))
20825 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20826 522148 : ipack = ipack + 1
20827 522148 : packed_data(ipack) = pack_tmp
20828 522148 : data_tmp = full_data(idata)
20829 522148 : pack_tmp = ISHFT(data_tmp, 49)
20830 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20831 522148 : idata = idata + 1
20832 522148 : data_tmp = full_data(idata)
20833 522148 : data_tmp = ISHFT(data_tmp, 35)
20834 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20835 522148 : pack_tmp = ISHFT(pack_tmp, -20)
20836 522148 : idata = idata + 1
20837 522148 : data_tmp = full_data(idata)
20838 522148 : data_tmp = ISHFT(data_tmp, 35)
20839 522148 : data_tmp = IAND(data_tmp, mask_left(20))
20840 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20841 522148 : ipack = ipack + 1
20842 522148 : packed_data(ipack) = pack_tmp
20843 522148 : data_tmp = full_data(idata)
20844 522148 : pack_tmp = ISHFT(data_tmp, 55)
20845 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20846 522148 : idata = idata + 1
20847 522148 : data_tmp = full_data(idata)
20848 522148 : data_tmp = ISHFT(data_tmp, 35)
20849 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20850 522148 : pack_tmp = ISHFT(pack_tmp, -26)
20851 522148 : idata = idata + 1
20852 522148 : data_tmp = full_data(idata)
20853 522148 : data_tmp = ISHFT(data_tmp, 35)
20854 522148 : data_tmp = IAND(data_tmp, mask_left(26))
20855 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20856 522148 : ipack = ipack + 1
20857 522148 : packed_data(ipack) = pack_tmp
20858 522148 : data_tmp = full_data(idata)
20859 522148 : pack_tmp = ISHFT(data_tmp, 61)
20860 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20861 522148 : idata = idata + 1
20862 522148 : data_tmp = full_data(idata)
20863 522148 : data_tmp = ISHFT(data_tmp, 35)
20864 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20865 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20866 522148 : idata = idata + 1
20867 522148 : data_tmp = full_data(idata)
20868 522148 : data_tmp = ISHFT(data_tmp, 35)
20869 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20870 522148 : pack_tmp = ISHFT(pack_tmp, -3)
20871 522148 : idata = idata + 1
20872 522148 : data_tmp = full_data(idata)
20873 522148 : data_tmp = ISHFT(data_tmp, 35)
20874 522148 : data_tmp = IAND(data_tmp, mask_left(3))
20875 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20876 522148 : ipack = ipack + 1
20877 522148 : packed_data(ipack) = pack_tmp
20878 522148 : data_tmp = full_data(idata)
20879 522148 : pack_tmp = ISHFT(data_tmp, 38)
20880 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20881 522148 : idata = idata + 1
20882 522148 : data_tmp = full_data(idata)
20883 522148 : data_tmp = ISHFT(data_tmp, 35)
20884 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20885 522148 : pack_tmp = ISHFT(pack_tmp, -9)
20886 522148 : idata = idata + 1
20887 522148 : data_tmp = full_data(idata)
20888 522148 : data_tmp = ISHFT(data_tmp, 35)
20889 522148 : data_tmp = IAND(data_tmp, mask_left(9))
20890 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20891 522148 : ipack = ipack + 1
20892 522148 : packed_data(ipack) = pack_tmp
20893 522148 : data_tmp = full_data(idata)
20894 522148 : pack_tmp = ISHFT(data_tmp, 44)
20895 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20896 522148 : idata = idata + 1
20897 522148 : data_tmp = full_data(idata)
20898 522148 : data_tmp = ISHFT(data_tmp, 35)
20899 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20900 522148 : pack_tmp = ISHFT(pack_tmp, -15)
20901 522148 : idata = idata + 1
20902 522148 : data_tmp = full_data(idata)
20903 522148 : data_tmp = ISHFT(data_tmp, 35)
20904 522148 : data_tmp = IAND(data_tmp, mask_left(15))
20905 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20906 522148 : ipack = ipack + 1
20907 522148 : packed_data(ipack) = pack_tmp
20908 522148 : data_tmp = full_data(idata)
20909 522148 : pack_tmp = ISHFT(data_tmp, 50)
20910 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20911 522148 : idata = idata + 1
20912 522148 : data_tmp = full_data(idata)
20913 522148 : data_tmp = ISHFT(data_tmp, 35)
20914 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20915 522148 : pack_tmp = ISHFT(pack_tmp, -21)
20916 522148 : idata = idata + 1
20917 522148 : data_tmp = full_data(idata)
20918 522148 : data_tmp = ISHFT(data_tmp, 35)
20919 522148 : data_tmp = IAND(data_tmp, mask_left(21))
20920 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20921 522148 : ipack = ipack + 1
20922 522148 : packed_data(ipack) = pack_tmp
20923 522148 : data_tmp = full_data(idata)
20924 522148 : pack_tmp = ISHFT(data_tmp, 56)
20925 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20926 522148 : idata = idata + 1
20927 522148 : data_tmp = full_data(idata)
20928 522148 : data_tmp = ISHFT(data_tmp, 35)
20929 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20930 522148 : pack_tmp = ISHFT(pack_tmp, -27)
20931 522148 : idata = idata + 1
20932 522148 : data_tmp = full_data(idata)
20933 522148 : data_tmp = ISHFT(data_tmp, 35)
20934 522148 : data_tmp = IAND(data_tmp, mask_left(27))
20935 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20936 522148 : ipack = ipack + 1
20937 522148 : packed_data(ipack) = pack_tmp
20938 522148 : data_tmp = full_data(idata)
20939 522148 : pack_tmp = ISHFT(data_tmp, 62)
20940 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20941 522148 : idata = idata + 1
20942 522148 : data_tmp = full_data(idata)
20943 522148 : data_tmp = ISHFT(data_tmp, 35)
20944 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20945 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20946 522148 : idata = idata + 1
20947 522148 : data_tmp = full_data(idata)
20948 522148 : data_tmp = ISHFT(data_tmp, 35)
20949 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20950 522148 : pack_tmp = ISHFT(pack_tmp, -4)
20951 522148 : idata = idata + 1
20952 522148 : data_tmp = full_data(idata)
20953 522148 : data_tmp = ISHFT(data_tmp, 35)
20954 522148 : data_tmp = IAND(data_tmp, mask_left(4))
20955 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20956 522148 : ipack = ipack + 1
20957 522148 : packed_data(ipack) = pack_tmp
20958 522148 : data_tmp = full_data(idata)
20959 522148 : pack_tmp = ISHFT(data_tmp, 39)
20960 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20961 522148 : idata = idata + 1
20962 522148 : data_tmp = full_data(idata)
20963 522148 : data_tmp = ISHFT(data_tmp, 35)
20964 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20965 522148 : pack_tmp = ISHFT(pack_tmp, -10)
20966 522148 : idata = idata + 1
20967 522148 : data_tmp = full_data(idata)
20968 522148 : data_tmp = ISHFT(data_tmp, 35)
20969 522148 : data_tmp = IAND(data_tmp, mask_left(10))
20970 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20971 522148 : ipack = ipack + 1
20972 522148 : packed_data(ipack) = pack_tmp
20973 522148 : data_tmp = full_data(idata)
20974 522148 : pack_tmp = ISHFT(data_tmp, 45)
20975 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20976 522148 : idata = idata + 1
20977 522148 : data_tmp = full_data(idata)
20978 522148 : data_tmp = ISHFT(data_tmp, 35)
20979 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20980 522148 : pack_tmp = ISHFT(pack_tmp, -16)
20981 522148 : idata = idata + 1
20982 522148 : data_tmp = full_data(idata)
20983 522148 : data_tmp = ISHFT(data_tmp, 35)
20984 522148 : data_tmp = IAND(data_tmp, mask_left(16))
20985 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20986 522148 : ipack = ipack + 1
20987 522148 : packed_data(ipack) = pack_tmp
20988 522148 : data_tmp = full_data(idata)
20989 522148 : pack_tmp = ISHFT(data_tmp, 51)
20990 522148 : pack_tmp = ISHFT(pack_tmp, -29)
20991 522148 : idata = idata + 1
20992 522148 : data_tmp = full_data(idata)
20993 522148 : data_tmp = ISHFT(data_tmp, 35)
20994 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
20995 522148 : pack_tmp = ISHFT(pack_tmp, -22)
20996 522148 : idata = idata + 1
20997 522148 : data_tmp = full_data(idata)
20998 522148 : data_tmp = ISHFT(data_tmp, 35)
20999 522148 : data_tmp = IAND(data_tmp, mask_left(22))
21000 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21001 522148 : ipack = ipack + 1
21002 522148 : packed_data(ipack) = pack_tmp
21003 522148 : data_tmp = full_data(idata)
21004 522148 : pack_tmp = ISHFT(data_tmp, 57)
21005 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21006 522148 : idata = idata + 1
21007 522148 : data_tmp = full_data(idata)
21008 522148 : data_tmp = ISHFT(data_tmp, 35)
21009 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21010 522148 : pack_tmp = ISHFT(pack_tmp, -28)
21011 522148 : idata = idata + 1
21012 522148 : data_tmp = full_data(idata)
21013 522148 : data_tmp = ISHFT(data_tmp, 35)
21014 522148 : data_tmp = IAND(data_tmp, mask_left(28))
21015 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21016 522148 : ipack = ipack + 1
21017 522148 : packed_data(ipack) = pack_tmp
21018 522148 : data_tmp = full_data(idata)
21019 522148 : pack_tmp = ISHFT(data_tmp, 63)
21020 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21021 522148 : idata = idata + 1
21022 522148 : data_tmp = full_data(idata)
21023 522148 : data_tmp = ISHFT(data_tmp, 35)
21024 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21025 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21026 522148 : idata = idata + 1
21027 522148 : data_tmp = full_data(idata)
21028 522148 : data_tmp = ISHFT(data_tmp, 35)
21029 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21030 522148 : pack_tmp = ISHFT(pack_tmp, -5)
21031 522148 : idata = idata + 1
21032 522148 : data_tmp = full_data(idata)
21033 522148 : data_tmp = ISHFT(data_tmp, 35)
21034 522148 : data_tmp = IAND(data_tmp, mask_left(5))
21035 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21036 522148 : ipack = ipack + 1
21037 522148 : packed_data(ipack) = pack_tmp
21038 522148 : data_tmp = full_data(idata)
21039 522148 : pack_tmp = ISHFT(data_tmp, 40)
21040 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21041 522148 : idata = idata + 1
21042 522148 : data_tmp = full_data(idata)
21043 522148 : data_tmp = ISHFT(data_tmp, 35)
21044 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21045 522148 : pack_tmp = ISHFT(pack_tmp, -11)
21046 522148 : idata = idata + 1
21047 522148 : data_tmp = full_data(idata)
21048 522148 : data_tmp = ISHFT(data_tmp, 35)
21049 522148 : data_tmp = IAND(data_tmp, mask_left(11))
21050 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21051 522148 : ipack = ipack + 1
21052 522148 : packed_data(ipack) = pack_tmp
21053 522148 : data_tmp = full_data(idata)
21054 522148 : pack_tmp = ISHFT(data_tmp, 46)
21055 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21056 522148 : idata = idata + 1
21057 522148 : data_tmp = full_data(idata)
21058 522148 : data_tmp = ISHFT(data_tmp, 35)
21059 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21060 522148 : pack_tmp = ISHFT(pack_tmp, -17)
21061 522148 : idata = idata + 1
21062 522148 : data_tmp = full_data(idata)
21063 522148 : data_tmp = ISHFT(data_tmp, 35)
21064 522148 : data_tmp = IAND(data_tmp, mask_left(17))
21065 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21066 522148 : ipack = ipack + 1
21067 522148 : packed_data(ipack) = pack_tmp
21068 522148 : data_tmp = full_data(idata)
21069 522148 : pack_tmp = ISHFT(data_tmp, 52)
21070 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21071 522148 : idata = idata + 1
21072 522148 : data_tmp = full_data(idata)
21073 522148 : data_tmp = ISHFT(data_tmp, 35)
21074 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21075 522148 : pack_tmp = ISHFT(pack_tmp, -23)
21076 522148 : idata = idata + 1
21077 522148 : data_tmp = full_data(idata)
21078 522148 : data_tmp = ISHFT(data_tmp, 35)
21079 522148 : data_tmp = IAND(data_tmp, mask_left(23))
21080 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21081 522148 : ipack = ipack + 1
21082 522148 : packed_data(ipack) = pack_tmp
21083 522148 : data_tmp = full_data(idata)
21084 522148 : pack_tmp = ISHFT(data_tmp, 58)
21085 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21086 522148 : idata = idata + 1
21087 522148 : data_tmp = full_data(idata)
21088 522148 : data_tmp = ISHFT(data_tmp, 35)
21089 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21090 522148 : pack_tmp = ISHFT(pack_tmp, -29)
21091 522148 : idata = idata + 1
21092 522148 : data_tmp = full_data(idata)
21093 522148 : data_tmp = ISHFT(data_tmp, 35)
21094 522148 : pack_tmp = IOR(pack_tmp, data_tmp)
21095 : pack_tmp = ISHFT(pack_tmp, 0)
21096 522148 : pack_tmp = ISHFT(pack_tmp, 0)
21097 522148 : ipack = ipack + 1
21098 522552 : packed_data(ipack) = pack_tmp
21099 : END DO
21100 36874 : IF (Ndata_rep < Ndata) THEN
21101 7896 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21102 : END IF
21103 36874 : END SUBROUTINE ints2bits_29
21104 :
21105 : ! **************************************************************************************************
21106 : !> \brief ...
21107 : !> \param Ndata ...
21108 : !> \param packed_data ...
21109 : !> \param full_data ...
21110 : ! **************************************************************************************************
21111 177182 : 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 177182 : ipack = 0
21122 177182 : idata = 0
21123 177182 : pack_tmp = 0
21124 177182 : Ndata_rep = (Ndata/64)*64
21125 177182 : DO kdata = 1, Ndata_rep, 64
21126 2423315 : idata = idata + 1
21127 2423315 : data_tmp = ISHFT(pack_tmp, 29)
21128 2423315 : ipack = ipack + 1
21129 2423315 : pack_tmp = packed_data(ipack)
21130 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
21131 2423315 : pack_tmp = ISHFT(pack_tmp, -29)
21132 2423315 : idata = idata + 1
21133 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21134 2423315 : full_data(idata) = data_tmp
21135 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21136 2423315 : idata = idata + 1
21137 2423315 : data_tmp = ISHFT(pack_tmp, 23)
21138 2423315 : ipack = ipack + 1
21139 2423315 : pack_tmp = packed_data(ipack)
21140 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
21141 2423315 : pack_tmp = ISHFT(pack_tmp, -23)
21142 2423315 : idata = idata + 1
21143 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21144 2423315 : full_data(idata) = data_tmp
21145 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21146 2423315 : idata = idata + 1
21147 2423315 : data_tmp = ISHFT(pack_tmp, 17)
21148 2423315 : ipack = ipack + 1
21149 2423315 : pack_tmp = packed_data(ipack)
21150 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
21151 2423315 : pack_tmp = ISHFT(pack_tmp, -17)
21152 2423315 : idata = idata + 1
21153 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21154 2423315 : full_data(idata) = data_tmp
21155 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21156 2423315 : idata = idata + 1
21157 2423315 : data_tmp = ISHFT(pack_tmp, 11)
21158 2423315 : ipack = ipack + 1
21159 2423315 : pack_tmp = packed_data(ipack)
21160 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
21161 2423315 : pack_tmp = ISHFT(pack_tmp, -11)
21162 2423315 : idata = idata + 1
21163 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21164 2423315 : full_data(idata) = data_tmp
21165 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21166 2423315 : idata = idata + 1
21167 2423315 : data_tmp = ISHFT(pack_tmp, 5)
21168 2423315 : ipack = ipack + 1
21169 2423315 : pack_tmp = packed_data(ipack)
21170 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
21171 2423315 : pack_tmp = ISHFT(pack_tmp, -5)
21172 2423315 : idata = idata + 1
21173 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21174 2423315 : full_data(idata) = data_tmp
21175 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21176 2423315 : idata = idata + 1
21177 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21178 2423315 : full_data(idata) = data_tmp
21179 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21180 2423315 : idata = idata + 1
21181 2423315 : data_tmp = ISHFT(pack_tmp, 28)
21182 2423315 : ipack = ipack + 1
21183 2423315 : pack_tmp = packed_data(ipack)
21184 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
21185 2423315 : pack_tmp = ISHFT(pack_tmp, -28)
21186 2423315 : idata = idata + 1
21187 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21188 2423315 : full_data(idata) = data_tmp
21189 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21190 2423315 : idata = idata + 1
21191 2423315 : data_tmp = ISHFT(pack_tmp, 22)
21192 2423315 : ipack = ipack + 1
21193 2423315 : pack_tmp = packed_data(ipack)
21194 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21195 2423315 : pack_tmp = ISHFT(pack_tmp, -22)
21196 2423315 : idata = idata + 1
21197 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21198 2423315 : full_data(idata) = data_tmp
21199 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21200 2423315 : idata = idata + 1
21201 2423315 : data_tmp = ISHFT(pack_tmp, 16)
21202 2423315 : ipack = ipack + 1
21203 2423315 : pack_tmp = packed_data(ipack)
21204 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
21205 2423315 : pack_tmp = ISHFT(pack_tmp, -16)
21206 2423315 : idata = idata + 1
21207 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21208 2423315 : full_data(idata) = data_tmp
21209 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21210 2423315 : idata = idata + 1
21211 2423315 : data_tmp = ISHFT(pack_tmp, 10)
21212 2423315 : ipack = ipack + 1
21213 2423315 : pack_tmp = packed_data(ipack)
21214 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
21215 2423315 : pack_tmp = ISHFT(pack_tmp, -10)
21216 2423315 : idata = idata + 1
21217 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21218 2423315 : full_data(idata) = data_tmp
21219 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21220 2423315 : idata = idata + 1
21221 2423315 : data_tmp = ISHFT(pack_tmp, 4)
21222 2423315 : ipack = ipack + 1
21223 2423315 : pack_tmp = packed_data(ipack)
21224 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
21225 2423315 : pack_tmp = ISHFT(pack_tmp, -4)
21226 2423315 : idata = idata + 1
21227 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21228 2423315 : full_data(idata) = data_tmp
21229 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21230 2423315 : idata = idata + 1
21231 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21232 2423315 : full_data(idata) = data_tmp
21233 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21234 2423315 : idata = idata + 1
21235 2423315 : data_tmp = ISHFT(pack_tmp, 27)
21236 2423315 : ipack = ipack + 1
21237 2423315 : pack_tmp = packed_data(ipack)
21238 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
21239 2423315 : pack_tmp = ISHFT(pack_tmp, -27)
21240 2423315 : idata = idata + 1
21241 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21242 2423315 : full_data(idata) = data_tmp
21243 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21244 2423315 : idata = idata + 1
21245 2423315 : data_tmp = ISHFT(pack_tmp, 21)
21246 2423315 : ipack = ipack + 1
21247 2423315 : pack_tmp = packed_data(ipack)
21248 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
21249 2423315 : pack_tmp = ISHFT(pack_tmp, -21)
21250 2423315 : idata = idata + 1
21251 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21252 2423315 : full_data(idata) = data_tmp
21253 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21254 2423315 : idata = idata + 1
21255 2423315 : data_tmp = ISHFT(pack_tmp, 15)
21256 2423315 : ipack = ipack + 1
21257 2423315 : pack_tmp = packed_data(ipack)
21258 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
21259 2423315 : pack_tmp = ISHFT(pack_tmp, -15)
21260 2423315 : idata = idata + 1
21261 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21262 2423315 : full_data(idata) = data_tmp
21263 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21264 2423315 : idata = idata + 1
21265 2423315 : data_tmp = ISHFT(pack_tmp, 9)
21266 2423315 : ipack = ipack + 1
21267 2423315 : pack_tmp = packed_data(ipack)
21268 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
21269 2423315 : pack_tmp = ISHFT(pack_tmp, -9)
21270 2423315 : idata = idata + 1
21271 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21272 2423315 : full_data(idata) = data_tmp
21273 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21274 2423315 : idata = idata + 1
21275 2423315 : data_tmp = ISHFT(pack_tmp, 3)
21276 2423315 : ipack = ipack + 1
21277 2423315 : pack_tmp = packed_data(ipack)
21278 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
21279 2423315 : pack_tmp = ISHFT(pack_tmp, -3)
21280 2423315 : idata = idata + 1
21281 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21282 2423315 : full_data(idata) = data_tmp
21283 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21284 2423315 : idata = idata + 1
21285 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21286 2423315 : full_data(idata) = data_tmp
21287 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21288 2423315 : idata = idata + 1
21289 2423315 : data_tmp = ISHFT(pack_tmp, 26)
21290 2423315 : ipack = ipack + 1
21291 2423315 : pack_tmp = packed_data(ipack)
21292 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21293 2423315 : pack_tmp = ISHFT(pack_tmp, -26)
21294 2423315 : idata = idata + 1
21295 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21296 2423315 : full_data(idata) = data_tmp
21297 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21298 2423315 : idata = idata + 1
21299 2423315 : data_tmp = ISHFT(pack_tmp, 20)
21300 2423315 : ipack = ipack + 1
21301 2423315 : pack_tmp = packed_data(ipack)
21302 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
21303 2423315 : pack_tmp = ISHFT(pack_tmp, -20)
21304 2423315 : idata = idata + 1
21305 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21306 2423315 : full_data(idata) = data_tmp
21307 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21308 2423315 : idata = idata + 1
21309 2423315 : data_tmp = ISHFT(pack_tmp, 14)
21310 2423315 : ipack = ipack + 1
21311 2423315 : pack_tmp = packed_data(ipack)
21312 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
21313 2423315 : pack_tmp = ISHFT(pack_tmp, -14)
21314 2423315 : idata = idata + 1
21315 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21316 2423315 : full_data(idata) = data_tmp
21317 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21318 2423315 : idata = idata + 1
21319 2423315 : data_tmp = ISHFT(pack_tmp, 8)
21320 2423315 : ipack = ipack + 1
21321 2423315 : pack_tmp = packed_data(ipack)
21322 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
21323 2423315 : pack_tmp = ISHFT(pack_tmp, -8)
21324 2423315 : idata = idata + 1
21325 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21326 2423315 : full_data(idata) = data_tmp
21327 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21328 2423315 : idata = idata + 1
21329 2423315 : data_tmp = ISHFT(pack_tmp, 2)
21330 2423315 : ipack = ipack + 1
21331 2423315 : pack_tmp = packed_data(ipack)
21332 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
21333 2423315 : pack_tmp = ISHFT(pack_tmp, -2)
21334 2423315 : idata = idata + 1
21335 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21336 2423315 : full_data(idata) = data_tmp
21337 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21338 2423315 : idata = idata + 1
21339 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21340 2423315 : full_data(idata) = data_tmp
21341 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21342 2423315 : idata = idata + 1
21343 2423315 : data_tmp = ISHFT(pack_tmp, 25)
21344 2423315 : ipack = ipack + 1
21345 2423315 : pack_tmp = packed_data(ipack)
21346 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
21347 2423315 : pack_tmp = ISHFT(pack_tmp, -25)
21348 2423315 : idata = idata + 1
21349 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21350 2423315 : full_data(idata) = data_tmp
21351 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21352 2423315 : idata = idata + 1
21353 2423315 : data_tmp = ISHFT(pack_tmp, 19)
21354 2423315 : ipack = ipack + 1
21355 2423315 : pack_tmp = packed_data(ipack)
21356 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
21357 2423315 : pack_tmp = ISHFT(pack_tmp, -19)
21358 2423315 : idata = idata + 1
21359 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21360 2423315 : full_data(idata) = data_tmp
21361 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21362 2423315 : idata = idata + 1
21363 2423315 : data_tmp = ISHFT(pack_tmp, 13)
21364 2423315 : ipack = ipack + 1
21365 2423315 : pack_tmp = packed_data(ipack)
21366 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
21367 2423315 : pack_tmp = ISHFT(pack_tmp, -13)
21368 2423315 : idata = idata + 1
21369 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21370 2423315 : full_data(idata) = data_tmp
21371 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21372 2423315 : idata = idata + 1
21373 2423315 : data_tmp = ISHFT(pack_tmp, 7)
21374 2423315 : ipack = ipack + 1
21375 2423315 : pack_tmp = packed_data(ipack)
21376 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
21377 2423315 : pack_tmp = ISHFT(pack_tmp, -7)
21378 2423315 : idata = idata + 1
21379 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21380 2423315 : full_data(idata) = data_tmp
21381 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21382 2423315 : idata = idata + 1
21383 2423315 : data_tmp = ISHFT(pack_tmp, 1)
21384 2423315 : ipack = ipack + 1
21385 2423315 : pack_tmp = packed_data(ipack)
21386 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
21387 2423315 : pack_tmp = ISHFT(pack_tmp, -1)
21388 2423315 : idata = idata + 1
21389 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21390 2423315 : full_data(idata) = data_tmp
21391 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21392 2423315 : idata = idata + 1
21393 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21394 2423315 : full_data(idata) = data_tmp
21395 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21396 2423315 : idata = idata + 1
21397 2423315 : data_tmp = ISHFT(pack_tmp, 24)
21398 2423315 : ipack = ipack + 1
21399 2423315 : pack_tmp = packed_data(ipack)
21400 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
21401 2423315 : pack_tmp = ISHFT(pack_tmp, -24)
21402 2423315 : idata = idata + 1
21403 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21404 2423315 : full_data(idata) = data_tmp
21405 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21406 2423315 : idata = idata + 1
21407 2423315 : data_tmp = ISHFT(pack_tmp, 18)
21408 2423315 : ipack = ipack + 1
21409 2423315 : pack_tmp = packed_data(ipack)
21410 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21411 2423315 : pack_tmp = ISHFT(pack_tmp, -18)
21412 2423315 : idata = idata + 1
21413 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21414 2423315 : full_data(idata) = data_tmp
21415 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21416 2423315 : idata = idata + 1
21417 2423315 : data_tmp = ISHFT(pack_tmp, 12)
21418 2423315 : ipack = ipack + 1
21419 2423315 : pack_tmp = packed_data(ipack)
21420 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
21421 2423315 : pack_tmp = ISHFT(pack_tmp, -12)
21422 2423315 : idata = idata + 1
21423 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21424 2423315 : full_data(idata) = data_tmp
21425 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21426 2423315 : idata = idata + 1
21427 2423315 : data_tmp = ISHFT(pack_tmp, 6)
21428 2423315 : ipack = ipack + 1
21429 2423315 : pack_tmp = packed_data(ipack)
21430 2423315 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
21431 2423315 : pack_tmp = ISHFT(pack_tmp, -6)
21432 2423315 : idata = idata + 1
21433 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21434 2423315 : full_data(idata) = data_tmp
21435 2423315 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21436 2423315 : idata = idata + 1
21437 2423315 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21438 2423315 : full_data(idata) = data_tmp
21439 2425735 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21440 : END DO
21441 177182 : IF (Ndata_rep < Ndata) THEN
21442 47642 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21443 : END IF
21444 177182 : END SUBROUTINE bits2ints_29
21445 :
21446 : ! **************************************************************************************************
21447 : !> \brief ...
21448 : !> \param Ndata ...
21449 : !> \param packed_data ...
21450 : !> \param full_data ...
21451 : ! **************************************************************************************************
21452 43675 : 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 43675 : idata = 0
21463 43675 : ipack = 0
21464 43675 : Ndata_rep = (Ndata/64)*64
21465 43675 : DO kdata = 1, Ndata_rep, 64
21466 592057 : pack_tmp = 0
21467 592057 : idata = idata + 1
21468 592057 : data_tmp = full_data(idata)
21469 592057 : data_tmp = ISHFT(data_tmp, 34)
21470 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21471 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21472 592057 : idata = idata + 1
21473 592057 : data_tmp = full_data(idata)
21474 592057 : data_tmp = ISHFT(data_tmp, 34)
21475 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21476 592057 : pack_tmp = ISHFT(pack_tmp, -4)
21477 592057 : idata = idata + 1
21478 592057 : data_tmp = full_data(idata)
21479 592057 : data_tmp = ISHFT(data_tmp, 34)
21480 592057 : data_tmp = IAND(data_tmp, mask_left(4))
21481 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21482 592057 : ipack = ipack + 1
21483 592057 : packed_data(ipack) = pack_tmp
21484 592057 : data_tmp = full_data(idata)
21485 592057 : pack_tmp = ISHFT(data_tmp, 38)
21486 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21487 592057 : idata = idata + 1
21488 592057 : data_tmp = full_data(idata)
21489 592057 : data_tmp = ISHFT(data_tmp, 34)
21490 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21491 592057 : pack_tmp = ISHFT(pack_tmp, -8)
21492 592057 : idata = idata + 1
21493 592057 : data_tmp = full_data(idata)
21494 592057 : data_tmp = ISHFT(data_tmp, 34)
21495 592057 : data_tmp = IAND(data_tmp, mask_left(8))
21496 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21497 592057 : ipack = ipack + 1
21498 592057 : packed_data(ipack) = pack_tmp
21499 592057 : data_tmp = full_data(idata)
21500 592057 : pack_tmp = ISHFT(data_tmp, 42)
21501 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21502 592057 : idata = idata + 1
21503 592057 : data_tmp = full_data(idata)
21504 592057 : data_tmp = ISHFT(data_tmp, 34)
21505 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21506 592057 : pack_tmp = ISHFT(pack_tmp, -12)
21507 592057 : idata = idata + 1
21508 592057 : data_tmp = full_data(idata)
21509 592057 : data_tmp = ISHFT(data_tmp, 34)
21510 592057 : data_tmp = IAND(data_tmp, mask_left(12))
21511 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21512 592057 : ipack = ipack + 1
21513 592057 : packed_data(ipack) = pack_tmp
21514 592057 : data_tmp = full_data(idata)
21515 592057 : pack_tmp = ISHFT(data_tmp, 46)
21516 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21517 592057 : idata = idata + 1
21518 592057 : data_tmp = full_data(idata)
21519 592057 : data_tmp = ISHFT(data_tmp, 34)
21520 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21521 592057 : pack_tmp = ISHFT(pack_tmp, -16)
21522 592057 : idata = idata + 1
21523 592057 : data_tmp = full_data(idata)
21524 592057 : data_tmp = ISHFT(data_tmp, 34)
21525 592057 : data_tmp = IAND(data_tmp, mask_left(16))
21526 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21527 592057 : ipack = ipack + 1
21528 592057 : packed_data(ipack) = pack_tmp
21529 592057 : data_tmp = full_data(idata)
21530 592057 : pack_tmp = ISHFT(data_tmp, 50)
21531 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21532 592057 : idata = idata + 1
21533 592057 : data_tmp = full_data(idata)
21534 592057 : data_tmp = ISHFT(data_tmp, 34)
21535 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21536 592057 : pack_tmp = ISHFT(pack_tmp, -20)
21537 592057 : idata = idata + 1
21538 592057 : data_tmp = full_data(idata)
21539 592057 : data_tmp = ISHFT(data_tmp, 34)
21540 592057 : data_tmp = IAND(data_tmp, mask_left(20))
21541 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21542 592057 : ipack = ipack + 1
21543 592057 : packed_data(ipack) = pack_tmp
21544 592057 : data_tmp = full_data(idata)
21545 592057 : pack_tmp = ISHFT(data_tmp, 54)
21546 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21547 592057 : idata = idata + 1
21548 592057 : data_tmp = full_data(idata)
21549 592057 : data_tmp = ISHFT(data_tmp, 34)
21550 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21551 592057 : pack_tmp = ISHFT(pack_tmp, -24)
21552 592057 : idata = idata + 1
21553 592057 : data_tmp = full_data(idata)
21554 592057 : data_tmp = ISHFT(data_tmp, 34)
21555 592057 : data_tmp = IAND(data_tmp, mask_left(24))
21556 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21557 592057 : ipack = ipack + 1
21558 592057 : packed_data(ipack) = pack_tmp
21559 592057 : data_tmp = full_data(idata)
21560 592057 : pack_tmp = ISHFT(data_tmp, 58)
21561 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21562 592057 : idata = idata + 1
21563 592057 : data_tmp = full_data(idata)
21564 592057 : data_tmp = ISHFT(data_tmp, 34)
21565 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21566 592057 : pack_tmp = ISHFT(pack_tmp, -28)
21567 592057 : idata = idata + 1
21568 592057 : data_tmp = full_data(idata)
21569 592057 : data_tmp = ISHFT(data_tmp, 34)
21570 592057 : data_tmp = IAND(data_tmp, mask_left(28))
21571 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21572 592057 : ipack = ipack + 1
21573 592057 : packed_data(ipack) = pack_tmp
21574 592057 : data_tmp = full_data(idata)
21575 592057 : pack_tmp = ISHFT(data_tmp, 62)
21576 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21577 592057 : idata = idata + 1
21578 592057 : data_tmp = full_data(idata)
21579 592057 : data_tmp = ISHFT(data_tmp, 34)
21580 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21581 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21582 592057 : idata = idata + 1
21583 592057 : data_tmp = full_data(idata)
21584 592057 : data_tmp = ISHFT(data_tmp, 34)
21585 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21586 592057 : pack_tmp = ISHFT(pack_tmp, -2)
21587 592057 : idata = idata + 1
21588 592057 : data_tmp = full_data(idata)
21589 592057 : data_tmp = ISHFT(data_tmp, 34)
21590 592057 : data_tmp = IAND(data_tmp, mask_left(2))
21591 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21592 592057 : ipack = ipack + 1
21593 592057 : packed_data(ipack) = pack_tmp
21594 592057 : data_tmp = full_data(idata)
21595 592057 : pack_tmp = ISHFT(data_tmp, 36)
21596 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21597 592057 : idata = idata + 1
21598 592057 : data_tmp = full_data(idata)
21599 592057 : data_tmp = ISHFT(data_tmp, 34)
21600 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21601 592057 : pack_tmp = ISHFT(pack_tmp, -6)
21602 592057 : idata = idata + 1
21603 592057 : data_tmp = full_data(idata)
21604 592057 : data_tmp = ISHFT(data_tmp, 34)
21605 592057 : data_tmp = IAND(data_tmp, mask_left(6))
21606 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21607 592057 : ipack = ipack + 1
21608 592057 : packed_data(ipack) = pack_tmp
21609 592057 : data_tmp = full_data(idata)
21610 592057 : pack_tmp = ISHFT(data_tmp, 40)
21611 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21612 592057 : idata = idata + 1
21613 592057 : data_tmp = full_data(idata)
21614 592057 : data_tmp = ISHFT(data_tmp, 34)
21615 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21616 592057 : pack_tmp = ISHFT(pack_tmp, -10)
21617 592057 : idata = idata + 1
21618 592057 : data_tmp = full_data(idata)
21619 592057 : data_tmp = ISHFT(data_tmp, 34)
21620 592057 : data_tmp = IAND(data_tmp, mask_left(10))
21621 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21622 592057 : ipack = ipack + 1
21623 592057 : packed_data(ipack) = pack_tmp
21624 592057 : data_tmp = full_data(idata)
21625 592057 : pack_tmp = ISHFT(data_tmp, 44)
21626 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21627 592057 : idata = idata + 1
21628 592057 : data_tmp = full_data(idata)
21629 592057 : data_tmp = ISHFT(data_tmp, 34)
21630 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21631 592057 : pack_tmp = ISHFT(pack_tmp, -14)
21632 592057 : idata = idata + 1
21633 592057 : data_tmp = full_data(idata)
21634 592057 : data_tmp = ISHFT(data_tmp, 34)
21635 592057 : data_tmp = IAND(data_tmp, mask_left(14))
21636 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21637 592057 : ipack = ipack + 1
21638 592057 : packed_data(ipack) = pack_tmp
21639 592057 : data_tmp = full_data(idata)
21640 592057 : pack_tmp = ISHFT(data_tmp, 48)
21641 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21642 592057 : idata = idata + 1
21643 592057 : data_tmp = full_data(idata)
21644 592057 : data_tmp = ISHFT(data_tmp, 34)
21645 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21646 592057 : pack_tmp = ISHFT(pack_tmp, -18)
21647 592057 : idata = idata + 1
21648 592057 : data_tmp = full_data(idata)
21649 592057 : data_tmp = ISHFT(data_tmp, 34)
21650 592057 : data_tmp = IAND(data_tmp, mask_left(18))
21651 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21652 592057 : ipack = ipack + 1
21653 592057 : packed_data(ipack) = pack_tmp
21654 592057 : data_tmp = full_data(idata)
21655 592057 : pack_tmp = ISHFT(data_tmp, 52)
21656 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21657 592057 : idata = idata + 1
21658 592057 : data_tmp = full_data(idata)
21659 592057 : data_tmp = ISHFT(data_tmp, 34)
21660 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21661 592057 : pack_tmp = ISHFT(pack_tmp, -22)
21662 592057 : idata = idata + 1
21663 592057 : data_tmp = full_data(idata)
21664 592057 : data_tmp = ISHFT(data_tmp, 34)
21665 592057 : data_tmp = IAND(data_tmp, mask_left(22))
21666 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21667 592057 : ipack = ipack + 1
21668 592057 : packed_data(ipack) = pack_tmp
21669 592057 : data_tmp = full_data(idata)
21670 592057 : pack_tmp = ISHFT(data_tmp, 56)
21671 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21672 592057 : idata = idata + 1
21673 592057 : data_tmp = full_data(idata)
21674 592057 : data_tmp = ISHFT(data_tmp, 34)
21675 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21676 592057 : pack_tmp = ISHFT(pack_tmp, -26)
21677 592057 : idata = idata + 1
21678 592057 : data_tmp = full_data(idata)
21679 592057 : data_tmp = ISHFT(data_tmp, 34)
21680 592057 : data_tmp = IAND(data_tmp, mask_left(26))
21681 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21682 592057 : ipack = ipack + 1
21683 592057 : packed_data(ipack) = pack_tmp
21684 592057 : data_tmp = full_data(idata)
21685 592057 : pack_tmp = ISHFT(data_tmp, 60)
21686 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21687 592057 : idata = idata + 1
21688 592057 : data_tmp = full_data(idata)
21689 592057 : data_tmp = ISHFT(data_tmp, 34)
21690 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21691 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21692 592057 : idata = idata + 1
21693 592057 : data_tmp = full_data(idata)
21694 592057 : data_tmp = ISHFT(data_tmp, 34)
21695 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21696 592057 : pack_tmp = ISHFT(pack_tmp, 0)
21697 592057 : idata = idata + 1
21698 592057 : data_tmp = full_data(idata)
21699 : data_tmp = ISHFT(data_tmp, 34)
21700 592057 : data_tmp = IAND(data_tmp, mask_left(0))
21701 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21702 592057 : ipack = ipack + 1
21703 592057 : packed_data(ipack) = pack_tmp
21704 592057 : data_tmp = full_data(idata)
21705 592057 : pack_tmp = ISHFT(data_tmp, 34)
21706 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21707 592057 : idata = idata + 1
21708 592057 : data_tmp = full_data(idata)
21709 592057 : data_tmp = ISHFT(data_tmp, 34)
21710 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21711 592057 : pack_tmp = ISHFT(pack_tmp, -4)
21712 592057 : idata = idata + 1
21713 592057 : data_tmp = full_data(idata)
21714 592057 : data_tmp = ISHFT(data_tmp, 34)
21715 592057 : data_tmp = IAND(data_tmp, mask_left(4))
21716 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21717 592057 : ipack = ipack + 1
21718 592057 : packed_data(ipack) = pack_tmp
21719 592057 : data_tmp = full_data(idata)
21720 592057 : pack_tmp = ISHFT(data_tmp, 38)
21721 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21722 592057 : idata = idata + 1
21723 592057 : data_tmp = full_data(idata)
21724 592057 : data_tmp = ISHFT(data_tmp, 34)
21725 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21726 592057 : pack_tmp = ISHFT(pack_tmp, -8)
21727 592057 : idata = idata + 1
21728 592057 : data_tmp = full_data(idata)
21729 592057 : data_tmp = ISHFT(data_tmp, 34)
21730 592057 : data_tmp = IAND(data_tmp, mask_left(8))
21731 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21732 592057 : ipack = ipack + 1
21733 592057 : packed_data(ipack) = pack_tmp
21734 592057 : data_tmp = full_data(idata)
21735 592057 : pack_tmp = ISHFT(data_tmp, 42)
21736 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21737 592057 : idata = idata + 1
21738 592057 : data_tmp = full_data(idata)
21739 592057 : data_tmp = ISHFT(data_tmp, 34)
21740 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21741 592057 : pack_tmp = ISHFT(pack_tmp, -12)
21742 592057 : idata = idata + 1
21743 592057 : data_tmp = full_data(idata)
21744 592057 : data_tmp = ISHFT(data_tmp, 34)
21745 592057 : data_tmp = IAND(data_tmp, mask_left(12))
21746 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21747 592057 : ipack = ipack + 1
21748 592057 : packed_data(ipack) = pack_tmp
21749 592057 : data_tmp = full_data(idata)
21750 592057 : pack_tmp = ISHFT(data_tmp, 46)
21751 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21752 592057 : idata = idata + 1
21753 592057 : data_tmp = full_data(idata)
21754 592057 : data_tmp = ISHFT(data_tmp, 34)
21755 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21756 592057 : pack_tmp = ISHFT(pack_tmp, -16)
21757 592057 : idata = idata + 1
21758 592057 : data_tmp = full_data(idata)
21759 592057 : data_tmp = ISHFT(data_tmp, 34)
21760 592057 : data_tmp = IAND(data_tmp, mask_left(16))
21761 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21762 592057 : ipack = ipack + 1
21763 592057 : packed_data(ipack) = pack_tmp
21764 592057 : data_tmp = full_data(idata)
21765 592057 : pack_tmp = ISHFT(data_tmp, 50)
21766 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21767 592057 : idata = idata + 1
21768 592057 : data_tmp = full_data(idata)
21769 592057 : data_tmp = ISHFT(data_tmp, 34)
21770 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21771 592057 : pack_tmp = ISHFT(pack_tmp, -20)
21772 592057 : idata = idata + 1
21773 592057 : data_tmp = full_data(idata)
21774 592057 : data_tmp = ISHFT(data_tmp, 34)
21775 592057 : data_tmp = IAND(data_tmp, mask_left(20))
21776 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21777 592057 : ipack = ipack + 1
21778 592057 : packed_data(ipack) = pack_tmp
21779 592057 : data_tmp = full_data(idata)
21780 592057 : pack_tmp = ISHFT(data_tmp, 54)
21781 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21782 592057 : idata = idata + 1
21783 592057 : data_tmp = full_data(idata)
21784 592057 : data_tmp = ISHFT(data_tmp, 34)
21785 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21786 592057 : pack_tmp = ISHFT(pack_tmp, -24)
21787 592057 : idata = idata + 1
21788 592057 : data_tmp = full_data(idata)
21789 592057 : data_tmp = ISHFT(data_tmp, 34)
21790 592057 : data_tmp = IAND(data_tmp, mask_left(24))
21791 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21792 592057 : ipack = ipack + 1
21793 592057 : packed_data(ipack) = pack_tmp
21794 592057 : data_tmp = full_data(idata)
21795 592057 : pack_tmp = ISHFT(data_tmp, 58)
21796 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21797 592057 : idata = idata + 1
21798 592057 : data_tmp = full_data(idata)
21799 592057 : data_tmp = ISHFT(data_tmp, 34)
21800 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21801 592057 : pack_tmp = ISHFT(pack_tmp, -28)
21802 592057 : idata = idata + 1
21803 592057 : data_tmp = full_data(idata)
21804 592057 : data_tmp = ISHFT(data_tmp, 34)
21805 592057 : data_tmp = IAND(data_tmp, mask_left(28))
21806 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21807 592057 : ipack = ipack + 1
21808 592057 : packed_data(ipack) = pack_tmp
21809 592057 : data_tmp = full_data(idata)
21810 592057 : pack_tmp = ISHFT(data_tmp, 62)
21811 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21812 592057 : idata = idata + 1
21813 592057 : data_tmp = full_data(idata)
21814 592057 : data_tmp = ISHFT(data_tmp, 34)
21815 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21816 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21817 592057 : idata = idata + 1
21818 592057 : data_tmp = full_data(idata)
21819 592057 : data_tmp = ISHFT(data_tmp, 34)
21820 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21821 592057 : pack_tmp = ISHFT(pack_tmp, -2)
21822 592057 : idata = idata + 1
21823 592057 : data_tmp = full_data(idata)
21824 592057 : data_tmp = ISHFT(data_tmp, 34)
21825 592057 : data_tmp = IAND(data_tmp, mask_left(2))
21826 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21827 592057 : ipack = ipack + 1
21828 592057 : packed_data(ipack) = pack_tmp
21829 592057 : data_tmp = full_data(idata)
21830 592057 : pack_tmp = ISHFT(data_tmp, 36)
21831 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21832 592057 : idata = idata + 1
21833 592057 : data_tmp = full_data(idata)
21834 592057 : data_tmp = ISHFT(data_tmp, 34)
21835 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21836 592057 : pack_tmp = ISHFT(pack_tmp, -6)
21837 592057 : idata = idata + 1
21838 592057 : data_tmp = full_data(idata)
21839 592057 : data_tmp = ISHFT(data_tmp, 34)
21840 592057 : data_tmp = IAND(data_tmp, mask_left(6))
21841 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21842 592057 : ipack = ipack + 1
21843 592057 : packed_data(ipack) = pack_tmp
21844 592057 : data_tmp = full_data(idata)
21845 592057 : pack_tmp = ISHFT(data_tmp, 40)
21846 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21847 592057 : idata = idata + 1
21848 592057 : data_tmp = full_data(idata)
21849 592057 : data_tmp = ISHFT(data_tmp, 34)
21850 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21851 592057 : pack_tmp = ISHFT(pack_tmp, -10)
21852 592057 : idata = idata + 1
21853 592057 : data_tmp = full_data(idata)
21854 592057 : data_tmp = ISHFT(data_tmp, 34)
21855 592057 : data_tmp = IAND(data_tmp, mask_left(10))
21856 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21857 592057 : ipack = ipack + 1
21858 592057 : packed_data(ipack) = pack_tmp
21859 592057 : data_tmp = full_data(idata)
21860 592057 : pack_tmp = ISHFT(data_tmp, 44)
21861 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21862 592057 : idata = idata + 1
21863 592057 : data_tmp = full_data(idata)
21864 592057 : data_tmp = ISHFT(data_tmp, 34)
21865 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21866 592057 : pack_tmp = ISHFT(pack_tmp, -14)
21867 592057 : idata = idata + 1
21868 592057 : data_tmp = full_data(idata)
21869 592057 : data_tmp = ISHFT(data_tmp, 34)
21870 592057 : data_tmp = IAND(data_tmp, mask_left(14))
21871 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21872 592057 : ipack = ipack + 1
21873 592057 : packed_data(ipack) = pack_tmp
21874 592057 : data_tmp = full_data(idata)
21875 592057 : pack_tmp = ISHFT(data_tmp, 48)
21876 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21877 592057 : idata = idata + 1
21878 592057 : data_tmp = full_data(idata)
21879 592057 : data_tmp = ISHFT(data_tmp, 34)
21880 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21881 592057 : pack_tmp = ISHFT(pack_tmp, -18)
21882 592057 : idata = idata + 1
21883 592057 : data_tmp = full_data(idata)
21884 592057 : data_tmp = ISHFT(data_tmp, 34)
21885 592057 : data_tmp = IAND(data_tmp, mask_left(18))
21886 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21887 592057 : ipack = ipack + 1
21888 592057 : packed_data(ipack) = pack_tmp
21889 592057 : data_tmp = full_data(idata)
21890 592057 : pack_tmp = ISHFT(data_tmp, 52)
21891 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21892 592057 : idata = idata + 1
21893 592057 : data_tmp = full_data(idata)
21894 592057 : data_tmp = ISHFT(data_tmp, 34)
21895 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21896 592057 : pack_tmp = ISHFT(pack_tmp, -22)
21897 592057 : idata = idata + 1
21898 592057 : data_tmp = full_data(idata)
21899 592057 : data_tmp = ISHFT(data_tmp, 34)
21900 592057 : data_tmp = IAND(data_tmp, mask_left(22))
21901 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21902 592057 : ipack = ipack + 1
21903 592057 : packed_data(ipack) = pack_tmp
21904 592057 : data_tmp = full_data(idata)
21905 592057 : pack_tmp = ISHFT(data_tmp, 56)
21906 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21907 592057 : idata = idata + 1
21908 592057 : data_tmp = full_data(idata)
21909 592057 : data_tmp = ISHFT(data_tmp, 34)
21910 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21911 592057 : pack_tmp = ISHFT(pack_tmp, -26)
21912 592057 : idata = idata + 1
21913 592057 : data_tmp = full_data(idata)
21914 592057 : data_tmp = ISHFT(data_tmp, 34)
21915 592057 : data_tmp = IAND(data_tmp, mask_left(26))
21916 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21917 592057 : ipack = ipack + 1
21918 592057 : packed_data(ipack) = pack_tmp
21919 592057 : data_tmp = full_data(idata)
21920 592057 : pack_tmp = ISHFT(data_tmp, 60)
21921 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21922 592057 : idata = idata + 1
21923 592057 : data_tmp = full_data(idata)
21924 592057 : data_tmp = ISHFT(data_tmp, 34)
21925 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21926 592057 : pack_tmp = ISHFT(pack_tmp, -30)
21927 592057 : idata = idata + 1
21928 592057 : data_tmp = full_data(idata)
21929 592057 : data_tmp = ISHFT(data_tmp, 34)
21930 592057 : pack_tmp = IOR(pack_tmp, data_tmp)
21931 : pack_tmp = ISHFT(pack_tmp, 0)
21932 592057 : pack_tmp = ISHFT(pack_tmp, 0)
21933 592057 : ipack = ipack + 1
21934 592332 : packed_data(ipack) = pack_tmp
21935 : END DO
21936 43675 : IF (Ndata_rep < Ndata) THEN
21937 12558 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21938 : END IF
21939 43675 : END SUBROUTINE ints2bits_30
21940 :
21941 : ! **************************************************************************************************
21942 : !> \brief ...
21943 : !> \param Ndata ...
21944 : !> \param packed_data ...
21945 : !> \param full_data ...
21946 : ! **************************************************************************************************
21947 227012 : 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 227012 : ipack = 0
21958 227012 : idata = 0
21959 227012 : pack_tmp = 0
21960 227012 : Ndata_rep = (Ndata/64)*64
21961 227012 : DO kdata = 1, Ndata_rep, 64
21962 2935736 : idata = idata + 1
21963 2935736 : data_tmp = ISHFT(pack_tmp, 30)
21964 2935736 : ipack = ipack + 1
21965 2935736 : pack_tmp = packed_data(ipack)
21966 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
21967 2935736 : pack_tmp = ISHFT(pack_tmp, -30)
21968 2935736 : idata = idata + 1
21969 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21970 2935736 : full_data(idata) = data_tmp
21971 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21972 2935736 : idata = idata + 1
21973 2935736 : data_tmp = ISHFT(pack_tmp, 26)
21974 2935736 : ipack = ipack + 1
21975 2935736 : pack_tmp = packed_data(ipack)
21976 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21977 2935736 : pack_tmp = ISHFT(pack_tmp, -26)
21978 2935736 : idata = idata + 1
21979 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21980 2935736 : full_data(idata) = data_tmp
21981 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21982 2935736 : idata = idata + 1
21983 2935736 : data_tmp = ISHFT(pack_tmp, 22)
21984 2935736 : ipack = ipack + 1
21985 2935736 : pack_tmp = packed_data(ipack)
21986 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21987 2935736 : pack_tmp = ISHFT(pack_tmp, -22)
21988 2935736 : idata = idata + 1
21989 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21990 2935736 : full_data(idata) = data_tmp
21991 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21992 2935736 : idata = idata + 1
21993 2935736 : data_tmp = ISHFT(pack_tmp, 18)
21994 2935736 : ipack = ipack + 1
21995 2935736 : pack_tmp = packed_data(ipack)
21996 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21997 2935736 : pack_tmp = ISHFT(pack_tmp, -18)
21998 2935736 : idata = idata + 1
21999 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22000 2935736 : full_data(idata) = data_tmp
22001 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22002 2935736 : idata = idata + 1
22003 2935736 : data_tmp = ISHFT(pack_tmp, 14)
22004 2935736 : ipack = ipack + 1
22005 2935736 : pack_tmp = packed_data(ipack)
22006 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22007 2935736 : pack_tmp = ISHFT(pack_tmp, -14)
22008 2935736 : idata = idata + 1
22009 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22010 2935736 : full_data(idata) = data_tmp
22011 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22012 2935736 : idata = idata + 1
22013 2935736 : data_tmp = ISHFT(pack_tmp, 10)
22014 2935736 : ipack = ipack + 1
22015 2935736 : pack_tmp = packed_data(ipack)
22016 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22017 2935736 : pack_tmp = ISHFT(pack_tmp, -10)
22018 2935736 : idata = idata + 1
22019 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22020 2935736 : full_data(idata) = data_tmp
22021 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22022 2935736 : idata = idata + 1
22023 2935736 : data_tmp = ISHFT(pack_tmp, 6)
22024 2935736 : ipack = ipack + 1
22025 2935736 : pack_tmp = packed_data(ipack)
22026 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22027 2935736 : pack_tmp = ISHFT(pack_tmp, -6)
22028 2935736 : idata = idata + 1
22029 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22030 2935736 : full_data(idata) = data_tmp
22031 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22032 2935736 : idata = idata + 1
22033 2935736 : data_tmp = ISHFT(pack_tmp, 2)
22034 2935736 : ipack = ipack + 1
22035 2935736 : pack_tmp = packed_data(ipack)
22036 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22037 2935736 : pack_tmp = ISHFT(pack_tmp, -2)
22038 2935736 : idata = idata + 1
22039 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22040 2935736 : full_data(idata) = data_tmp
22041 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22042 2935736 : idata = idata + 1
22043 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22044 2935736 : full_data(idata) = data_tmp
22045 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22046 2935736 : idata = idata + 1
22047 2935736 : data_tmp = ISHFT(pack_tmp, 28)
22048 2935736 : ipack = ipack + 1
22049 2935736 : pack_tmp = packed_data(ipack)
22050 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22051 2935736 : pack_tmp = ISHFT(pack_tmp, -28)
22052 2935736 : idata = idata + 1
22053 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22054 2935736 : full_data(idata) = data_tmp
22055 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22056 2935736 : idata = idata + 1
22057 2935736 : data_tmp = ISHFT(pack_tmp, 24)
22058 2935736 : ipack = ipack + 1
22059 2935736 : pack_tmp = packed_data(ipack)
22060 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22061 2935736 : pack_tmp = ISHFT(pack_tmp, -24)
22062 2935736 : idata = idata + 1
22063 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22064 2935736 : full_data(idata) = data_tmp
22065 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22066 2935736 : idata = idata + 1
22067 2935736 : data_tmp = ISHFT(pack_tmp, 20)
22068 2935736 : ipack = ipack + 1
22069 2935736 : pack_tmp = packed_data(ipack)
22070 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22071 2935736 : pack_tmp = ISHFT(pack_tmp, -20)
22072 2935736 : idata = idata + 1
22073 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22074 2935736 : full_data(idata) = data_tmp
22075 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22076 2935736 : idata = idata + 1
22077 2935736 : data_tmp = ISHFT(pack_tmp, 16)
22078 2935736 : ipack = ipack + 1
22079 2935736 : pack_tmp = packed_data(ipack)
22080 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22081 2935736 : pack_tmp = ISHFT(pack_tmp, -16)
22082 2935736 : idata = idata + 1
22083 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22084 2935736 : full_data(idata) = data_tmp
22085 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22086 2935736 : idata = idata + 1
22087 2935736 : data_tmp = ISHFT(pack_tmp, 12)
22088 2935736 : ipack = ipack + 1
22089 2935736 : pack_tmp = packed_data(ipack)
22090 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22091 2935736 : pack_tmp = ISHFT(pack_tmp, -12)
22092 2935736 : idata = idata + 1
22093 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22094 2935736 : full_data(idata) = data_tmp
22095 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22096 2935736 : idata = idata + 1
22097 2935736 : data_tmp = ISHFT(pack_tmp, 8)
22098 2935736 : ipack = ipack + 1
22099 2935736 : pack_tmp = packed_data(ipack)
22100 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22101 2935736 : pack_tmp = ISHFT(pack_tmp, -8)
22102 2935736 : idata = idata + 1
22103 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22104 2935736 : full_data(idata) = data_tmp
22105 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22106 2935736 : idata = idata + 1
22107 2935736 : data_tmp = ISHFT(pack_tmp, 4)
22108 2935736 : ipack = ipack + 1
22109 2935736 : pack_tmp = packed_data(ipack)
22110 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22111 2935736 : pack_tmp = ISHFT(pack_tmp, -4)
22112 2935736 : idata = idata + 1
22113 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22114 2935736 : full_data(idata) = data_tmp
22115 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22116 2935736 : idata = idata + 1
22117 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22118 2935736 : full_data(idata) = data_tmp
22119 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22120 2935736 : idata = idata + 1
22121 2935736 : data_tmp = ISHFT(pack_tmp, 30)
22122 2935736 : ipack = ipack + 1
22123 2935736 : pack_tmp = packed_data(ipack)
22124 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22125 2935736 : pack_tmp = ISHFT(pack_tmp, -30)
22126 2935736 : idata = idata + 1
22127 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22128 2935736 : full_data(idata) = data_tmp
22129 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22130 2935736 : idata = idata + 1
22131 2935736 : data_tmp = ISHFT(pack_tmp, 26)
22132 2935736 : ipack = ipack + 1
22133 2935736 : pack_tmp = packed_data(ipack)
22134 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22135 2935736 : pack_tmp = ISHFT(pack_tmp, -26)
22136 2935736 : idata = idata + 1
22137 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22138 2935736 : full_data(idata) = data_tmp
22139 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22140 2935736 : idata = idata + 1
22141 2935736 : data_tmp = ISHFT(pack_tmp, 22)
22142 2935736 : ipack = ipack + 1
22143 2935736 : pack_tmp = packed_data(ipack)
22144 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
22145 2935736 : pack_tmp = ISHFT(pack_tmp, -22)
22146 2935736 : idata = idata + 1
22147 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22148 2935736 : full_data(idata) = data_tmp
22149 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22150 2935736 : idata = idata + 1
22151 2935736 : data_tmp = ISHFT(pack_tmp, 18)
22152 2935736 : ipack = ipack + 1
22153 2935736 : pack_tmp = packed_data(ipack)
22154 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
22155 2935736 : pack_tmp = ISHFT(pack_tmp, -18)
22156 2935736 : idata = idata + 1
22157 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22158 2935736 : full_data(idata) = data_tmp
22159 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22160 2935736 : idata = idata + 1
22161 2935736 : data_tmp = ISHFT(pack_tmp, 14)
22162 2935736 : ipack = ipack + 1
22163 2935736 : pack_tmp = packed_data(ipack)
22164 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22165 2935736 : pack_tmp = ISHFT(pack_tmp, -14)
22166 2935736 : idata = idata + 1
22167 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22168 2935736 : full_data(idata) = data_tmp
22169 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22170 2935736 : idata = idata + 1
22171 2935736 : data_tmp = ISHFT(pack_tmp, 10)
22172 2935736 : ipack = ipack + 1
22173 2935736 : pack_tmp = packed_data(ipack)
22174 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22175 2935736 : pack_tmp = ISHFT(pack_tmp, -10)
22176 2935736 : idata = idata + 1
22177 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22178 2935736 : full_data(idata) = data_tmp
22179 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22180 2935736 : idata = idata + 1
22181 2935736 : data_tmp = ISHFT(pack_tmp, 6)
22182 2935736 : ipack = ipack + 1
22183 2935736 : pack_tmp = packed_data(ipack)
22184 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22185 2935736 : pack_tmp = ISHFT(pack_tmp, -6)
22186 2935736 : idata = idata + 1
22187 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22188 2935736 : full_data(idata) = data_tmp
22189 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22190 2935736 : idata = idata + 1
22191 2935736 : data_tmp = ISHFT(pack_tmp, 2)
22192 2935736 : ipack = ipack + 1
22193 2935736 : pack_tmp = packed_data(ipack)
22194 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22195 2935736 : pack_tmp = ISHFT(pack_tmp, -2)
22196 2935736 : idata = idata + 1
22197 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22198 2935736 : full_data(idata) = data_tmp
22199 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22200 2935736 : idata = idata + 1
22201 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22202 2935736 : full_data(idata) = data_tmp
22203 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22204 2935736 : idata = idata + 1
22205 2935736 : data_tmp = ISHFT(pack_tmp, 28)
22206 2935736 : ipack = ipack + 1
22207 2935736 : pack_tmp = packed_data(ipack)
22208 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22209 2935736 : pack_tmp = ISHFT(pack_tmp, -28)
22210 2935736 : idata = idata + 1
22211 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22212 2935736 : full_data(idata) = data_tmp
22213 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22214 2935736 : idata = idata + 1
22215 2935736 : data_tmp = ISHFT(pack_tmp, 24)
22216 2935736 : ipack = ipack + 1
22217 2935736 : pack_tmp = packed_data(ipack)
22218 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22219 2935736 : pack_tmp = ISHFT(pack_tmp, -24)
22220 2935736 : idata = idata + 1
22221 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22222 2935736 : full_data(idata) = data_tmp
22223 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22224 2935736 : idata = idata + 1
22225 2935736 : data_tmp = ISHFT(pack_tmp, 20)
22226 2935736 : ipack = ipack + 1
22227 2935736 : pack_tmp = packed_data(ipack)
22228 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22229 2935736 : pack_tmp = ISHFT(pack_tmp, -20)
22230 2935736 : idata = idata + 1
22231 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22232 2935736 : full_data(idata) = data_tmp
22233 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22234 2935736 : idata = idata + 1
22235 2935736 : data_tmp = ISHFT(pack_tmp, 16)
22236 2935736 : ipack = ipack + 1
22237 2935736 : pack_tmp = packed_data(ipack)
22238 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22239 2935736 : pack_tmp = ISHFT(pack_tmp, -16)
22240 2935736 : idata = idata + 1
22241 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22242 2935736 : full_data(idata) = data_tmp
22243 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22244 2935736 : idata = idata + 1
22245 2935736 : data_tmp = ISHFT(pack_tmp, 12)
22246 2935736 : ipack = ipack + 1
22247 2935736 : pack_tmp = packed_data(ipack)
22248 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22249 2935736 : pack_tmp = ISHFT(pack_tmp, -12)
22250 2935736 : idata = idata + 1
22251 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22252 2935736 : full_data(idata) = data_tmp
22253 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22254 2935736 : idata = idata + 1
22255 2935736 : data_tmp = ISHFT(pack_tmp, 8)
22256 2935736 : ipack = ipack + 1
22257 2935736 : pack_tmp = packed_data(ipack)
22258 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22259 2935736 : pack_tmp = ISHFT(pack_tmp, -8)
22260 2935736 : idata = idata + 1
22261 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22262 2935736 : full_data(idata) = data_tmp
22263 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22264 2935736 : idata = idata + 1
22265 2935736 : data_tmp = ISHFT(pack_tmp, 4)
22266 2935736 : ipack = ipack + 1
22267 2935736 : pack_tmp = packed_data(ipack)
22268 2935736 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22269 2935736 : pack_tmp = ISHFT(pack_tmp, -4)
22270 2935736 : idata = idata + 1
22271 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22272 2935736 : full_data(idata) = data_tmp
22273 2935736 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22274 2935736 : idata = idata + 1
22275 2935736 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22276 2935736 : full_data(idata) = data_tmp
22277 2938110 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22278 : END DO
22279 227012 : IF (Ndata_rep < Ndata) THEN
22280 81936 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22281 : END IF
22282 227012 : END SUBROUTINE bits2ints_30
22283 :
22284 : ! **************************************************************************************************
22285 : !> \brief ...
22286 : !> \param Ndata ...
22287 : !> \param packed_data ...
22288 : !> \param full_data ...
22289 : ! **************************************************************************************************
22290 43662 : 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 43662 : idata = 0
22301 43662 : ipack = 0
22302 43662 : Ndata_rep = (Ndata/64)*64
22303 43662 : DO kdata = 1, Ndata_rep, 64
22304 591798 : pack_tmp = 0
22305 591798 : idata = idata + 1
22306 591798 : data_tmp = full_data(idata)
22307 591798 : data_tmp = ISHFT(data_tmp, 33)
22308 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22309 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22310 591798 : idata = idata + 1
22311 591798 : data_tmp = full_data(idata)
22312 591798 : data_tmp = ISHFT(data_tmp, 33)
22313 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22314 591798 : pack_tmp = ISHFT(pack_tmp, -2)
22315 591798 : idata = idata + 1
22316 591798 : data_tmp = full_data(idata)
22317 591798 : data_tmp = ISHFT(data_tmp, 33)
22318 591798 : data_tmp = IAND(data_tmp, mask_left(2))
22319 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22320 591798 : ipack = ipack + 1
22321 591798 : packed_data(ipack) = pack_tmp
22322 591798 : data_tmp = full_data(idata)
22323 591798 : pack_tmp = ISHFT(data_tmp, 35)
22324 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22325 591798 : idata = idata + 1
22326 591798 : data_tmp = full_data(idata)
22327 591798 : data_tmp = ISHFT(data_tmp, 33)
22328 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22329 591798 : pack_tmp = ISHFT(pack_tmp, -4)
22330 591798 : idata = idata + 1
22331 591798 : data_tmp = full_data(idata)
22332 591798 : data_tmp = ISHFT(data_tmp, 33)
22333 591798 : data_tmp = IAND(data_tmp, mask_left(4))
22334 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22335 591798 : ipack = ipack + 1
22336 591798 : packed_data(ipack) = pack_tmp
22337 591798 : data_tmp = full_data(idata)
22338 591798 : pack_tmp = ISHFT(data_tmp, 37)
22339 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22340 591798 : idata = idata + 1
22341 591798 : data_tmp = full_data(idata)
22342 591798 : data_tmp = ISHFT(data_tmp, 33)
22343 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22344 591798 : pack_tmp = ISHFT(pack_tmp, -6)
22345 591798 : idata = idata + 1
22346 591798 : data_tmp = full_data(idata)
22347 591798 : data_tmp = ISHFT(data_tmp, 33)
22348 591798 : data_tmp = IAND(data_tmp, mask_left(6))
22349 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22350 591798 : ipack = ipack + 1
22351 591798 : packed_data(ipack) = pack_tmp
22352 591798 : data_tmp = full_data(idata)
22353 591798 : pack_tmp = ISHFT(data_tmp, 39)
22354 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22355 591798 : idata = idata + 1
22356 591798 : data_tmp = full_data(idata)
22357 591798 : data_tmp = ISHFT(data_tmp, 33)
22358 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22359 591798 : pack_tmp = ISHFT(pack_tmp, -8)
22360 591798 : idata = idata + 1
22361 591798 : data_tmp = full_data(idata)
22362 591798 : data_tmp = ISHFT(data_tmp, 33)
22363 591798 : data_tmp = IAND(data_tmp, mask_left(8))
22364 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22365 591798 : ipack = ipack + 1
22366 591798 : packed_data(ipack) = pack_tmp
22367 591798 : data_tmp = full_data(idata)
22368 591798 : pack_tmp = ISHFT(data_tmp, 41)
22369 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22370 591798 : idata = idata + 1
22371 591798 : data_tmp = full_data(idata)
22372 591798 : data_tmp = ISHFT(data_tmp, 33)
22373 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22374 591798 : pack_tmp = ISHFT(pack_tmp, -10)
22375 591798 : idata = idata + 1
22376 591798 : data_tmp = full_data(idata)
22377 591798 : data_tmp = ISHFT(data_tmp, 33)
22378 591798 : data_tmp = IAND(data_tmp, mask_left(10))
22379 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22380 591798 : ipack = ipack + 1
22381 591798 : packed_data(ipack) = pack_tmp
22382 591798 : data_tmp = full_data(idata)
22383 591798 : pack_tmp = ISHFT(data_tmp, 43)
22384 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22385 591798 : idata = idata + 1
22386 591798 : data_tmp = full_data(idata)
22387 591798 : data_tmp = ISHFT(data_tmp, 33)
22388 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22389 591798 : pack_tmp = ISHFT(pack_tmp, -12)
22390 591798 : idata = idata + 1
22391 591798 : data_tmp = full_data(idata)
22392 591798 : data_tmp = ISHFT(data_tmp, 33)
22393 591798 : data_tmp = IAND(data_tmp, mask_left(12))
22394 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22395 591798 : ipack = ipack + 1
22396 591798 : packed_data(ipack) = pack_tmp
22397 591798 : data_tmp = full_data(idata)
22398 591798 : pack_tmp = ISHFT(data_tmp, 45)
22399 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22400 591798 : idata = idata + 1
22401 591798 : data_tmp = full_data(idata)
22402 591798 : data_tmp = ISHFT(data_tmp, 33)
22403 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22404 591798 : pack_tmp = ISHFT(pack_tmp, -14)
22405 591798 : idata = idata + 1
22406 591798 : data_tmp = full_data(idata)
22407 591798 : data_tmp = ISHFT(data_tmp, 33)
22408 591798 : data_tmp = IAND(data_tmp, mask_left(14))
22409 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22410 591798 : ipack = ipack + 1
22411 591798 : packed_data(ipack) = pack_tmp
22412 591798 : data_tmp = full_data(idata)
22413 591798 : pack_tmp = ISHFT(data_tmp, 47)
22414 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22415 591798 : idata = idata + 1
22416 591798 : data_tmp = full_data(idata)
22417 591798 : data_tmp = ISHFT(data_tmp, 33)
22418 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22419 591798 : pack_tmp = ISHFT(pack_tmp, -16)
22420 591798 : idata = idata + 1
22421 591798 : data_tmp = full_data(idata)
22422 591798 : data_tmp = ISHFT(data_tmp, 33)
22423 591798 : data_tmp = IAND(data_tmp, mask_left(16))
22424 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22425 591798 : ipack = ipack + 1
22426 591798 : packed_data(ipack) = pack_tmp
22427 591798 : data_tmp = full_data(idata)
22428 591798 : pack_tmp = ISHFT(data_tmp, 49)
22429 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22430 591798 : idata = idata + 1
22431 591798 : data_tmp = full_data(idata)
22432 591798 : data_tmp = ISHFT(data_tmp, 33)
22433 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22434 591798 : pack_tmp = ISHFT(pack_tmp, -18)
22435 591798 : idata = idata + 1
22436 591798 : data_tmp = full_data(idata)
22437 591798 : data_tmp = ISHFT(data_tmp, 33)
22438 591798 : data_tmp = IAND(data_tmp, mask_left(18))
22439 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22440 591798 : ipack = ipack + 1
22441 591798 : packed_data(ipack) = pack_tmp
22442 591798 : data_tmp = full_data(idata)
22443 591798 : pack_tmp = ISHFT(data_tmp, 51)
22444 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22445 591798 : idata = idata + 1
22446 591798 : data_tmp = full_data(idata)
22447 591798 : data_tmp = ISHFT(data_tmp, 33)
22448 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22449 591798 : pack_tmp = ISHFT(pack_tmp, -20)
22450 591798 : idata = idata + 1
22451 591798 : data_tmp = full_data(idata)
22452 591798 : data_tmp = ISHFT(data_tmp, 33)
22453 591798 : data_tmp = IAND(data_tmp, mask_left(20))
22454 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22455 591798 : ipack = ipack + 1
22456 591798 : packed_data(ipack) = pack_tmp
22457 591798 : data_tmp = full_data(idata)
22458 591798 : pack_tmp = ISHFT(data_tmp, 53)
22459 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22460 591798 : idata = idata + 1
22461 591798 : data_tmp = full_data(idata)
22462 591798 : data_tmp = ISHFT(data_tmp, 33)
22463 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22464 591798 : pack_tmp = ISHFT(pack_tmp, -22)
22465 591798 : idata = idata + 1
22466 591798 : data_tmp = full_data(idata)
22467 591798 : data_tmp = ISHFT(data_tmp, 33)
22468 591798 : data_tmp = IAND(data_tmp, mask_left(22))
22469 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22470 591798 : ipack = ipack + 1
22471 591798 : packed_data(ipack) = pack_tmp
22472 591798 : data_tmp = full_data(idata)
22473 591798 : pack_tmp = ISHFT(data_tmp, 55)
22474 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22475 591798 : idata = idata + 1
22476 591798 : data_tmp = full_data(idata)
22477 591798 : data_tmp = ISHFT(data_tmp, 33)
22478 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22479 591798 : pack_tmp = ISHFT(pack_tmp, -24)
22480 591798 : idata = idata + 1
22481 591798 : data_tmp = full_data(idata)
22482 591798 : data_tmp = ISHFT(data_tmp, 33)
22483 591798 : data_tmp = IAND(data_tmp, mask_left(24))
22484 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22485 591798 : ipack = ipack + 1
22486 591798 : packed_data(ipack) = pack_tmp
22487 591798 : data_tmp = full_data(idata)
22488 591798 : pack_tmp = ISHFT(data_tmp, 57)
22489 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22490 591798 : idata = idata + 1
22491 591798 : data_tmp = full_data(idata)
22492 591798 : data_tmp = ISHFT(data_tmp, 33)
22493 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22494 591798 : pack_tmp = ISHFT(pack_tmp, -26)
22495 591798 : idata = idata + 1
22496 591798 : data_tmp = full_data(idata)
22497 591798 : data_tmp = ISHFT(data_tmp, 33)
22498 591798 : data_tmp = IAND(data_tmp, mask_left(26))
22499 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22500 591798 : ipack = ipack + 1
22501 591798 : packed_data(ipack) = pack_tmp
22502 591798 : data_tmp = full_data(idata)
22503 591798 : pack_tmp = ISHFT(data_tmp, 59)
22504 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22505 591798 : idata = idata + 1
22506 591798 : data_tmp = full_data(idata)
22507 591798 : data_tmp = ISHFT(data_tmp, 33)
22508 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22509 591798 : pack_tmp = ISHFT(pack_tmp, -28)
22510 591798 : idata = idata + 1
22511 591798 : data_tmp = full_data(idata)
22512 591798 : data_tmp = ISHFT(data_tmp, 33)
22513 591798 : data_tmp = IAND(data_tmp, mask_left(28))
22514 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22515 591798 : ipack = ipack + 1
22516 591798 : packed_data(ipack) = pack_tmp
22517 591798 : data_tmp = full_data(idata)
22518 591798 : pack_tmp = ISHFT(data_tmp, 61)
22519 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22520 591798 : idata = idata + 1
22521 591798 : data_tmp = full_data(idata)
22522 591798 : data_tmp = ISHFT(data_tmp, 33)
22523 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22524 591798 : pack_tmp = ISHFT(pack_tmp, -30)
22525 591798 : idata = idata + 1
22526 591798 : data_tmp = full_data(idata)
22527 591798 : data_tmp = ISHFT(data_tmp, 33)
22528 591798 : data_tmp = IAND(data_tmp, mask_left(30))
22529 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22530 591798 : ipack = ipack + 1
22531 591798 : packed_data(ipack) = pack_tmp
22532 591798 : data_tmp = full_data(idata)
22533 591798 : pack_tmp = ISHFT(data_tmp, 63)
22534 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22535 591798 : idata = idata + 1
22536 591798 : data_tmp = full_data(idata)
22537 591798 : data_tmp = ISHFT(data_tmp, 33)
22538 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22539 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22540 591798 : idata = idata + 1
22541 591798 : data_tmp = full_data(idata)
22542 591798 : data_tmp = ISHFT(data_tmp, 33)
22543 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22544 591798 : pack_tmp = ISHFT(pack_tmp, -1)
22545 591798 : idata = idata + 1
22546 591798 : data_tmp = full_data(idata)
22547 591798 : data_tmp = ISHFT(data_tmp, 33)
22548 591798 : data_tmp = IAND(data_tmp, mask_left(1))
22549 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22550 591798 : ipack = ipack + 1
22551 591798 : packed_data(ipack) = pack_tmp
22552 591798 : data_tmp = full_data(idata)
22553 591798 : pack_tmp = ISHFT(data_tmp, 34)
22554 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22555 591798 : idata = idata + 1
22556 591798 : data_tmp = full_data(idata)
22557 591798 : data_tmp = ISHFT(data_tmp, 33)
22558 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22559 591798 : pack_tmp = ISHFT(pack_tmp, -3)
22560 591798 : idata = idata + 1
22561 591798 : data_tmp = full_data(idata)
22562 591798 : data_tmp = ISHFT(data_tmp, 33)
22563 591798 : data_tmp = IAND(data_tmp, mask_left(3))
22564 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22565 591798 : ipack = ipack + 1
22566 591798 : packed_data(ipack) = pack_tmp
22567 591798 : data_tmp = full_data(idata)
22568 591798 : pack_tmp = ISHFT(data_tmp, 36)
22569 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22570 591798 : idata = idata + 1
22571 591798 : data_tmp = full_data(idata)
22572 591798 : data_tmp = ISHFT(data_tmp, 33)
22573 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22574 591798 : pack_tmp = ISHFT(pack_tmp, -5)
22575 591798 : idata = idata + 1
22576 591798 : data_tmp = full_data(idata)
22577 591798 : data_tmp = ISHFT(data_tmp, 33)
22578 591798 : data_tmp = IAND(data_tmp, mask_left(5))
22579 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22580 591798 : ipack = ipack + 1
22581 591798 : packed_data(ipack) = pack_tmp
22582 591798 : data_tmp = full_data(idata)
22583 591798 : pack_tmp = ISHFT(data_tmp, 38)
22584 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22585 591798 : idata = idata + 1
22586 591798 : data_tmp = full_data(idata)
22587 591798 : data_tmp = ISHFT(data_tmp, 33)
22588 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22589 591798 : pack_tmp = ISHFT(pack_tmp, -7)
22590 591798 : idata = idata + 1
22591 591798 : data_tmp = full_data(idata)
22592 591798 : data_tmp = ISHFT(data_tmp, 33)
22593 591798 : data_tmp = IAND(data_tmp, mask_left(7))
22594 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22595 591798 : ipack = ipack + 1
22596 591798 : packed_data(ipack) = pack_tmp
22597 591798 : data_tmp = full_data(idata)
22598 591798 : pack_tmp = ISHFT(data_tmp, 40)
22599 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22600 591798 : idata = idata + 1
22601 591798 : data_tmp = full_data(idata)
22602 591798 : data_tmp = ISHFT(data_tmp, 33)
22603 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22604 591798 : pack_tmp = ISHFT(pack_tmp, -9)
22605 591798 : idata = idata + 1
22606 591798 : data_tmp = full_data(idata)
22607 591798 : data_tmp = ISHFT(data_tmp, 33)
22608 591798 : data_tmp = IAND(data_tmp, mask_left(9))
22609 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22610 591798 : ipack = ipack + 1
22611 591798 : packed_data(ipack) = pack_tmp
22612 591798 : data_tmp = full_data(idata)
22613 591798 : pack_tmp = ISHFT(data_tmp, 42)
22614 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22615 591798 : idata = idata + 1
22616 591798 : data_tmp = full_data(idata)
22617 591798 : data_tmp = ISHFT(data_tmp, 33)
22618 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22619 591798 : pack_tmp = ISHFT(pack_tmp, -11)
22620 591798 : idata = idata + 1
22621 591798 : data_tmp = full_data(idata)
22622 591798 : data_tmp = ISHFT(data_tmp, 33)
22623 591798 : data_tmp = IAND(data_tmp, mask_left(11))
22624 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22625 591798 : ipack = ipack + 1
22626 591798 : packed_data(ipack) = pack_tmp
22627 591798 : data_tmp = full_data(idata)
22628 591798 : pack_tmp = ISHFT(data_tmp, 44)
22629 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22630 591798 : idata = idata + 1
22631 591798 : data_tmp = full_data(idata)
22632 591798 : data_tmp = ISHFT(data_tmp, 33)
22633 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22634 591798 : pack_tmp = ISHFT(pack_tmp, -13)
22635 591798 : idata = idata + 1
22636 591798 : data_tmp = full_data(idata)
22637 591798 : data_tmp = ISHFT(data_tmp, 33)
22638 591798 : data_tmp = IAND(data_tmp, mask_left(13))
22639 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22640 591798 : ipack = ipack + 1
22641 591798 : packed_data(ipack) = pack_tmp
22642 591798 : data_tmp = full_data(idata)
22643 591798 : pack_tmp = ISHFT(data_tmp, 46)
22644 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22645 591798 : idata = idata + 1
22646 591798 : data_tmp = full_data(idata)
22647 591798 : data_tmp = ISHFT(data_tmp, 33)
22648 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22649 591798 : pack_tmp = ISHFT(pack_tmp, -15)
22650 591798 : idata = idata + 1
22651 591798 : data_tmp = full_data(idata)
22652 591798 : data_tmp = ISHFT(data_tmp, 33)
22653 591798 : data_tmp = IAND(data_tmp, mask_left(15))
22654 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22655 591798 : ipack = ipack + 1
22656 591798 : packed_data(ipack) = pack_tmp
22657 591798 : data_tmp = full_data(idata)
22658 591798 : pack_tmp = ISHFT(data_tmp, 48)
22659 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22660 591798 : idata = idata + 1
22661 591798 : data_tmp = full_data(idata)
22662 591798 : data_tmp = ISHFT(data_tmp, 33)
22663 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22664 591798 : pack_tmp = ISHFT(pack_tmp, -17)
22665 591798 : idata = idata + 1
22666 591798 : data_tmp = full_data(idata)
22667 591798 : data_tmp = ISHFT(data_tmp, 33)
22668 591798 : data_tmp = IAND(data_tmp, mask_left(17))
22669 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22670 591798 : ipack = ipack + 1
22671 591798 : packed_data(ipack) = pack_tmp
22672 591798 : data_tmp = full_data(idata)
22673 591798 : pack_tmp = ISHFT(data_tmp, 50)
22674 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22675 591798 : idata = idata + 1
22676 591798 : data_tmp = full_data(idata)
22677 591798 : data_tmp = ISHFT(data_tmp, 33)
22678 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22679 591798 : pack_tmp = ISHFT(pack_tmp, -19)
22680 591798 : idata = idata + 1
22681 591798 : data_tmp = full_data(idata)
22682 591798 : data_tmp = ISHFT(data_tmp, 33)
22683 591798 : data_tmp = IAND(data_tmp, mask_left(19))
22684 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22685 591798 : ipack = ipack + 1
22686 591798 : packed_data(ipack) = pack_tmp
22687 591798 : data_tmp = full_data(idata)
22688 591798 : pack_tmp = ISHFT(data_tmp, 52)
22689 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22690 591798 : idata = idata + 1
22691 591798 : data_tmp = full_data(idata)
22692 591798 : data_tmp = ISHFT(data_tmp, 33)
22693 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22694 591798 : pack_tmp = ISHFT(pack_tmp, -21)
22695 591798 : idata = idata + 1
22696 591798 : data_tmp = full_data(idata)
22697 591798 : data_tmp = ISHFT(data_tmp, 33)
22698 591798 : data_tmp = IAND(data_tmp, mask_left(21))
22699 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22700 591798 : ipack = ipack + 1
22701 591798 : packed_data(ipack) = pack_tmp
22702 591798 : data_tmp = full_data(idata)
22703 591798 : pack_tmp = ISHFT(data_tmp, 54)
22704 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22705 591798 : idata = idata + 1
22706 591798 : data_tmp = full_data(idata)
22707 591798 : data_tmp = ISHFT(data_tmp, 33)
22708 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22709 591798 : pack_tmp = ISHFT(pack_tmp, -23)
22710 591798 : idata = idata + 1
22711 591798 : data_tmp = full_data(idata)
22712 591798 : data_tmp = ISHFT(data_tmp, 33)
22713 591798 : data_tmp = IAND(data_tmp, mask_left(23))
22714 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22715 591798 : ipack = ipack + 1
22716 591798 : packed_data(ipack) = pack_tmp
22717 591798 : data_tmp = full_data(idata)
22718 591798 : pack_tmp = ISHFT(data_tmp, 56)
22719 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22720 591798 : idata = idata + 1
22721 591798 : data_tmp = full_data(idata)
22722 591798 : data_tmp = ISHFT(data_tmp, 33)
22723 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22724 591798 : pack_tmp = ISHFT(pack_tmp, -25)
22725 591798 : idata = idata + 1
22726 591798 : data_tmp = full_data(idata)
22727 591798 : data_tmp = ISHFT(data_tmp, 33)
22728 591798 : data_tmp = IAND(data_tmp, mask_left(25))
22729 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22730 591798 : ipack = ipack + 1
22731 591798 : packed_data(ipack) = pack_tmp
22732 591798 : data_tmp = full_data(idata)
22733 591798 : pack_tmp = ISHFT(data_tmp, 58)
22734 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22735 591798 : idata = idata + 1
22736 591798 : data_tmp = full_data(idata)
22737 591798 : data_tmp = ISHFT(data_tmp, 33)
22738 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22739 591798 : pack_tmp = ISHFT(pack_tmp, -27)
22740 591798 : idata = idata + 1
22741 591798 : data_tmp = full_data(idata)
22742 591798 : data_tmp = ISHFT(data_tmp, 33)
22743 591798 : data_tmp = IAND(data_tmp, mask_left(27))
22744 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22745 591798 : ipack = ipack + 1
22746 591798 : packed_data(ipack) = pack_tmp
22747 591798 : data_tmp = full_data(idata)
22748 591798 : pack_tmp = ISHFT(data_tmp, 60)
22749 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22750 591798 : idata = idata + 1
22751 591798 : data_tmp = full_data(idata)
22752 591798 : data_tmp = ISHFT(data_tmp, 33)
22753 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22754 591798 : pack_tmp = ISHFT(pack_tmp, -29)
22755 591798 : idata = idata + 1
22756 591798 : data_tmp = full_data(idata)
22757 591798 : data_tmp = ISHFT(data_tmp, 33)
22758 591798 : data_tmp = IAND(data_tmp, mask_left(29))
22759 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22760 591798 : ipack = ipack + 1
22761 591798 : packed_data(ipack) = pack_tmp
22762 591798 : data_tmp = full_data(idata)
22763 591798 : pack_tmp = ISHFT(data_tmp, 62)
22764 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22765 591798 : idata = idata + 1
22766 591798 : data_tmp = full_data(idata)
22767 591798 : data_tmp = ISHFT(data_tmp, 33)
22768 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22769 591798 : pack_tmp = ISHFT(pack_tmp, -31)
22770 591798 : idata = idata + 1
22771 591798 : data_tmp = full_data(idata)
22772 591798 : data_tmp = ISHFT(data_tmp, 33)
22773 591798 : pack_tmp = IOR(pack_tmp, data_tmp)
22774 : pack_tmp = ISHFT(pack_tmp, 0)
22775 591798 : pack_tmp = ISHFT(pack_tmp, 0)
22776 591798 : ipack = ipack + 1
22777 591958 : packed_data(ipack) = pack_tmp
22778 : END DO
22779 43662 : IF (Ndata_rep < Ndata) THEN
22780 12564 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22781 : END IF
22782 43662 : END SUBROUTINE ints2bits_31
22783 :
22784 : ! **************************************************************************************************
22785 : !> \brief ...
22786 : !> \param Ndata ...
22787 : !> \param packed_data ...
22788 : !> \param full_data ...
22789 : ! **************************************************************************************************
22790 273627 : 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 273627 : ipack = 0
22801 273627 : idata = 0
22802 273627 : pack_tmp = 0
22803 273627 : Ndata_rep = (Ndata/64)*64
22804 273627 : DO kdata = 1, Ndata_rep, 64
22805 3419385 : idata = idata + 1
22806 3419385 : data_tmp = ISHFT(pack_tmp, 31)
22807 3419385 : ipack = ipack + 1
22808 3419385 : pack_tmp = packed_data(ipack)
22809 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
22810 3419385 : pack_tmp = ISHFT(pack_tmp, -31)
22811 3419385 : idata = idata + 1
22812 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22813 3419385 : full_data(idata) = data_tmp
22814 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22815 3419385 : idata = idata + 1
22816 3419385 : data_tmp = ISHFT(pack_tmp, 29)
22817 3419385 : ipack = ipack + 1
22818 3419385 : pack_tmp = packed_data(ipack)
22819 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
22820 3419385 : pack_tmp = ISHFT(pack_tmp, -29)
22821 3419385 : idata = idata + 1
22822 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22823 3419385 : full_data(idata) = data_tmp
22824 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22825 3419385 : idata = idata + 1
22826 3419385 : data_tmp = ISHFT(pack_tmp, 27)
22827 3419385 : ipack = ipack + 1
22828 3419385 : pack_tmp = packed_data(ipack)
22829 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
22830 3419385 : pack_tmp = ISHFT(pack_tmp, -27)
22831 3419385 : idata = idata + 1
22832 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22833 3419385 : full_data(idata) = data_tmp
22834 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22835 3419385 : idata = idata + 1
22836 3419385 : data_tmp = ISHFT(pack_tmp, 25)
22837 3419385 : ipack = ipack + 1
22838 3419385 : pack_tmp = packed_data(ipack)
22839 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
22840 3419385 : pack_tmp = ISHFT(pack_tmp, -25)
22841 3419385 : idata = idata + 1
22842 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22843 3419385 : full_data(idata) = data_tmp
22844 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22845 3419385 : idata = idata + 1
22846 3419385 : data_tmp = ISHFT(pack_tmp, 23)
22847 3419385 : ipack = ipack + 1
22848 3419385 : pack_tmp = packed_data(ipack)
22849 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
22850 3419385 : pack_tmp = ISHFT(pack_tmp, -23)
22851 3419385 : idata = idata + 1
22852 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22853 3419385 : full_data(idata) = data_tmp
22854 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22855 3419385 : idata = idata + 1
22856 3419385 : data_tmp = ISHFT(pack_tmp, 21)
22857 3419385 : ipack = ipack + 1
22858 3419385 : pack_tmp = packed_data(ipack)
22859 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
22860 3419385 : pack_tmp = ISHFT(pack_tmp, -21)
22861 3419385 : idata = idata + 1
22862 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22863 3419385 : full_data(idata) = data_tmp
22864 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22865 3419385 : idata = idata + 1
22866 3419385 : data_tmp = ISHFT(pack_tmp, 19)
22867 3419385 : ipack = ipack + 1
22868 3419385 : pack_tmp = packed_data(ipack)
22869 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
22870 3419385 : pack_tmp = ISHFT(pack_tmp, -19)
22871 3419385 : idata = idata + 1
22872 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22873 3419385 : full_data(idata) = data_tmp
22874 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22875 3419385 : idata = idata + 1
22876 3419385 : data_tmp = ISHFT(pack_tmp, 17)
22877 3419385 : ipack = ipack + 1
22878 3419385 : pack_tmp = packed_data(ipack)
22879 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
22880 3419385 : pack_tmp = ISHFT(pack_tmp, -17)
22881 3419385 : idata = idata + 1
22882 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22883 3419385 : full_data(idata) = data_tmp
22884 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22885 3419385 : idata = idata + 1
22886 3419385 : data_tmp = ISHFT(pack_tmp, 15)
22887 3419385 : ipack = ipack + 1
22888 3419385 : pack_tmp = packed_data(ipack)
22889 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
22890 3419385 : pack_tmp = ISHFT(pack_tmp, -15)
22891 3419385 : idata = idata + 1
22892 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22893 3419385 : full_data(idata) = data_tmp
22894 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22895 3419385 : idata = idata + 1
22896 3419385 : data_tmp = ISHFT(pack_tmp, 13)
22897 3419385 : ipack = ipack + 1
22898 3419385 : pack_tmp = packed_data(ipack)
22899 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
22900 3419385 : pack_tmp = ISHFT(pack_tmp, -13)
22901 3419385 : idata = idata + 1
22902 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22903 3419385 : full_data(idata) = data_tmp
22904 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22905 3419385 : idata = idata + 1
22906 3419385 : data_tmp = ISHFT(pack_tmp, 11)
22907 3419385 : ipack = ipack + 1
22908 3419385 : pack_tmp = packed_data(ipack)
22909 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
22910 3419385 : pack_tmp = ISHFT(pack_tmp, -11)
22911 3419385 : idata = idata + 1
22912 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22913 3419385 : full_data(idata) = data_tmp
22914 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22915 3419385 : idata = idata + 1
22916 3419385 : data_tmp = ISHFT(pack_tmp, 9)
22917 3419385 : ipack = ipack + 1
22918 3419385 : pack_tmp = packed_data(ipack)
22919 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
22920 3419385 : pack_tmp = ISHFT(pack_tmp, -9)
22921 3419385 : idata = idata + 1
22922 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22923 3419385 : full_data(idata) = data_tmp
22924 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22925 3419385 : idata = idata + 1
22926 3419385 : data_tmp = ISHFT(pack_tmp, 7)
22927 3419385 : ipack = ipack + 1
22928 3419385 : pack_tmp = packed_data(ipack)
22929 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
22930 3419385 : pack_tmp = ISHFT(pack_tmp, -7)
22931 3419385 : idata = idata + 1
22932 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22933 3419385 : full_data(idata) = data_tmp
22934 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22935 3419385 : idata = idata + 1
22936 3419385 : data_tmp = ISHFT(pack_tmp, 5)
22937 3419385 : ipack = ipack + 1
22938 3419385 : pack_tmp = packed_data(ipack)
22939 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
22940 3419385 : pack_tmp = ISHFT(pack_tmp, -5)
22941 3419385 : idata = idata + 1
22942 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22943 3419385 : full_data(idata) = data_tmp
22944 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22945 3419385 : idata = idata + 1
22946 3419385 : data_tmp = ISHFT(pack_tmp, 3)
22947 3419385 : ipack = ipack + 1
22948 3419385 : pack_tmp = packed_data(ipack)
22949 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
22950 3419385 : pack_tmp = ISHFT(pack_tmp, -3)
22951 3419385 : idata = idata + 1
22952 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22953 3419385 : full_data(idata) = data_tmp
22954 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22955 3419385 : idata = idata + 1
22956 3419385 : data_tmp = ISHFT(pack_tmp, 1)
22957 3419385 : ipack = ipack + 1
22958 3419385 : pack_tmp = packed_data(ipack)
22959 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
22960 3419385 : pack_tmp = ISHFT(pack_tmp, -1)
22961 3419385 : idata = idata + 1
22962 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22963 3419385 : full_data(idata) = data_tmp
22964 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22965 3419385 : idata = idata + 1
22966 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22967 3419385 : full_data(idata) = data_tmp
22968 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22969 3419385 : idata = idata + 1
22970 3419385 : data_tmp = ISHFT(pack_tmp, 30)
22971 3419385 : ipack = ipack + 1
22972 3419385 : pack_tmp = packed_data(ipack)
22973 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22974 3419385 : pack_tmp = ISHFT(pack_tmp, -30)
22975 3419385 : idata = idata + 1
22976 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22977 3419385 : full_data(idata) = data_tmp
22978 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22979 3419385 : idata = idata + 1
22980 3419385 : data_tmp = ISHFT(pack_tmp, 28)
22981 3419385 : ipack = ipack + 1
22982 3419385 : pack_tmp = packed_data(ipack)
22983 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22984 3419385 : pack_tmp = ISHFT(pack_tmp, -28)
22985 3419385 : idata = idata + 1
22986 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22987 3419385 : full_data(idata) = data_tmp
22988 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22989 3419385 : idata = idata + 1
22990 3419385 : data_tmp = ISHFT(pack_tmp, 26)
22991 3419385 : ipack = ipack + 1
22992 3419385 : pack_tmp = packed_data(ipack)
22993 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22994 3419385 : pack_tmp = ISHFT(pack_tmp, -26)
22995 3419385 : idata = idata + 1
22996 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22997 3419385 : full_data(idata) = data_tmp
22998 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22999 3419385 : idata = idata + 1
23000 3419385 : data_tmp = ISHFT(pack_tmp, 24)
23001 3419385 : ipack = ipack + 1
23002 3419385 : pack_tmp = packed_data(ipack)
23003 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
23004 3419385 : pack_tmp = ISHFT(pack_tmp, -24)
23005 3419385 : idata = idata + 1
23006 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23007 3419385 : full_data(idata) = data_tmp
23008 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23009 3419385 : idata = idata + 1
23010 3419385 : data_tmp = ISHFT(pack_tmp, 22)
23011 3419385 : ipack = ipack + 1
23012 3419385 : pack_tmp = packed_data(ipack)
23013 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
23014 3419385 : pack_tmp = ISHFT(pack_tmp, -22)
23015 3419385 : idata = idata + 1
23016 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23017 3419385 : full_data(idata) = data_tmp
23018 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23019 3419385 : idata = idata + 1
23020 3419385 : data_tmp = ISHFT(pack_tmp, 20)
23021 3419385 : ipack = ipack + 1
23022 3419385 : pack_tmp = packed_data(ipack)
23023 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
23024 3419385 : pack_tmp = ISHFT(pack_tmp, -20)
23025 3419385 : idata = idata + 1
23026 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23027 3419385 : full_data(idata) = data_tmp
23028 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23029 3419385 : idata = idata + 1
23030 3419385 : data_tmp = ISHFT(pack_tmp, 18)
23031 3419385 : ipack = ipack + 1
23032 3419385 : pack_tmp = packed_data(ipack)
23033 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
23034 3419385 : pack_tmp = ISHFT(pack_tmp, -18)
23035 3419385 : idata = idata + 1
23036 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23037 3419385 : full_data(idata) = data_tmp
23038 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23039 3419385 : idata = idata + 1
23040 3419385 : data_tmp = ISHFT(pack_tmp, 16)
23041 3419385 : ipack = ipack + 1
23042 3419385 : pack_tmp = packed_data(ipack)
23043 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
23044 3419385 : pack_tmp = ISHFT(pack_tmp, -16)
23045 3419385 : idata = idata + 1
23046 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23047 3419385 : full_data(idata) = data_tmp
23048 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23049 3419385 : idata = idata + 1
23050 3419385 : data_tmp = ISHFT(pack_tmp, 14)
23051 3419385 : ipack = ipack + 1
23052 3419385 : pack_tmp = packed_data(ipack)
23053 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
23054 3419385 : pack_tmp = ISHFT(pack_tmp, -14)
23055 3419385 : idata = idata + 1
23056 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23057 3419385 : full_data(idata) = data_tmp
23058 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23059 3419385 : idata = idata + 1
23060 3419385 : data_tmp = ISHFT(pack_tmp, 12)
23061 3419385 : ipack = ipack + 1
23062 3419385 : pack_tmp = packed_data(ipack)
23063 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
23064 3419385 : pack_tmp = ISHFT(pack_tmp, -12)
23065 3419385 : idata = idata + 1
23066 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23067 3419385 : full_data(idata) = data_tmp
23068 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23069 3419385 : idata = idata + 1
23070 3419385 : data_tmp = ISHFT(pack_tmp, 10)
23071 3419385 : ipack = ipack + 1
23072 3419385 : pack_tmp = packed_data(ipack)
23073 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
23074 3419385 : pack_tmp = ISHFT(pack_tmp, -10)
23075 3419385 : idata = idata + 1
23076 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23077 3419385 : full_data(idata) = data_tmp
23078 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23079 3419385 : idata = idata + 1
23080 3419385 : data_tmp = ISHFT(pack_tmp, 8)
23081 3419385 : ipack = ipack + 1
23082 3419385 : pack_tmp = packed_data(ipack)
23083 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
23084 3419385 : pack_tmp = ISHFT(pack_tmp, -8)
23085 3419385 : idata = idata + 1
23086 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23087 3419385 : full_data(idata) = data_tmp
23088 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23089 3419385 : idata = idata + 1
23090 3419385 : data_tmp = ISHFT(pack_tmp, 6)
23091 3419385 : ipack = ipack + 1
23092 3419385 : pack_tmp = packed_data(ipack)
23093 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
23094 3419385 : pack_tmp = ISHFT(pack_tmp, -6)
23095 3419385 : idata = idata + 1
23096 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23097 3419385 : full_data(idata) = data_tmp
23098 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23099 3419385 : idata = idata + 1
23100 3419385 : data_tmp = ISHFT(pack_tmp, 4)
23101 3419385 : ipack = ipack + 1
23102 3419385 : pack_tmp = packed_data(ipack)
23103 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
23104 3419385 : pack_tmp = ISHFT(pack_tmp, -4)
23105 3419385 : idata = idata + 1
23106 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23107 3419385 : full_data(idata) = data_tmp
23108 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23109 3419385 : idata = idata + 1
23110 3419385 : data_tmp = ISHFT(pack_tmp, 2)
23111 3419385 : ipack = ipack + 1
23112 3419385 : pack_tmp = packed_data(ipack)
23113 3419385 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
23114 3419385 : pack_tmp = ISHFT(pack_tmp, -2)
23115 3419385 : idata = idata + 1
23116 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23117 3419385 : full_data(idata) = data_tmp
23118 3419385 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23119 3419385 : idata = idata + 1
23120 3419385 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23121 3419385 : full_data(idata) = data_tmp
23122 3421515 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23123 : END DO
23124 273627 : IF (Ndata_rep < Ndata) THEN
23125 112782 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
23126 : END IF
23127 273627 : END SUBROUTINE bits2ints_31
23128 :
23129 : ! **************************************************************************************************
23130 : !> \brief ...
23131 : !> \param Ndata ...
23132 : !> \param packed_data ...
23133 : !> \param full_data ...
23134 : ! **************************************************************************************************
23135 52054 : 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 52054 : idata = 0
23146 52054 : ipack = 0
23147 52054 : Ndata_rep = (Ndata/64)*64
23148 52054 : DO kdata = 1, Ndata_rep, 64
23149 675680 : pack_tmp = 0
23150 675680 : idata = idata + 1
23151 675680 : data_tmp = full_data(idata)
23152 675680 : data_tmp = ISHFT(data_tmp, 32)
23153 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23154 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23155 675680 : idata = idata + 1
23156 675680 : data_tmp = full_data(idata)
23157 675680 : data_tmp = ISHFT(data_tmp, 32)
23158 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23159 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23160 675680 : idata = idata + 1
23161 675680 : data_tmp = full_data(idata)
23162 : data_tmp = ISHFT(data_tmp, 32)
23163 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23164 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23165 675680 : ipack = ipack + 1
23166 675680 : packed_data(ipack) = pack_tmp
23167 675680 : data_tmp = full_data(idata)
23168 675680 : pack_tmp = ISHFT(data_tmp, 32)
23169 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23170 675680 : idata = idata + 1
23171 675680 : data_tmp = full_data(idata)
23172 675680 : data_tmp = ISHFT(data_tmp, 32)
23173 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23174 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23175 675680 : idata = idata + 1
23176 675680 : data_tmp = full_data(idata)
23177 : data_tmp = ISHFT(data_tmp, 32)
23178 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23179 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23180 675680 : ipack = ipack + 1
23181 675680 : packed_data(ipack) = pack_tmp
23182 675680 : data_tmp = full_data(idata)
23183 675680 : pack_tmp = ISHFT(data_tmp, 32)
23184 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23185 675680 : idata = idata + 1
23186 675680 : data_tmp = full_data(idata)
23187 675680 : data_tmp = ISHFT(data_tmp, 32)
23188 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23189 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23190 675680 : idata = idata + 1
23191 675680 : data_tmp = full_data(idata)
23192 : data_tmp = ISHFT(data_tmp, 32)
23193 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23194 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23195 675680 : ipack = ipack + 1
23196 675680 : packed_data(ipack) = pack_tmp
23197 675680 : data_tmp = full_data(idata)
23198 675680 : pack_tmp = ISHFT(data_tmp, 32)
23199 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23200 675680 : idata = idata + 1
23201 675680 : data_tmp = full_data(idata)
23202 675680 : data_tmp = ISHFT(data_tmp, 32)
23203 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23204 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23205 675680 : idata = idata + 1
23206 675680 : data_tmp = full_data(idata)
23207 : data_tmp = ISHFT(data_tmp, 32)
23208 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23209 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23210 675680 : ipack = ipack + 1
23211 675680 : packed_data(ipack) = pack_tmp
23212 675680 : data_tmp = full_data(idata)
23213 675680 : pack_tmp = ISHFT(data_tmp, 32)
23214 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23215 675680 : idata = idata + 1
23216 675680 : data_tmp = full_data(idata)
23217 675680 : data_tmp = ISHFT(data_tmp, 32)
23218 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23219 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23220 675680 : idata = idata + 1
23221 675680 : data_tmp = full_data(idata)
23222 : data_tmp = ISHFT(data_tmp, 32)
23223 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23224 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23225 675680 : ipack = ipack + 1
23226 675680 : packed_data(ipack) = pack_tmp
23227 675680 : data_tmp = full_data(idata)
23228 675680 : pack_tmp = ISHFT(data_tmp, 32)
23229 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23230 675680 : idata = idata + 1
23231 675680 : data_tmp = full_data(idata)
23232 675680 : data_tmp = ISHFT(data_tmp, 32)
23233 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23234 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23235 675680 : idata = idata + 1
23236 675680 : data_tmp = full_data(idata)
23237 : data_tmp = ISHFT(data_tmp, 32)
23238 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23239 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23240 675680 : ipack = ipack + 1
23241 675680 : packed_data(ipack) = pack_tmp
23242 675680 : data_tmp = full_data(idata)
23243 675680 : pack_tmp = ISHFT(data_tmp, 32)
23244 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23245 675680 : idata = idata + 1
23246 675680 : data_tmp = full_data(idata)
23247 675680 : data_tmp = ISHFT(data_tmp, 32)
23248 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23249 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23250 675680 : idata = idata + 1
23251 675680 : data_tmp = full_data(idata)
23252 : data_tmp = ISHFT(data_tmp, 32)
23253 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23254 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23255 675680 : ipack = ipack + 1
23256 675680 : packed_data(ipack) = pack_tmp
23257 675680 : data_tmp = full_data(idata)
23258 675680 : pack_tmp = ISHFT(data_tmp, 32)
23259 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23260 675680 : idata = idata + 1
23261 675680 : data_tmp = full_data(idata)
23262 675680 : data_tmp = ISHFT(data_tmp, 32)
23263 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23264 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23265 675680 : idata = idata + 1
23266 675680 : data_tmp = full_data(idata)
23267 : data_tmp = ISHFT(data_tmp, 32)
23268 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23269 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23270 675680 : ipack = ipack + 1
23271 675680 : packed_data(ipack) = pack_tmp
23272 675680 : data_tmp = full_data(idata)
23273 675680 : pack_tmp = ISHFT(data_tmp, 32)
23274 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23275 675680 : idata = idata + 1
23276 675680 : data_tmp = full_data(idata)
23277 675680 : data_tmp = ISHFT(data_tmp, 32)
23278 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23279 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23280 675680 : idata = idata + 1
23281 675680 : data_tmp = full_data(idata)
23282 : data_tmp = ISHFT(data_tmp, 32)
23283 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23284 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23285 675680 : ipack = ipack + 1
23286 675680 : packed_data(ipack) = pack_tmp
23287 675680 : data_tmp = full_data(idata)
23288 675680 : pack_tmp = ISHFT(data_tmp, 32)
23289 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23290 675680 : idata = idata + 1
23291 675680 : data_tmp = full_data(idata)
23292 675680 : data_tmp = ISHFT(data_tmp, 32)
23293 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23294 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23295 675680 : idata = idata + 1
23296 675680 : data_tmp = full_data(idata)
23297 : data_tmp = ISHFT(data_tmp, 32)
23298 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23299 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23300 675680 : ipack = ipack + 1
23301 675680 : packed_data(ipack) = pack_tmp
23302 675680 : data_tmp = full_data(idata)
23303 675680 : pack_tmp = ISHFT(data_tmp, 32)
23304 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23305 675680 : idata = idata + 1
23306 675680 : data_tmp = full_data(idata)
23307 675680 : data_tmp = ISHFT(data_tmp, 32)
23308 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23309 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23310 675680 : idata = idata + 1
23311 675680 : data_tmp = full_data(idata)
23312 : data_tmp = ISHFT(data_tmp, 32)
23313 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23314 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23315 675680 : ipack = ipack + 1
23316 675680 : packed_data(ipack) = pack_tmp
23317 675680 : data_tmp = full_data(idata)
23318 675680 : pack_tmp = ISHFT(data_tmp, 32)
23319 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23320 675680 : idata = idata + 1
23321 675680 : data_tmp = full_data(idata)
23322 675680 : data_tmp = ISHFT(data_tmp, 32)
23323 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23324 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23325 675680 : idata = idata + 1
23326 675680 : data_tmp = full_data(idata)
23327 : data_tmp = ISHFT(data_tmp, 32)
23328 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23329 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23330 675680 : ipack = ipack + 1
23331 675680 : packed_data(ipack) = pack_tmp
23332 675680 : data_tmp = full_data(idata)
23333 675680 : pack_tmp = ISHFT(data_tmp, 32)
23334 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23335 675680 : idata = idata + 1
23336 675680 : data_tmp = full_data(idata)
23337 675680 : data_tmp = ISHFT(data_tmp, 32)
23338 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23339 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23340 675680 : idata = idata + 1
23341 675680 : data_tmp = full_data(idata)
23342 : data_tmp = ISHFT(data_tmp, 32)
23343 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23344 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23345 675680 : ipack = ipack + 1
23346 675680 : packed_data(ipack) = pack_tmp
23347 675680 : data_tmp = full_data(idata)
23348 675680 : pack_tmp = ISHFT(data_tmp, 32)
23349 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23350 675680 : idata = idata + 1
23351 675680 : data_tmp = full_data(idata)
23352 675680 : data_tmp = ISHFT(data_tmp, 32)
23353 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23354 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23355 675680 : idata = idata + 1
23356 675680 : data_tmp = full_data(idata)
23357 : data_tmp = ISHFT(data_tmp, 32)
23358 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23359 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23360 675680 : ipack = ipack + 1
23361 675680 : packed_data(ipack) = pack_tmp
23362 675680 : data_tmp = full_data(idata)
23363 675680 : pack_tmp = ISHFT(data_tmp, 32)
23364 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23365 675680 : idata = idata + 1
23366 675680 : data_tmp = full_data(idata)
23367 675680 : data_tmp = ISHFT(data_tmp, 32)
23368 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23369 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23370 675680 : idata = idata + 1
23371 675680 : data_tmp = full_data(idata)
23372 : data_tmp = ISHFT(data_tmp, 32)
23373 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23374 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23375 675680 : ipack = ipack + 1
23376 675680 : packed_data(ipack) = pack_tmp
23377 675680 : data_tmp = full_data(idata)
23378 675680 : pack_tmp = ISHFT(data_tmp, 32)
23379 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23380 675680 : idata = idata + 1
23381 675680 : data_tmp = full_data(idata)
23382 675680 : data_tmp = ISHFT(data_tmp, 32)
23383 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23384 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23385 675680 : idata = idata + 1
23386 675680 : data_tmp = full_data(idata)
23387 : data_tmp = ISHFT(data_tmp, 32)
23388 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23389 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23390 675680 : ipack = ipack + 1
23391 675680 : packed_data(ipack) = pack_tmp
23392 675680 : data_tmp = full_data(idata)
23393 675680 : pack_tmp = ISHFT(data_tmp, 32)
23394 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23395 675680 : idata = idata + 1
23396 675680 : data_tmp = full_data(idata)
23397 675680 : data_tmp = ISHFT(data_tmp, 32)
23398 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23399 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23400 675680 : idata = idata + 1
23401 675680 : data_tmp = full_data(idata)
23402 : data_tmp = ISHFT(data_tmp, 32)
23403 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23404 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23405 675680 : ipack = ipack + 1
23406 675680 : packed_data(ipack) = pack_tmp
23407 675680 : data_tmp = full_data(idata)
23408 675680 : pack_tmp = ISHFT(data_tmp, 32)
23409 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23410 675680 : idata = idata + 1
23411 675680 : data_tmp = full_data(idata)
23412 675680 : data_tmp = ISHFT(data_tmp, 32)
23413 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23414 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23415 675680 : idata = idata + 1
23416 675680 : data_tmp = full_data(idata)
23417 : data_tmp = ISHFT(data_tmp, 32)
23418 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23419 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23420 675680 : ipack = ipack + 1
23421 675680 : packed_data(ipack) = pack_tmp
23422 675680 : data_tmp = full_data(idata)
23423 675680 : pack_tmp = ISHFT(data_tmp, 32)
23424 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23425 675680 : idata = idata + 1
23426 675680 : data_tmp = full_data(idata)
23427 675680 : data_tmp = ISHFT(data_tmp, 32)
23428 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23429 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23430 675680 : idata = idata + 1
23431 675680 : data_tmp = full_data(idata)
23432 : data_tmp = ISHFT(data_tmp, 32)
23433 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23434 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23435 675680 : ipack = ipack + 1
23436 675680 : packed_data(ipack) = pack_tmp
23437 675680 : data_tmp = full_data(idata)
23438 675680 : pack_tmp = ISHFT(data_tmp, 32)
23439 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23440 675680 : idata = idata + 1
23441 675680 : data_tmp = full_data(idata)
23442 675680 : data_tmp = ISHFT(data_tmp, 32)
23443 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23444 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23445 675680 : idata = idata + 1
23446 675680 : data_tmp = full_data(idata)
23447 : data_tmp = ISHFT(data_tmp, 32)
23448 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23449 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23450 675680 : ipack = ipack + 1
23451 675680 : packed_data(ipack) = pack_tmp
23452 675680 : data_tmp = full_data(idata)
23453 675680 : pack_tmp = ISHFT(data_tmp, 32)
23454 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23455 675680 : idata = idata + 1
23456 675680 : data_tmp = full_data(idata)
23457 675680 : data_tmp = ISHFT(data_tmp, 32)
23458 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23459 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23460 675680 : idata = idata + 1
23461 675680 : data_tmp = full_data(idata)
23462 : data_tmp = ISHFT(data_tmp, 32)
23463 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23464 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23465 675680 : ipack = ipack + 1
23466 675680 : packed_data(ipack) = pack_tmp
23467 675680 : data_tmp = full_data(idata)
23468 675680 : pack_tmp = ISHFT(data_tmp, 32)
23469 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23470 675680 : idata = idata + 1
23471 675680 : data_tmp = full_data(idata)
23472 675680 : data_tmp = ISHFT(data_tmp, 32)
23473 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23474 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23475 675680 : idata = idata + 1
23476 675680 : data_tmp = full_data(idata)
23477 : data_tmp = ISHFT(data_tmp, 32)
23478 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23479 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23480 675680 : ipack = ipack + 1
23481 675680 : packed_data(ipack) = pack_tmp
23482 675680 : data_tmp = full_data(idata)
23483 675680 : pack_tmp = ISHFT(data_tmp, 32)
23484 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23485 675680 : idata = idata + 1
23486 675680 : data_tmp = full_data(idata)
23487 675680 : data_tmp = ISHFT(data_tmp, 32)
23488 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23489 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23490 675680 : idata = idata + 1
23491 675680 : data_tmp = full_data(idata)
23492 : data_tmp = ISHFT(data_tmp, 32)
23493 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23494 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23495 675680 : ipack = ipack + 1
23496 675680 : packed_data(ipack) = pack_tmp
23497 675680 : data_tmp = full_data(idata)
23498 675680 : pack_tmp = ISHFT(data_tmp, 32)
23499 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23500 675680 : idata = idata + 1
23501 675680 : data_tmp = full_data(idata)
23502 675680 : data_tmp = ISHFT(data_tmp, 32)
23503 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23504 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23505 675680 : idata = idata + 1
23506 675680 : data_tmp = full_data(idata)
23507 : data_tmp = ISHFT(data_tmp, 32)
23508 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23509 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23510 675680 : ipack = ipack + 1
23511 675680 : packed_data(ipack) = pack_tmp
23512 675680 : data_tmp = full_data(idata)
23513 675680 : pack_tmp = ISHFT(data_tmp, 32)
23514 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23515 675680 : idata = idata + 1
23516 675680 : data_tmp = full_data(idata)
23517 675680 : data_tmp = ISHFT(data_tmp, 32)
23518 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23519 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23520 675680 : idata = idata + 1
23521 675680 : data_tmp = full_data(idata)
23522 : data_tmp = ISHFT(data_tmp, 32)
23523 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23524 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23525 675680 : ipack = ipack + 1
23526 675680 : packed_data(ipack) = pack_tmp
23527 675680 : data_tmp = full_data(idata)
23528 675680 : pack_tmp = ISHFT(data_tmp, 32)
23529 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23530 675680 : idata = idata + 1
23531 675680 : data_tmp = full_data(idata)
23532 675680 : data_tmp = ISHFT(data_tmp, 32)
23533 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23534 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23535 675680 : idata = idata + 1
23536 675680 : data_tmp = full_data(idata)
23537 : data_tmp = ISHFT(data_tmp, 32)
23538 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23539 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23540 675680 : ipack = ipack + 1
23541 675680 : packed_data(ipack) = pack_tmp
23542 675680 : data_tmp = full_data(idata)
23543 675680 : pack_tmp = ISHFT(data_tmp, 32)
23544 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23545 675680 : idata = idata + 1
23546 675680 : data_tmp = full_data(idata)
23547 675680 : data_tmp = ISHFT(data_tmp, 32)
23548 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23549 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23550 675680 : idata = idata + 1
23551 675680 : data_tmp = full_data(idata)
23552 : data_tmp = ISHFT(data_tmp, 32)
23553 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23554 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23555 675680 : ipack = ipack + 1
23556 675680 : packed_data(ipack) = pack_tmp
23557 675680 : data_tmp = full_data(idata)
23558 675680 : pack_tmp = ISHFT(data_tmp, 32)
23559 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23560 675680 : idata = idata + 1
23561 675680 : data_tmp = full_data(idata)
23562 675680 : data_tmp = ISHFT(data_tmp, 32)
23563 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23564 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23565 675680 : idata = idata + 1
23566 675680 : data_tmp = full_data(idata)
23567 : data_tmp = ISHFT(data_tmp, 32)
23568 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23569 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23570 675680 : ipack = ipack + 1
23571 675680 : packed_data(ipack) = pack_tmp
23572 675680 : data_tmp = full_data(idata)
23573 675680 : pack_tmp = ISHFT(data_tmp, 32)
23574 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23575 675680 : idata = idata + 1
23576 675680 : data_tmp = full_data(idata)
23577 675680 : data_tmp = ISHFT(data_tmp, 32)
23578 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23579 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23580 675680 : idata = idata + 1
23581 675680 : data_tmp = full_data(idata)
23582 : data_tmp = ISHFT(data_tmp, 32)
23583 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23584 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23585 675680 : ipack = ipack + 1
23586 675680 : packed_data(ipack) = pack_tmp
23587 675680 : data_tmp = full_data(idata)
23588 675680 : pack_tmp = ISHFT(data_tmp, 32)
23589 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23590 675680 : idata = idata + 1
23591 675680 : data_tmp = full_data(idata)
23592 675680 : data_tmp = ISHFT(data_tmp, 32)
23593 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23594 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23595 675680 : idata = idata + 1
23596 675680 : data_tmp = full_data(idata)
23597 : data_tmp = ISHFT(data_tmp, 32)
23598 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23599 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23600 675680 : ipack = ipack + 1
23601 675680 : packed_data(ipack) = pack_tmp
23602 675680 : data_tmp = full_data(idata)
23603 675680 : pack_tmp = ISHFT(data_tmp, 32)
23604 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23605 675680 : idata = idata + 1
23606 675680 : data_tmp = full_data(idata)
23607 675680 : data_tmp = ISHFT(data_tmp, 32)
23608 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23609 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23610 675680 : idata = idata + 1
23611 675680 : data_tmp = full_data(idata)
23612 : data_tmp = ISHFT(data_tmp, 32)
23613 675680 : data_tmp = IAND(data_tmp, mask_left(0))
23614 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23615 675680 : ipack = ipack + 1
23616 675680 : packed_data(ipack) = pack_tmp
23617 675680 : data_tmp = full_data(idata)
23618 675680 : pack_tmp = ISHFT(data_tmp, 32)
23619 675680 : pack_tmp = ISHFT(pack_tmp, -32)
23620 675680 : idata = idata + 1
23621 675680 : data_tmp = full_data(idata)
23622 675680 : data_tmp = ISHFT(data_tmp, 32)
23623 675680 : pack_tmp = IOR(pack_tmp, data_tmp)
23624 : pack_tmp = ISHFT(pack_tmp, 0)
23625 675680 : pack_tmp = ISHFT(pack_tmp, 0)
23626 675680 : ipack = ipack + 1
23627 685504 : packed_data(ipack) = pack_tmp
23628 : END DO
23629 52054 : 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 52054 : END SUBROUTINE ints2bits_32
23633 :
23634 : ! **************************************************************************************************
23635 : !> \brief ...
23636 : !> \param Ndata ...
23637 : !> \param packed_data ...
23638 : !> \param full_data ...
23639 : ! **************************************************************************************************
23640 351331 : 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 351331 : ipack = 0
23651 351331 : idata = 0
23652 351331 : pack_tmp = 0
23653 351331 : Ndata_rep = (Ndata/64)*64
23654 351331 : DO kdata = 1, Ndata_rep, 64
23655 4204912 : idata = idata + 1
23656 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23657 4204912 : ipack = ipack + 1
23658 4204912 : pack_tmp = packed_data(ipack)
23659 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23660 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23661 4204912 : idata = idata + 1
23662 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23663 4204912 : full_data(idata) = data_tmp
23664 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23665 4204912 : idata = idata + 1
23666 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23667 4204912 : ipack = ipack + 1
23668 4204912 : pack_tmp = packed_data(ipack)
23669 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23670 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23671 4204912 : idata = idata + 1
23672 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23673 4204912 : full_data(idata) = data_tmp
23674 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23675 4204912 : idata = idata + 1
23676 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23677 4204912 : ipack = ipack + 1
23678 4204912 : pack_tmp = packed_data(ipack)
23679 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23680 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23681 4204912 : idata = idata + 1
23682 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23683 4204912 : full_data(idata) = data_tmp
23684 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23685 4204912 : idata = idata + 1
23686 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23687 4204912 : ipack = ipack + 1
23688 4204912 : pack_tmp = packed_data(ipack)
23689 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23690 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23691 4204912 : idata = idata + 1
23692 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23693 4204912 : full_data(idata) = data_tmp
23694 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23695 4204912 : idata = idata + 1
23696 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23697 4204912 : ipack = ipack + 1
23698 4204912 : pack_tmp = packed_data(ipack)
23699 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23700 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23701 4204912 : idata = idata + 1
23702 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23703 4204912 : full_data(idata) = data_tmp
23704 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23705 4204912 : idata = idata + 1
23706 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23707 4204912 : ipack = ipack + 1
23708 4204912 : pack_tmp = packed_data(ipack)
23709 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23710 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23711 4204912 : idata = idata + 1
23712 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23713 4204912 : full_data(idata) = data_tmp
23714 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23715 4204912 : idata = idata + 1
23716 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23717 4204912 : ipack = ipack + 1
23718 4204912 : pack_tmp = packed_data(ipack)
23719 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23720 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23721 4204912 : idata = idata + 1
23722 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23723 4204912 : full_data(idata) = data_tmp
23724 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23725 4204912 : idata = idata + 1
23726 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23727 4204912 : ipack = ipack + 1
23728 4204912 : pack_tmp = packed_data(ipack)
23729 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23730 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23731 4204912 : idata = idata + 1
23732 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23733 4204912 : full_data(idata) = data_tmp
23734 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23735 4204912 : idata = idata + 1
23736 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23737 4204912 : ipack = ipack + 1
23738 4204912 : pack_tmp = packed_data(ipack)
23739 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23740 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23741 4204912 : idata = idata + 1
23742 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23743 4204912 : full_data(idata) = data_tmp
23744 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23745 4204912 : idata = idata + 1
23746 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23747 4204912 : ipack = ipack + 1
23748 4204912 : pack_tmp = packed_data(ipack)
23749 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23750 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23751 4204912 : idata = idata + 1
23752 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23753 4204912 : full_data(idata) = data_tmp
23754 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23755 4204912 : idata = idata + 1
23756 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23757 4204912 : ipack = ipack + 1
23758 4204912 : pack_tmp = packed_data(ipack)
23759 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23760 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23761 4204912 : idata = idata + 1
23762 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23763 4204912 : full_data(idata) = data_tmp
23764 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23765 4204912 : idata = idata + 1
23766 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23767 4204912 : ipack = ipack + 1
23768 4204912 : pack_tmp = packed_data(ipack)
23769 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23770 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23771 4204912 : idata = idata + 1
23772 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23773 4204912 : full_data(idata) = data_tmp
23774 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23775 4204912 : idata = idata + 1
23776 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23777 4204912 : ipack = ipack + 1
23778 4204912 : pack_tmp = packed_data(ipack)
23779 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23780 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23781 4204912 : idata = idata + 1
23782 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23783 4204912 : full_data(idata) = data_tmp
23784 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23785 4204912 : idata = idata + 1
23786 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23787 4204912 : ipack = ipack + 1
23788 4204912 : pack_tmp = packed_data(ipack)
23789 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23790 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23791 4204912 : idata = idata + 1
23792 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23793 4204912 : full_data(idata) = data_tmp
23794 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23795 4204912 : idata = idata + 1
23796 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23797 4204912 : ipack = ipack + 1
23798 4204912 : pack_tmp = packed_data(ipack)
23799 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23800 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23801 4204912 : idata = idata + 1
23802 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23803 4204912 : full_data(idata) = data_tmp
23804 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23805 4204912 : idata = idata + 1
23806 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23807 4204912 : ipack = ipack + 1
23808 4204912 : pack_tmp = packed_data(ipack)
23809 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23810 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23811 4204912 : idata = idata + 1
23812 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23813 4204912 : full_data(idata) = data_tmp
23814 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23815 4204912 : idata = idata + 1
23816 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23817 4204912 : ipack = ipack + 1
23818 4204912 : pack_tmp = packed_data(ipack)
23819 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23820 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23821 4204912 : idata = idata + 1
23822 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23823 4204912 : full_data(idata) = data_tmp
23824 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23825 4204912 : idata = idata + 1
23826 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23827 4204912 : ipack = ipack + 1
23828 4204912 : pack_tmp = packed_data(ipack)
23829 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23830 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23831 4204912 : idata = idata + 1
23832 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23833 4204912 : full_data(idata) = data_tmp
23834 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23835 4204912 : idata = idata + 1
23836 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23837 4204912 : ipack = ipack + 1
23838 4204912 : pack_tmp = packed_data(ipack)
23839 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23840 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23841 4204912 : idata = idata + 1
23842 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23843 4204912 : full_data(idata) = data_tmp
23844 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23845 4204912 : idata = idata + 1
23846 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23847 4204912 : ipack = ipack + 1
23848 4204912 : pack_tmp = packed_data(ipack)
23849 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23850 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23851 4204912 : idata = idata + 1
23852 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23853 4204912 : full_data(idata) = data_tmp
23854 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23855 4204912 : idata = idata + 1
23856 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23857 4204912 : ipack = ipack + 1
23858 4204912 : pack_tmp = packed_data(ipack)
23859 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23860 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23861 4204912 : idata = idata + 1
23862 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23863 4204912 : full_data(idata) = data_tmp
23864 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23865 4204912 : idata = idata + 1
23866 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23867 4204912 : ipack = ipack + 1
23868 4204912 : pack_tmp = packed_data(ipack)
23869 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23870 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23871 4204912 : idata = idata + 1
23872 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23873 4204912 : full_data(idata) = data_tmp
23874 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23875 4204912 : idata = idata + 1
23876 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23877 4204912 : ipack = ipack + 1
23878 4204912 : pack_tmp = packed_data(ipack)
23879 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23880 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23881 4204912 : idata = idata + 1
23882 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23883 4204912 : full_data(idata) = data_tmp
23884 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23885 4204912 : idata = idata + 1
23886 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23887 4204912 : ipack = ipack + 1
23888 4204912 : pack_tmp = packed_data(ipack)
23889 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23890 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23891 4204912 : idata = idata + 1
23892 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23893 4204912 : full_data(idata) = data_tmp
23894 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23895 4204912 : idata = idata + 1
23896 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23897 4204912 : ipack = ipack + 1
23898 4204912 : pack_tmp = packed_data(ipack)
23899 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23900 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23901 4204912 : idata = idata + 1
23902 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23903 4204912 : full_data(idata) = data_tmp
23904 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23905 4204912 : idata = idata + 1
23906 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23907 4204912 : ipack = ipack + 1
23908 4204912 : pack_tmp = packed_data(ipack)
23909 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23910 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23911 4204912 : idata = idata + 1
23912 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23913 4204912 : full_data(idata) = data_tmp
23914 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23915 4204912 : idata = idata + 1
23916 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23917 4204912 : ipack = ipack + 1
23918 4204912 : pack_tmp = packed_data(ipack)
23919 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23920 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23921 4204912 : idata = idata + 1
23922 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23923 4204912 : full_data(idata) = data_tmp
23924 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23925 4204912 : idata = idata + 1
23926 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23927 4204912 : ipack = ipack + 1
23928 4204912 : pack_tmp = packed_data(ipack)
23929 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23930 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23931 4204912 : idata = idata + 1
23932 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23933 4204912 : full_data(idata) = data_tmp
23934 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23935 4204912 : idata = idata + 1
23936 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23937 4204912 : ipack = ipack + 1
23938 4204912 : pack_tmp = packed_data(ipack)
23939 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23940 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23941 4204912 : idata = idata + 1
23942 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23943 4204912 : full_data(idata) = data_tmp
23944 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23945 4204912 : idata = idata + 1
23946 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23947 4204912 : ipack = ipack + 1
23948 4204912 : pack_tmp = packed_data(ipack)
23949 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23950 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23951 4204912 : idata = idata + 1
23952 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23953 4204912 : full_data(idata) = data_tmp
23954 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23955 4204912 : idata = idata + 1
23956 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23957 4204912 : ipack = ipack + 1
23958 4204912 : pack_tmp = packed_data(ipack)
23959 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23960 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23961 4204912 : idata = idata + 1
23962 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23963 4204912 : full_data(idata) = data_tmp
23964 4204912 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23965 4204912 : idata = idata + 1
23966 4204912 : data_tmp = ISHFT(pack_tmp, 32)
23967 4204912 : ipack = ipack + 1
23968 4204912 : pack_tmp = packed_data(ipack)
23969 4204912 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23970 4204912 : pack_tmp = ISHFT(pack_tmp, -32)
23971 4204912 : idata = idata + 1
23972 4204912 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23973 4204912 : full_data(idata) = data_tmp
23974 4293436 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23975 : END DO
23976 351331 : 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 351331 : END SUBROUTINE bits2ints_32
23980 :
23981 : ! **************************************************************************************************
23982 : !> \brief ...
23983 : !> \param Ndata ...
23984 : !> \param packed_data ...
23985 : !> \param full_data ...
23986 : ! **************************************************************************************************
23987 53528 : 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 53528 : idata = 0
23998 53528 : ipack = 0
23999 53528 : Ndata_rep = (Ndata/64)*64
24000 53528 : DO kdata = 1, Ndata_rep, 64
24001 678305 : pack_tmp = 0
24002 678305 : idata = idata + 1
24003 678305 : data_tmp = full_data(idata)
24004 678305 : data_tmp = ISHFT(data_tmp, 31)
24005 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24006 678305 : pack_tmp = ISHFT(pack_tmp, -31)
24007 678305 : idata = idata + 1
24008 678305 : data_tmp = full_data(idata)
24009 678305 : data_tmp = ISHFT(data_tmp, 31)
24010 678305 : data_tmp = IAND(data_tmp, mask_left(31))
24011 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24012 678305 : ipack = ipack + 1
24013 678305 : packed_data(ipack) = pack_tmp
24014 678305 : data_tmp = full_data(idata)
24015 678305 : pack_tmp = ISHFT(data_tmp, 62)
24016 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24017 678305 : idata = idata + 1
24018 678305 : data_tmp = full_data(idata)
24019 678305 : data_tmp = ISHFT(data_tmp, 31)
24020 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24021 678305 : pack_tmp = ISHFT(pack_tmp, -29)
24022 678305 : idata = idata + 1
24023 678305 : data_tmp = full_data(idata)
24024 678305 : data_tmp = ISHFT(data_tmp, 31)
24025 678305 : data_tmp = IAND(data_tmp, mask_left(29))
24026 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24027 678305 : ipack = ipack + 1
24028 678305 : packed_data(ipack) = pack_tmp
24029 678305 : data_tmp = full_data(idata)
24030 678305 : pack_tmp = ISHFT(data_tmp, 60)
24031 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24032 678305 : idata = idata + 1
24033 678305 : data_tmp = full_data(idata)
24034 678305 : data_tmp = ISHFT(data_tmp, 31)
24035 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24036 678305 : pack_tmp = ISHFT(pack_tmp, -27)
24037 678305 : idata = idata + 1
24038 678305 : data_tmp = full_data(idata)
24039 678305 : data_tmp = ISHFT(data_tmp, 31)
24040 678305 : data_tmp = IAND(data_tmp, mask_left(27))
24041 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24042 678305 : ipack = ipack + 1
24043 678305 : packed_data(ipack) = pack_tmp
24044 678305 : data_tmp = full_data(idata)
24045 678305 : pack_tmp = ISHFT(data_tmp, 58)
24046 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24047 678305 : idata = idata + 1
24048 678305 : data_tmp = full_data(idata)
24049 678305 : data_tmp = ISHFT(data_tmp, 31)
24050 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24051 678305 : pack_tmp = ISHFT(pack_tmp, -25)
24052 678305 : idata = idata + 1
24053 678305 : data_tmp = full_data(idata)
24054 678305 : data_tmp = ISHFT(data_tmp, 31)
24055 678305 : data_tmp = IAND(data_tmp, mask_left(25))
24056 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24057 678305 : ipack = ipack + 1
24058 678305 : packed_data(ipack) = pack_tmp
24059 678305 : data_tmp = full_data(idata)
24060 678305 : pack_tmp = ISHFT(data_tmp, 56)
24061 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24062 678305 : idata = idata + 1
24063 678305 : data_tmp = full_data(idata)
24064 678305 : data_tmp = ISHFT(data_tmp, 31)
24065 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24066 678305 : pack_tmp = ISHFT(pack_tmp, -23)
24067 678305 : idata = idata + 1
24068 678305 : data_tmp = full_data(idata)
24069 678305 : data_tmp = ISHFT(data_tmp, 31)
24070 678305 : data_tmp = IAND(data_tmp, mask_left(23))
24071 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24072 678305 : ipack = ipack + 1
24073 678305 : packed_data(ipack) = pack_tmp
24074 678305 : data_tmp = full_data(idata)
24075 678305 : pack_tmp = ISHFT(data_tmp, 54)
24076 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24077 678305 : idata = idata + 1
24078 678305 : data_tmp = full_data(idata)
24079 678305 : data_tmp = ISHFT(data_tmp, 31)
24080 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24081 678305 : pack_tmp = ISHFT(pack_tmp, -21)
24082 678305 : idata = idata + 1
24083 678305 : data_tmp = full_data(idata)
24084 678305 : data_tmp = ISHFT(data_tmp, 31)
24085 678305 : data_tmp = IAND(data_tmp, mask_left(21))
24086 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24087 678305 : ipack = ipack + 1
24088 678305 : packed_data(ipack) = pack_tmp
24089 678305 : data_tmp = full_data(idata)
24090 678305 : pack_tmp = ISHFT(data_tmp, 52)
24091 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24092 678305 : idata = idata + 1
24093 678305 : data_tmp = full_data(idata)
24094 678305 : data_tmp = ISHFT(data_tmp, 31)
24095 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24096 678305 : pack_tmp = ISHFT(pack_tmp, -19)
24097 678305 : idata = idata + 1
24098 678305 : data_tmp = full_data(idata)
24099 678305 : data_tmp = ISHFT(data_tmp, 31)
24100 678305 : data_tmp = IAND(data_tmp, mask_left(19))
24101 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24102 678305 : ipack = ipack + 1
24103 678305 : packed_data(ipack) = pack_tmp
24104 678305 : data_tmp = full_data(idata)
24105 678305 : pack_tmp = ISHFT(data_tmp, 50)
24106 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24107 678305 : idata = idata + 1
24108 678305 : data_tmp = full_data(idata)
24109 678305 : data_tmp = ISHFT(data_tmp, 31)
24110 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24111 678305 : pack_tmp = ISHFT(pack_tmp, -17)
24112 678305 : idata = idata + 1
24113 678305 : data_tmp = full_data(idata)
24114 678305 : data_tmp = ISHFT(data_tmp, 31)
24115 678305 : data_tmp = IAND(data_tmp, mask_left(17))
24116 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24117 678305 : ipack = ipack + 1
24118 678305 : packed_data(ipack) = pack_tmp
24119 678305 : data_tmp = full_data(idata)
24120 678305 : pack_tmp = ISHFT(data_tmp, 48)
24121 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24122 678305 : idata = idata + 1
24123 678305 : data_tmp = full_data(idata)
24124 678305 : data_tmp = ISHFT(data_tmp, 31)
24125 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24126 678305 : pack_tmp = ISHFT(pack_tmp, -15)
24127 678305 : idata = idata + 1
24128 678305 : data_tmp = full_data(idata)
24129 678305 : data_tmp = ISHFT(data_tmp, 31)
24130 678305 : data_tmp = IAND(data_tmp, mask_left(15))
24131 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24132 678305 : ipack = ipack + 1
24133 678305 : packed_data(ipack) = pack_tmp
24134 678305 : data_tmp = full_data(idata)
24135 678305 : pack_tmp = ISHFT(data_tmp, 46)
24136 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24137 678305 : idata = idata + 1
24138 678305 : data_tmp = full_data(idata)
24139 678305 : data_tmp = ISHFT(data_tmp, 31)
24140 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24141 678305 : pack_tmp = ISHFT(pack_tmp, -13)
24142 678305 : idata = idata + 1
24143 678305 : data_tmp = full_data(idata)
24144 678305 : data_tmp = ISHFT(data_tmp, 31)
24145 678305 : data_tmp = IAND(data_tmp, mask_left(13))
24146 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24147 678305 : ipack = ipack + 1
24148 678305 : packed_data(ipack) = pack_tmp
24149 678305 : data_tmp = full_data(idata)
24150 678305 : pack_tmp = ISHFT(data_tmp, 44)
24151 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24152 678305 : idata = idata + 1
24153 678305 : data_tmp = full_data(idata)
24154 678305 : data_tmp = ISHFT(data_tmp, 31)
24155 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24156 678305 : pack_tmp = ISHFT(pack_tmp, -11)
24157 678305 : idata = idata + 1
24158 678305 : data_tmp = full_data(idata)
24159 678305 : data_tmp = ISHFT(data_tmp, 31)
24160 678305 : data_tmp = IAND(data_tmp, mask_left(11))
24161 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24162 678305 : ipack = ipack + 1
24163 678305 : packed_data(ipack) = pack_tmp
24164 678305 : data_tmp = full_data(idata)
24165 678305 : pack_tmp = ISHFT(data_tmp, 42)
24166 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24167 678305 : idata = idata + 1
24168 678305 : data_tmp = full_data(idata)
24169 678305 : data_tmp = ISHFT(data_tmp, 31)
24170 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24171 678305 : pack_tmp = ISHFT(pack_tmp, -9)
24172 678305 : idata = idata + 1
24173 678305 : data_tmp = full_data(idata)
24174 678305 : data_tmp = ISHFT(data_tmp, 31)
24175 678305 : data_tmp = IAND(data_tmp, mask_left(9))
24176 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24177 678305 : ipack = ipack + 1
24178 678305 : packed_data(ipack) = pack_tmp
24179 678305 : data_tmp = full_data(idata)
24180 678305 : pack_tmp = ISHFT(data_tmp, 40)
24181 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24182 678305 : idata = idata + 1
24183 678305 : data_tmp = full_data(idata)
24184 678305 : data_tmp = ISHFT(data_tmp, 31)
24185 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24186 678305 : pack_tmp = ISHFT(pack_tmp, -7)
24187 678305 : idata = idata + 1
24188 678305 : data_tmp = full_data(idata)
24189 678305 : data_tmp = ISHFT(data_tmp, 31)
24190 678305 : data_tmp = IAND(data_tmp, mask_left(7))
24191 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24192 678305 : ipack = ipack + 1
24193 678305 : packed_data(ipack) = pack_tmp
24194 678305 : data_tmp = full_data(idata)
24195 678305 : pack_tmp = ISHFT(data_tmp, 38)
24196 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24197 678305 : idata = idata + 1
24198 678305 : data_tmp = full_data(idata)
24199 678305 : data_tmp = ISHFT(data_tmp, 31)
24200 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24201 678305 : pack_tmp = ISHFT(pack_tmp, -5)
24202 678305 : idata = idata + 1
24203 678305 : data_tmp = full_data(idata)
24204 678305 : data_tmp = ISHFT(data_tmp, 31)
24205 678305 : data_tmp = IAND(data_tmp, mask_left(5))
24206 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24207 678305 : ipack = ipack + 1
24208 678305 : packed_data(ipack) = pack_tmp
24209 678305 : data_tmp = full_data(idata)
24210 678305 : pack_tmp = ISHFT(data_tmp, 36)
24211 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24212 678305 : idata = idata + 1
24213 678305 : data_tmp = full_data(idata)
24214 678305 : data_tmp = ISHFT(data_tmp, 31)
24215 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24216 678305 : pack_tmp = ISHFT(pack_tmp, -3)
24217 678305 : idata = idata + 1
24218 678305 : data_tmp = full_data(idata)
24219 678305 : data_tmp = ISHFT(data_tmp, 31)
24220 678305 : data_tmp = IAND(data_tmp, mask_left(3))
24221 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24222 678305 : ipack = ipack + 1
24223 678305 : packed_data(ipack) = pack_tmp
24224 678305 : data_tmp = full_data(idata)
24225 678305 : pack_tmp = ISHFT(data_tmp, 34)
24226 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24227 678305 : idata = idata + 1
24228 678305 : data_tmp = full_data(idata)
24229 678305 : data_tmp = ISHFT(data_tmp, 31)
24230 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24231 678305 : pack_tmp = ISHFT(pack_tmp, -1)
24232 678305 : idata = idata + 1
24233 678305 : data_tmp = full_data(idata)
24234 678305 : data_tmp = ISHFT(data_tmp, 31)
24235 678305 : data_tmp = IAND(data_tmp, mask_left(1))
24236 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24237 678305 : ipack = ipack + 1
24238 678305 : packed_data(ipack) = pack_tmp
24239 678305 : data_tmp = full_data(idata)
24240 678305 : pack_tmp = ISHFT(data_tmp, 32)
24241 678305 : pack_tmp = ISHFT(pack_tmp, -32)
24242 678305 : idata = idata + 1
24243 678305 : data_tmp = full_data(idata)
24244 678305 : data_tmp = ISHFT(data_tmp, 31)
24245 678305 : data_tmp = IAND(data_tmp, mask_left(32))
24246 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24247 678305 : ipack = ipack + 1
24248 678305 : packed_data(ipack) = pack_tmp
24249 678305 : data_tmp = full_data(idata)
24250 678305 : pack_tmp = ISHFT(data_tmp, 63)
24251 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24252 678305 : idata = idata + 1
24253 678305 : data_tmp = full_data(idata)
24254 678305 : data_tmp = ISHFT(data_tmp, 31)
24255 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24256 678305 : pack_tmp = ISHFT(pack_tmp, -30)
24257 678305 : idata = idata + 1
24258 678305 : data_tmp = full_data(idata)
24259 678305 : data_tmp = ISHFT(data_tmp, 31)
24260 678305 : data_tmp = IAND(data_tmp, mask_left(30))
24261 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24262 678305 : ipack = ipack + 1
24263 678305 : packed_data(ipack) = pack_tmp
24264 678305 : data_tmp = full_data(idata)
24265 678305 : pack_tmp = ISHFT(data_tmp, 61)
24266 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24267 678305 : idata = idata + 1
24268 678305 : data_tmp = full_data(idata)
24269 678305 : data_tmp = ISHFT(data_tmp, 31)
24270 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24271 678305 : pack_tmp = ISHFT(pack_tmp, -28)
24272 678305 : idata = idata + 1
24273 678305 : data_tmp = full_data(idata)
24274 678305 : data_tmp = ISHFT(data_tmp, 31)
24275 678305 : data_tmp = IAND(data_tmp, mask_left(28))
24276 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24277 678305 : ipack = ipack + 1
24278 678305 : packed_data(ipack) = pack_tmp
24279 678305 : data_tmp = full_data(idata)
24280 678305 : pack_tmp = ISHFT(data_tmp, 59)
24281 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24282 678305 : idata = idata + 1
24283 678305 : data_tmp = full_data(idata)
24284 678305 : data_tmp = ISHFT(data_tmp, 31)
24285 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24286 678305 : pack_tmp = ISHFT(pack_tmp, -26)
24287 678305 : idata = idata + 1
24288 678305 : data_tmp = full_data(idata)
24289 678305 : data_tmp = ISHFT(data_tmp, 31)
24290 678305 : data_tmp = IAND(data_tmp, mask_left(26))
24291 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24292 678305 : ipack = ipack + 1
24293 678305 : packed_data(ipack) = pack_tmp
24294 678305 : data_tmp = full_data(idata)
24295 678305 : pack_tmp = ISHFT(data_tmp, 57)
24296 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24297 678305 : idata = idata + 1
24298 678305 : data_tmp = full_data(idata)
24299 678305 : data_tmp = ISHFT(data_tmp, 31)
24300 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24301 678305 : pack_tmp = ISHFT(pack_tmp, -24)
24302 678305 : idata = idata + 1
24303 678305 : data_tmp = full_data(idata)
24304 678305 : data_tmp = ISHFT(data_tmp, 31)
24305 678305 : data_tmp = IAND(data_tmp, mask_left(24))
24306 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24307 678305 : ipack = ipack + 1
24308 678305 : packed_data(ipack) = pack_tmp
24309 678305 : data_tmp = full_data(idata)
24310 678305 : pack_tmp = ISHFT(data_tmp, 55)
24311 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24312 678305 : idata = idata + 1
24313 678305 : data_tmp = full_data(idata)
24314 678305 : data_tmp = ISHFT(data_tmp, 31)
24315 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24316 678305 : pack_tmp = ISHFT(pack_tmp, -22)
24317 678305 : idata = idata + 1
24318 678305 : data_tmp = full_data(idata)
24319 678305 : data_tmp = ISHFT(data_tmp, 31)
24320 678305 : data_tmp = IAND(data_tmp, mask_left(22))
24321 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24322 678305 : ipack = ipack + 1
24323 678305 : packed_data(ipack) = pack_tmp
24324 678305 : data_tmp = full_data(idata)
24325 678305 : pack_tmp = ISHFT(data_tmp, 53)
24326 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24327 678305 : idata = idata + 1
24328 678305 : data_tmp = full_data(idata)
24329 678305 : data_tmp = ISHFT(data_tmp, 31)
24330 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24331 678305 : pack_tmp = ISHFT(pack_tmp, -20)
24332 678305 : idata = idata + 1
24333 678305 : data_tmp = full_data(idata)
24334 678305 : data_tmp = ISHFT(data_tmp, 31)
24335 678305 : data_tmp = IAND(data_tmp, mask_left(20))
24336 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24337 678305 : ipack = ipack + 1
24338 678305 : packed_data(ipack) = pack_tmp
24339 678305 : data_tmp = full_data(idata)
24340 678305 : pack_tmp = ISHFT(data_tmp, 51)
24341 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24342 678305 : idata = idata + 1
24343 678305 : data_tmp = full_data(idata)
24344 678305 : data_tmp = ISHFT(data_tmp, 31)
24345 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24346 678305 : pack_tmp = ISHFT(pack_tmp, -18)
24347 678305 : idata = idata + 1
24348 678305 : data_tmp = full_data(idata)
24349 678305 : data_tmp = ISHFT(data_tmp, 31)
24350 678305 : data_tmp = IAND(data_tmp, mask_left(18))
24351 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24352 678305 : ipack = ipack + 1
24353 678305 : packed_data(ipack) = pack_tmp
24354 678305 : data_tmp = full_data(idata)
24355 678305 : pack_tmp = ISHFT(data_tmp, 49)
24356 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24357 678305 : idata = idata + 1
24358 678305 : data_tmp = full_data(idata)
24359 678305 : data_tmp = ISHFT(data_tmp, 31)
24360 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24361 678305 : pack_tmp = ISHFT(pack_tmp, -16)
24362 678305 : idata = idata + 1
24363 678305 : data_tmp = full_data(idata)
24364 678305 : data_tmp = ISHFT(data_tmp, 31)
24365 678305 : data_tmp = IAND(data_tmp, mask_left(16))
24366 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24367 678305 : ipack = ipack + 1
24368 678305 : packed_data(ipack) = pack_tmp
24369 678305 : data_tmp = full_data(idata)
24370 678305 : pack_tmp = ISHFT(data_tmp, 47)
24371 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24372 678305 : idata = idata + 1
24373 678305 : data_tmp = full_data(idata)
24374 678305 : data_tmp = ISHFT(data_tmp, 31)
24375 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24376 678305 : pack_tmp = ISHFT(pack_tmp, -14)
24377 678305 : idata = idata + 1
24378 678305 : data_tmp = full_data(idata)
24379 678305 : data_tmp = ISHFT(data_tmp, 31)
24380 678305 : data_tmp = IAND(data_tmp, mask_left(14))
24381 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24382 678305 : ipack = ipack + 1
24383 678305 : packed_data(ipack) = pack_tmp
24384 678305 : data_tmp = full_data(idata)
24385 678305 : pack_tmp = ISHFT(data_tmp, 45)
24386 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24387 678305 : idata = idata + 1
24388 678305 : data_tmp = full_data(idata)
24389 678305 : data_tmp = ISHFT(data_tmp, 31)
24390 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24391 678305 : pack_tmp = ISHFT(pack_tmp, -12)
24392 678305 : idata = idata + 1
24393 678305 : data_tmp = full_data(idata)
24394 678305 : data_tmp = ISHFT(data_tmp, 31)
24395 678305 : data_tmp = IAND(data_tmp, mask_left(12))
24396 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24397 678305 : ipack = ipack + 1
24398 678305 : packed_data(ipack) = pack_tmp
24399 678305 : data_tmp = full_data(idata)
24400 678305 : pack_tmp = ISHFT(data_tmp, 43)
24401 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24402 678305 : idata = idata + 1
24403 678305 : data_tmp = full_data(idata)
24404 678305 : data_tmp = ISHFT(data_tmp, 31)
24405 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24406 678305 : pack_tmp = ISHFT(pack_tmp, -10)
24407 678305 : idata = idata + 1
24408 678305 : data_tmp = full_data(idata)
24409 678305 : data_tmp = ISHFT(data_tmp, 31)
24410 678305 : data_tmp = IAND(data_tmp, mask_left(10))
24411 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24412 678305 : ipack = ipack + 1
24413 678305 : packed_data(ipack) = pack_tmp
24414 678305 : data_tmp = full_data(idata)
24415 678305 : pack_tmp = ISHFT(data_tmp, 41)
24416 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24417 678305 : idata = idata + 1
24418 678305 : data_tmp = full_data(idata)
24419 678305 : data_tmp = ISHFT(data_tmp, 31)
24420 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24421 678305 : pack_tmp = ISHFT(pack_tmp, -8)
24422 678305 : idata = idata + 1
24423 678305 : data_tmp = full_data(idata)
24424 678305 : data_tmp = ISHFT(data_tmp, 31)
24425 678305 : data_tmp = IAND(data_tmp, mask_left(8))
24426 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24427 678305 : ipack = ipack + 1
24428 678305 : packed_data(ipack) = pack_tmp
24429 678305 : data_tmp = full_data(idata)
24430 678305 : pack_tmp = ISHFT(data_tmp, 39)
24431 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24432 678305 : idata = idata + 1
24433 678305 : data_tmp = full_data(idata)
24434 678305 : data_tmp = ISHFT(data_tmp, 31)
24435 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24436 678305 : pack_tmp = ISHFT(pack_tmp, -6)
24437 678305 : idata = idata + 1
24438 678305 : data_tmp = full_data(idata)
24439 678305 : data_tmp = ISHFT(data_tmp, 31)
24440 678305 : data_tmp = IAND(data_tmp, mask_left(6))
24441 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24442 678305 : ipack = ipack + 1
24443 678305 : packed_data(ipack) = pack_tmp
24444 678305 : data_tmp = full_data(idata)
24445 678305 : pack_tmp = ISHFT(data_tmp, 37)
24446 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24447 678305 : idata = idata + 1
24448 678305 : data_tmp = full_data(idata)
24449 678305 : data_tmp = ISHFT(data_tmp, 31)
24450 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24451 678305 : pack_tmp = ISHFT(pack_tmp, -4)
24452 678305 : idata = idata + 1
24453 678305 : data_tmp = full_data(idata)
24454 678305 : data_tmp = ISHFT(data_tmp, 31)
24455 678305 : data_tmp = IAND(data_tmp, mask_left(4))
24456 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24457 678305 : ipack = ipack + 1
24458 678305 : packed_data(ipack) = pack_tmp
24459 678305 : data_tmp = full_data(idata)
24460 678305 : pack_tmp = ISHFT(data_tmp, 35)
24461 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24462 678305 : idata = idata + 1
24463 678305 : data_tmp = full_data(idata)
24464 678305 : data_tmp = ISHFT(data_tmp, 31)
24465 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24466 678305 : pack_tmp = ISHFT(pack_tmp, -2)
24467 678305 : idata = idata + 1
24468 678305 : data_tmp = full_data(idata)
24469 678305 : data_tmp = ISHFT(data_tmp, 31)
24470 678305 : data_tmp = IAND(data_tmp, mask_left(2))
24471 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24472 678305 : ipack = ipack + 1
24473 678305 : packed_data(ipack) = pack_tmp
24474 678305 : data_tmp = full_data(idata)
24475 678305 : pack_tmp = ISHFT(data_tmp, 33)
24476 678305 : pack_tmp = ISHFT(pack_tmp, -33)
24477 678305 : idata = idata + 1
24478 678305 : data_tmp = full_data(idata)
24479 678305 : data_tmp = ISHFT(data_tmp, 31)
24480 678305 : pack_tmp = IOR(pack_tmp, data_tmp)
24481 : pack_tmp = ISHFT(pack_tmp, 0)
24482 678305 : pack_tmp = ISHFT(pack_tmp, 0)
24483 678305 : ipack = ipack + 1
24484 681260 : packed_data(ipack) = pack_tmp
24485 : END DO
24486 53528 : IF (Ndata_rep < Ndata) THEN
24487 20958 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24488 : END IF
24489 53528 : END SUBROUTINE ints2bits_33
24490 :
24491 : ! **************************************************************************************************
24492 : !> \brief ...
24493 : !> \param Ndata ...
24494 : !> \param packed_data ...
24495 : !> \param full_data ...
24496 : ! **************************************************************************************************
24497 266283 : 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 266283 : ipack = 0
24508 266283 : idata = 0
24509 266283 : pack_tmp = 0
24510 266283 : Ndata_rep = (Ndata/64)*64
24511 266283 : DO kdata = 1, Ndata_rep, 64
24512 3228101 : idata = idata + 1
24513 3228101 : data_tmp = ISHFT(pack_tmp, 33)
24514 3228101 : ipack = ipack + 1
24515 3228101 : pack_tmp = packed_data(ipack)
24516 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
24517 3228101 : pack_tmp = ISHFT(pack_tmp, -33)
24518 3228101 : idata = idata + 1
24519 3228101 : data_tmp = ISHFT(pack_tmp, 2)
24520 3228101 : ipack = ipack + 1
24521 3228101 : pack_tmp = packed_data(ipack)
24522 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
24523 3228101 : pack_tmp = ISHFT(pack_tmp, -2)
24524 3228101 : idata = idata + 1
24525 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24526 3228101 : full_data(idata) = data_tmp
24527 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24528 3228101 : idata = idata + 1
24529 3228101 : data_tmp = ISHFT(pack_tmp, 4)
24530 3228101 : ipack = ipack + 1
24531 3228101 : pack_tmp = packed_data(ipack)
24532 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
24533 3228101 : pack_tmp = ISHFT(pack_tmp, -4)
24534 3228101 : idata = idata + 1
24535 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24536 3228101 : full_data(idata) = data_tmp
24537 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24538 3228101 : idata = idata + 1
24539 3228101 : data_tmp = ISHFT(pack_tmp, 6)
24540 3228101 : ipack = ipack + 1
24541 3228101 : pack_tmp = packed_data(ipack)
24542 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
24543 3228101 : pack_tmp = ISHFT(pack_tmp, -6)
24544 3228101 : idata = idata + 1
24545 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24546 3228101 : full_data(idata) = data_tmp
24547 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24548 3228101 : idata = idata + 1
24549 3228101 : data_tmp = ISHFT(pack_tmp, 8)
24550 3228101 : ipack = ipack + 1
24551 3228101 : pack_tmp = packed_data(ipack)
24552 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
24553 3228101 : pack_tmp = ISHFT(pack_tmp, -8)
24554 3228101 : idata = idata + 1
24555 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24556 3228101 : full_data(idata) = data_tmp
24557 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24558 3228101 : idata = idata + 1
24559 3228101 : data_tmp = ISHFT(pack_tmp, 10)
24560 3228101 : ipack = ipack + 1
24561 3228101 : pack_tmp = packed_data(ipack)
24562 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
24563 3228101 : pack_tmp = ISHFT(pack_tmp, -10)
24564 3228101 : idata = idata + 1
24565 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24566 3228101 : full_data(idata) = data_tmp
24567 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24568 3228101 : idata = idata + 1
24569 3228101 : data_tmp = ISHFT(pack_tmp, 12)
24570 3228101 : ipack = ipack + 1
24571 3228101 : pack_tmp = packed_data(ipack)
24572 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
24573 3228101 : pack_tmp = ISHFT(pack_tmp, -12)
24574 3228101 : idata = idata + 1
24575 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24576 3228101 : full_data(idata) = data_tmp
24577 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24578 3228101 : idata = idata + 1
24579 3228101 : data_tmp = ISHFT(pack_tmp, 14)
24580 3228101 : ipack = ipack + 1
24581 3228101 : pack_tmp = packed_data(ipack)
24582 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
24583 3228101 : pack_tmp = ISHFT(pack_tmp, -14)
24584 3228101 : idata = idata + 1
24585 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24586 3228101 : full_data(idata) = data_tmp
24587 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24588 3228101 : idata = idata + 1
24589 3228101 : data_tmp = ISHFT(pack_tmp, 16)
24590 3228101 : ipack = ipack + 1
24591 3228101 : pack_tmp = packed_data(ipack)
24592 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
24593 3228101 : pack_tmp = ISHFT(pack_tmp, -16)
24594 3228101 : idata = idata + 1
24595 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24596 3228101 : full_data(idata) = data_tmp
24597 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24598 3228101 : idata = idata + 1
24599 3228101 : data_tmp = ISHFT(pack_tmp, 18)
24600 3228101 : ipack = ipack + 1
24601 3228101 : pack_tmp = packed_data(ipack)
24602 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
24603 3228101 : pack_tmp = ISHFT(pack_tmp, -18)
24604 3228101 : idata = idata + 1
24605 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24606 3228101 : full_data(idata) = data_tmp
24607 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24608 3228101 : idata = idata + 1
24609 3228101 : data_tmp = ISHFT(pack_tmp, 20)
24610 3228101 : ipack = ipack + 1
24611 3228101 : pack_tmp = packed_data(ipack)
24612 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
24613 3228101 : pack_tmp = ISHFT(pack_tmp, -20)
24614 3228101 : idata = idata + 1
24615 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24616 3228101 : full_data(idata) = data_tmp
24617 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24618 3228101 : idata = idata + 1
24619 3228101 : data_tmp = ISHFT(pack_tmp, 22)
24620 3228101 : ipack = ipack + 1
24621 3228101 : pack_tmp = packed_data(ipack)
24622 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
24623 3228101 : pack_tmp = ISHFT(pack_tmp, -22)
24624 3228101 : idata = idata + 1
24625 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24626 3228101 : full_data(idata) = data_tmp
24627 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24628 3228101 : idata = idata + 1
24629 3228101 : data_tmp = ISHFT(pack_tmp, 24)
24630 3228101 : ipack = ipack + 1
24631 3228101 : pack_tmp = packed_data(ipack)
24632 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
24633 3228101 : pack_tmp = ISHFT(pack_tmp, -24)
24634 3228101 : idata = idata + 1
24635 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24636 3228101 : full_data(idata) = data_tmp
24637 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24638 3228101 : idata = idata + 1
24639 3228101 : data_tmp = ISHFT(pack_tmp, 26)
24640 3228101 : ipack = ipack + 1
24641 3228101 : pack_tmp = packed_data(ipack)
24642 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
24643 3228101 : pack_tmp = ISHFT(pack_tmp, -26)
24644 3228101 : idata = idata + 1
24645 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24646 3228101 : full_data(idata) = data_tmp
24647 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24648 3228101 : idata = idata + 1
24649 3228101 : data_tmp = ISHFT(pack_tmp, 28)
24650 3228101 : ipack = ipack + 1
24651 3228101 : pack_tmp = packed_data(ipack)
24652 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
24653 3228101 : pack_tmp = ISHFT(pack_tmp, -28)
24654 3228101 : idata = idata + 1
24655 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24656 3228101 : full_data(idata) = data_tmp
24657 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24658 3228101 : idata = idata + 1
24659 3228101 : data_tmp = ISHFT(pack_tmp, 30)
24660 3228101 : ipack = ipack + 1
24661 3228101 : pack_tmp = packed_data(ipack)
24662 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
24663 3228101 : pack_tmp = ISHFT(pack_tmp, -30)
24664 3228101 : idata = idata + 1
24665 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24666 3228101 : full_data(idata) = data_tmp
24667 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24668 3228101 : idata = idata + 1
24669 3228101 : data_tmp = ISHFT(pack_tmp, 32)
24670 3228101 : ipack = ipack + 1
24671 3228101 : pack_tmp = packed_data(ipack)
24672 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
24673 3228101 : pack_tmp = ISHFT(pack_tmp, -32)
24674 3228101 : idata = idata + 1
24675 3228101 : data_tmp = ISHFT(pack_tmp, 1)
24676 3228101 : ipack = ipack + 1
24677 3228101 : pack_tmp = packed_data(ipack)
24678 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
24679 3228101 : pack_tmp = ISHFT(pack_tmp, -1)
24680 3228101 : idata = idata + 1
24681 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24682 3228101 : full_data(idata) = data_tmp
24683 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24684 3228101 : idata = idata + 1
24685 3228101 : data_tmp = ISHFT(pack_tmp, 3)
24686 3228101 : ipack = ipack + 1
24687 3228101 : pack_tmp = packed_data(ipack)
24688 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
24689 3228101 : pack_tmp = ISHFT(pack_tmp, -3)
24690 3228101 : idata = idata + 1
24691 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24692 3228101 : full_data(idata) = data_tmp
24693 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24694 3228101 : idata = idata + 1
24695 3228101 : data_tmp = ISHFT(pack_tmp, 5)
24696 3228101 : ipack = ipack + 1
24697 3228101 : pack_tmp = packed_data(ipack)
24698 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
24699 3228101 : pack_tmp = ISHFT(pack_tmp, -5)
24700 3228101 : idata = idata + 1
24701 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24702 3228101 : full_data(idata) = data_tmp
24703 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24704 3228101 : idata = idata + 1
24705 3228101 : data_tmp = ISHFT(pack_tmp, 7)
24706 3228101 : ipack = ipack + 1
24707 3228101 : pack_tmp = packed_data(ipack)
24708 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
24709 3228101 : pack_tmp = ISHFT(pack_tmp, -7)
24710 3228101 : idata = idata + 1
24711 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24712 3228101 : full_data(idata) = data_tmp
24713 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24714 3228101 : idata = idata + 1
24715 3228101 : data_tmp = ISHFT(pack_tmp, 9)
24716 3228101 : ipack = ipack + 1
24717 3228101 : pack_tmp = packed_data(ipack)
24718 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
24719 3228101 : pack_tmp = ISHFT(pack_tmp, -9)
24720 3228101 : idata = idata + 1
24721 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24722 3228101 : full_data(idata) = data_tmp
24723 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24724 3228101 : idata = idata + 1
24725 3228101 : data_tmp = ISHFT(pack_tmp, 11)
24726 3228101 : ipack = ipack + 1
24727 3228101 : pack_tmp = packed_data(ipack)
24728 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
24729 3228101 : pack_tmp = ISHFT(pack_tmp, -11)
24730 3228101 : idata = idata + 1
24731 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24732 3228101 : full_data(idata) = data_tmp
24733 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24734 3228101 : idata = idata + 1
24735 3228101 : data_tmp = ISHFT(pack_tmp, 13)
24736 3228101 : ipack = ipack + 1
24737 3228101 : pack_tmp = packed_data(ipack)
24738 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
24739 3228101 : pack_tmp = ISHFT(pack_tmp, -13)
24740 3228101 : idata = idata + 1
24741 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24742 3228101 : full_data(idata) = data_tmp
24743 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24744 3228101 : idata = idata + 1
24745 3228101 : data_tmp = ISHFT(pack_tmp, 15)
24746 3228101 : ipack = ipack + 1
24747 3228101 : pack_tmp = packed_data(ipack)
24748 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
24749 3228101 : pack_tmp = ISHFT(pack_tmp, -15)
24750 3228101 : idata = idata + 1
24751 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24752 3228101 : full_data(idata) = data_tmp
24753 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24754 3228101 : idata = idata + 1
24755 3228101 : data_tmp = ISHFT(pack_tmp, 17)
24756 3228101 : ipack = ipack + 1
24757 3228101 : pack_tmp = packed_data(ipack)
24758 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
24759 3228101 : pack_tmp = ISHFT(pack_tmp, -17)
24760 3228101 : idata = idata + 1
24761 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24762 3228101 : full_data(idata) = data_tmp
24763 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24764 3228101 : idata = idata + 1
24765 3228101 : data_tmp = ISHFT(pack_tmp, 19)
24766 3228101 : ipack = ipack + 1
24767 3228101 : pack_tmp = packed_data(ipack)
24768 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
24769 3228101 : pack_tmp = ISHFT(pack_tmp, -19)
24770 3228101 : idata = idata + 1
24771 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24772 3228101 : full_data(idata) = data_tmp
24773 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24774 3228101 : idata = idata + 1
24775 3228101 : data_tmp = ISHFT(pack_tmp, 21)
24776 3228101 : ipack = ipack + 1
24777 3228101 : pack_tmp = packed_data(ipack)
24778 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
24779 3228101 : pack_tmp = ISHFT(pack_tmp, -21)
24780 3228101 : idata = idata + 1
24781 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24782 3228101 : full_data(idata) = data_tmp
24783 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24784 3228101 : idata = idata + 1
24785 3228101 : data_tmp = ISHFT(pack_tmp, 23)
24786 3228101 : ipack = ipack + 1
24787 3228101 : pack_tmp = packed_data(ipack)
24788 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
24789 3228101 : pack_tmp = ISHFT(pack_tmp, -23)
24790 3228101 : idata = idata + 1
24791 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24792 3228101 : full_data(idata) = data_tmp
24793 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24794 3228101 : idata = idata + 1
24795 3228101 : data_tmp = ISHFT(pack_tmp, 25)
24796 3228101 : ipack = ipack + 1
24797 3228101 : pack_tmp = packed_data(ipack)
24798 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
24799 3228101 : pack_tmp = ISHFT(pack_tmp, -25)
24800 3228101 : idata = idata + 1
24801 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24802 3228101 : full_data(idata) = data_tmp
24803 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24804 3228101 : idata = idata + 1
24805 3228101 : data_tmp = ISHFT(pack_tmp, 27)
24806 3228101 : ipack = ipack + 1
24807 3228101 : pack_tmp = packed_data(ipack)
24808 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
24809 3228101 : pack_tmp = ISHFT(pack_tmp, -27)
24810 3228101 : idata = idata + 1
24811 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24812 3228101 : full_data(idata) = data_tmp
24813 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24814 3228101 : idata = idata + 1
24815 3228101 : data_tmp = ISHFT(pack_tmp, 29)
24816 3228101 : ipack = ipack + 1
24817 3228101 : pack_tmp = packed_data(ipack)
24818 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
24819 3228101 : pack_tmp = ISHFT(pack_tmp, -29)
24820 3228101 : idata = idata + 1
24821 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24822 3228101 : full_data(idata) = data_tmp
24823 3228101 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24824 3228101 : idata = idata + 1
24825 3228101 : data_tmp = ISHFT(pack_tmp, 31)
24826 3228101 : ipack = ipack + 1
24827 3228101 : pack_tmp = packed_data(ipack)
24828 3228101 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
24829 3228101 : pack_tmp = ISHFT(pack_tmp, -31)
24830 3228101 : idata = idata + 1
24831 3228101 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24832 3228101 : full_data(idata) = data_tmp
24833 3245876 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24834 : END DO
24835 266283 : IF (Ndata_rep < Ndata) THEN
24836 121462 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24837 : END IF
24838 266283 : END SUBROUTINE bits2ints_33
24839 :
24840 : ! **************************************************************************************************
24841 : !> \brief ...
24842 : !> \param Ndata ...
24843 : !> \param packed_data ...
24844 : !> \param full_data ...
24845 : ! **************************************************************************************************
24846 46930 : 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 46930 : idata = 0
24857 46930 : ipack = 0
24858 46930 : Ndata_rep = (Ndata/64)*64
24859 46930 : DO kdata = 1, Ndata_rep, 64
24860 611937 : pack_tmp = 0
24861 611937 : idata = idata + 1
24862 611937 : data_tmp = full_data(idata)
24863 611937 : data_tmp = ISHFT(data_tmp, 30)
24864 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24865 611937 : pack_tmp = ISHFT(pack_tmp, -30)
24866 611937 : idata = idata + 1
24867 611937 : data_tmp = full_data(idata)
24868 611937 : data_tmp = ISHFT(data_tmp, 30)
24869 611937 : data_tmp = IAND(data_tmp, mask_left(30))
24870 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24871 611937 : ipack = ipack + 1
24872 611937 : packed_data(ipack) = pack_tmp
24873 611937 : data_tmp = full_data(idata)
24874 611937 : pack_tmp = ISHFT(data_tmp, 60)
24875 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24876 611937 : idata = idata + 1
24877 611937 : data_tmp = full_data(idata)
24878 611937 : data_tmp = ISHFT(data_tmp, 30)
24879 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24880 611937 : pack_tmp = ISHFT(pack_tmp, -26)
24881 611937 : idata = idata + 1
24882 611937 : data_tmp = full_data(idata)
24883 611937 : data_tmp = ISHFT(data_tmp, 30)
24884 611937 : data_tmp = IAND(data_tmp, mask_left(26))
24885 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24886 611937 : ipack = ipack + 1
24887 611937 : packed_data(ipack) = pack_tmp
24888 611937 : data_tmp = full_data(idata)
24889 611937 : pack_tmp = ISHFT(data_tmp, 56)
24890 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24891 611937 : idata = idata + 1
24892 611937 : data_tmp = full_data(idata)
24893 611937 : data_tmp = ISHFT(data_tmp, 30)
24894 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24895 611937 : pack_tmp = ISHFT(pack_tmp, -22)
24896 611937 : idata = idata + 1
24897 611937 : data_tmp = full_data(idata)
24898 611937 : data_tmp = ISHFT(data_tmp, 30)
24899 611937 : data_tmp = IAND(data_tmp, mask_left(22))
24900 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24901 611937 : ipack = ipack + 1
24902 611937 : packed_data(ipack) = pack_tmp
24903 611937 : data_tmp = full_data(idata)
24904 611937 : pack_tmp = ISHFT(data_tmp, 52)
24905 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24906 611937 : idata = idata + 1
24907 611937 : data_tmp = full_data(idata)
24908 611937 : data_tmp = ISHFT(data_tmp, 30)
24909 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24910 611937 : pack_tmp = ISHFT(pack_tmp, -18)
24911 611937 : idata = idata + 1
24912 611937 : data_tmp = full_data(idata)
24913 611937 : data_tmp = ISHFT(data_tmp, 30)
24914 611937 : data_tmp = IAND(data_tmp, mask_left(18))
24915 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24916 611937 : ipack = ipack + 1
24917 611937 : packed_data(ipack) = pack_tmp
24918 611937 : data_tmp = full_data(idata)
24919 611937 : pack_tmp = ISHFT(data_tmp, 48)
24920 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24921 611937 : idata = idata + 1
24922 611937 : data_tmp = full_data(idata)
24923 611937 : data_tmp = ISHFT(data_tmp, 30)
24924 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24925 611937 : pack_tmp = ISHFT(pack_tmp, -14)
24926 611937 : idata = idata + 1
24927 611937 : data_tmp = full_data(idata)
24928 611937 : data_tmp = ISHFT(data_tmp, 30)
24929 611937 : data_tmp = IAND(data_tmp, mask_left(14))
24930 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24931 611937 : ipack = ipack + 1
24932 611937 : packed_data(ipack) = pack_tmp
24933 611937 : data_tmp = full_data(idata)
24934 611937 : pack_tmp = ISHFT(data_tmp, 44)
24935 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24936 611937 : idata = idata + 1
24937 611937 : data_tmp = full_data(idata)
24938 611937 : data_tmp = ISHFT(data_tmp, 30)
24939 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24940 611937 : pack_tmp = ISHFT(pack_tmp, -10)
24941 611937 : idata = idata + 1
24942 611937 : data_tmp = full_data(idata)
24943 611937 : data_tmp = ISHFT(data_tmp, 30)
24944 611937 : data_tmp = IAND(data_tmp, mask_left(10))
24945 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24946 611937 : ipack = ipack + 1
24947 611937 : packed_data(ipack) = pack_tmp
24948 611937 : data_tmp = full_data(idata)
24949 611937 : pack_tmp = ISHFT(data_tmp, 40)
24950 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24951 611937 : idata = idata + 1
24952 611937 : data_tmp = full_data(idata)
24953 611937 : data_tmp = ISHFT(data_tmp, 30)
24954 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24955 611937 : pack_tmp = ISHFT(pack_tmp, -6)
24956 611937 : idata = idata + 1
24957 611937 : data_tmp = full_data(idata)
24958 611937 : data_tmp = ISHFT(data_tmp, 30)
24959 611937 : data_tmp = IAND(data_tmp, mask_left(6))
24960 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24961 611937 : ipack = ipack + 1
24962 611937 : packed_data(ipack) = pack_tmp
24963 611937 : data_tmp = full_data(idata)
24964 611937 : pack_tmp = ISHFT(data_tmp, 36)
24965 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24966 611937 : idata = idata + 1
24967 611937 : data_tmp = full_data(idata)
24968 611937 : data_tmp = ISHFT(data_tmp, 30)
24969 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24970 611937 : pack_tmp = ISHFT(pack_tmp, -2)
24971 611937 : idata = idata + 1
24972 611937 : data_tmp = full_data(idata)
24973 611937 : data_tmp = ISHFT(data_tmp, 30)
24974 611937 : data_tmp = IAND(data_tmp, mask_left(2))
24975 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24976 611937 : ipack = ipack + 1
24977 611937 : packed_data(ipack) = pack_tmp
24978 611937 : data_tmp = full_data(idata)
24979 611937 : pack_tmp = ISHFT(data_tmp, 32)
24980 611937 : pack_tmp = ISHFT(pack_tmp, -32)
24981 611937 : idata = idata + 1
24982 611937 : data_tmp = full_data(idata)
24983 611937 : data_tmp = ISHFT(data_tmp, 30)
24984 611937 : data_tmp = IAND(data_tmp, mask_left(32))
24985 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24986 611937 : ipack = ipack + 1
24987 611937 : packed_data(ipack) = pack_tmp
24988 611937 : data_tmp = full_data(idata)
24989 611937 : pack_tmp = ISHFT(data_tmp, 62)
24990 611937 : pack_tmp = ISHFT(pack_tmp, -34)
24991 611937 : idata = idata + 1
24992 611937 : data_tmp = full_data(idata)
24993 611937 : data_tmp = ISHFT(data_tmp, 30)
24994 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
24995 611937 : pack_tmp = ISHFT(pack_tmp, -28)
24996 611937 : idata = idata + 1
24997 611937 : data_tmp = full_data(idata)
24998 611937 : data_tmp = ISHFT(data_tmp, 30)
24999 611937 : data_tmp = IAND(data_tmp, mask_left(28))
25000 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25001 611937 : ipack = ipack + 1
25002 611937 : packed_data(ipack) = pack_tmp
25003 611937 : data_tmp = full_data(idata)
25004 611937 : pack_tmp = ISHFT(data_tmp, 58)
25005 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25006 611937 : idata = idata + 1
25007 611937 : data_tmp = full_data(idata)
25008 611937 : data_tmp = ISHFT(data_tmp, 30)
25009 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25010 611937 : pack_tmp = ISHFT(pack_tmp, -24)
25011 611937 : idata = idata + 1
25012 611937 : data_tmp = full_data(idata)
25013 611937 : data_tmp = ISHFT(data_tmp, 30)
25014 611937 : data_tmp = IAND(data_tmp, mask_left(24))
25015 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25016 611937 : ipack = ipack + 1
25017 611937 : packed_data(ipack) = pack_tmp
25018 611937 : data_tmp = full_data(idata)
25019 611937 : pack_tmp = ISHFT(data_tmp, 54)
25020 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25021 611937 : idata = idata + 1
25022 611937 : data_tmp = full_data(idata)
25023 611937 : data_tmp = ISHFT(data_tmp, 30)
25024 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25025 611937 : pack_tmp = ISHFT(pack_tmp, -20)
25026 611937 : idata = idata + 1
25027 611937 : data_tmp = full_data(idata)
25028 611937 : data_tmp = ISHFT(data_tmp, 30)
25029 611937 : data_tmp = IAND(data_tmp, mask_left(20))
25030 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25031 611937 : ipack = ipack + 1
25032 611937 : packed_data(ipack) = pack_tmp
25033 611937 : data_tmp = full_data(idata)
25034 611937 : pack_tmp = ISHFT(data_tmp, 50)
25035 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25036 611937 : idata = idata + 1
25037 611937 : data_tmp = full_data(idata)
25038 611937 : data_tmp = ISHFT(data_tmp, 30)
25039 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25040 611937 : pack_tmp = ISHFT(pack_tmp, -16)
25041 611937 : idata = idata + 1
25042 611937 : data_tmp = full_data(idata)
25043 611937 : data_tmp = ISHFT(data_tmp, 30)
25044 611937 : data_tmp = IAND(data_tmp, mask_left(16))
25045 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25046 611937 : ipack = ipack + 1
25047 611937 : packed_data(ipack) = pack_tmp
25048 611937 : data_tmp = full_data(idata)
25049 611937 : pack_tmp = ISHFT(data_tmp, 46)
25050 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25051 611937 : idata = idata + 1
25052 611937 : data_tmp = full_data(idata)
25053 611937 : data_tmp = ISHFT(data_tmp, 30)
25054 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25055 611937 : pack_tmp = ISHFT(pack_tmp, -12)
25056 611937 : idata = idata + 1
25057 611937 : data_tmp = full_data(idata)
25058 611937 : data_tmp = ISHFT(data_tmp, 30)
25059 611937 : data_tmp = IAND(data_tmp, mask_left(12))
25060 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25061 611937 : ipack = ipack + 1
25062 611937 : packed_data(ipack) = pack_tmp
25063 611937 : data_tmp = full_data(idata)
25064 611937 : pack_tmp = ISHFT(data_tmp, 42)
25065 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25066 611937 : idata = idata + 1
25067 611937 : data_tmp = full_data(idata)
25068 611937 : data_tmp = ISHFT(data_tmp, 30)
25069 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25070 611937 : pack_tmp = ISHFT(pack_tmp, -8)
25071 611937 : idata = idata + 1
25072 611937 : data_tmp = full_data(idata)
25073 611937 : data_tmp = ISHFT(data_tmp, 30)
25074 611937 : data_tmp = IAND(data_tmp, mask_left(8))
25075 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25076 611937 : ipack = ipack + 1
25077 611937 : packed_data(ipack) = pack_tmp
25078 611937 : data_tmp = full_data(idata)
25079 611937 : pack_tmp = ISHFT(data_tmp, 38)
25080 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25081 611937 : idata = idata + 1
25082 611937 : data_tmp = full_data(idata)
25083 611937 : data_tmp = ISHFT(data_tmp, 30)
25084 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25085 611937 : pack_tmp = ISHFT(pack_tmp, -4)
25086 611937 : idata = idata + 1
25087 611937 : data_tmp = full_data(idata)
25088 611937 : data_tmp = ISHFT(data_tmp, 30)
25089 611937 : data_tmp = IAND(data_tmp, mask_left(4))
25090 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25091 611937 : ipack = ipack + 1
25092 611937 : packed_data(ipack) = pack_tmp
25093 611937 : data_tmp = full_data(idata)
25094 611937 : pack_tmp = ISHFT(data_tmp, 34)
25095 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25096 611937 : idata = idata + 1
25097 611937 : data_tmp = full_data(idata)
25098 611937 : data_tmp = ISHFT(data_tmp, 30)
25099 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25100 611937 : pack_tmp = ISHFT(pack_tmp, 0)
25101 611937 : idata = idata + 1
25102 611937 : data_tmp = full_data(idata)
25103 : data_tmp = ISHFT(data_tmp, 30)
25104 611937 : data_tmp = IAND(data_tmp, mask_left(0))
25105 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25106 611937 : ipack = ipack + 1
25107 611937 : packed_data(ipack) = pack_tmp
25108 611937 : data_tmp = full_data(idata)
25109 611937 : pack_tmp = ISHFT(data_tmp, 30)
25110 611937 : pack_tmp = ISHFT(pack_tmp, -30)
25111 611937 : idata = idata + 1
25112 611937 : data_tmp = full_data(idata)
25113 611937 : data_tmp = ISHFT(data_tmp, 30)
25114 611937 : data_tmp = IAND(data_tmp, mask_left(30))
25115 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25116 611937 : ipack = ipack + 1
25117 611937 : packed_data(ipack) = pack_tmp
25118 611937 : data_tmp = full_data(idata)
25119 611937 : pack_tmp = ISHFT(data_tmp, 60)
25120 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25121 611937 : idata = idata + 1
25122 611937 : data_tmp = full_data(idata)
25123 611937 : data_tmp = ISHFT(data_tmp, 30)
25124 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25125 611937 : pack_tmp = ISHFT(pack_tmp, -26)
25126 611937 : idata = idata + 1
25127 611937 : data_tmp = full_data(idata)
25128 611937 : data_tmp = ISHFT(data_tmp, 30)
25129 611937 : data_tmp = IAND(data_tmp, mask_left(26))
25130 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25131 611937 : ipack = ipack + 1
25132 611937 : packed_data(ipack) = pack_tmp
25133 611937 : data_tmp = full_data(idata)
25134 611937 : pack_tmp = ISHFT(data_tmp, 56)
25135 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25136 611937 : idata = idata + 1
25137 611937 : data_tmp = full_data(idata)
25138 611937 : data_tmp = ISHFT(data_tmp, 30)
25139 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25140 611937 : pack_tmp = ISHFT(pack_tmp, -22)
25141 611937 : idata = idata + 1
25142 611937 : data_tmp = full_data(idata)
25143 611937 : data_tmp = ISHFT(data_tmp, 30)
25144 611937 : data_tmp = IAND(data_tmp, mask_left(22))
25145 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25146 611937 : ipack = ipack + 1
25147 611937 : packed_data(ipack) = pack_tmp
25148 611937 : data_tmp = full_data(idata)
25149 611937 : pack_tmp = ISHFT(data_tmp, 52)
25150 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25151 611937 : idata = idata + 1
25152 611937 : data_tmp = full_data(idata)
25153 611937 : data_tmp = ISHFT(data_tmp, 30)
25154 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25155 611937 : pack_tmp = ISHFT(pack_tmp, -18)
25156 611937 : idata = idata + 1
25157 611937 : data_tmp = full_data(idata)
25158 611937 : data_tmp = ISHFT(data_tmp, 30)
25159 611937 : data_tmp = IAND(data_tmp, mask_left(18))
25160 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25161 611937 : ipack = ipack + 1
25162 611937 : packed_data(ipack) = pack_tmp
25163 611937 : data_tmp = full_data(idata)
25164 611937 : pack_tmp = ISHFT(data_tmp, 48)
25165 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25166 611937 : idata = idata + 1
25167 611937 : data_tmp = full_data(idata)
25168 611937 : data_tmp = ISHFT(data_tmp, 30)
25169 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25170 611937 : pack_tmp = ISHFT(pack_tmp, -14)
25171 611937 : idata = idata + 1
25172 611937 : data_tmp = full_data(idata)
25173 611937 : data_tmp = ISHFT(data_tmp, 30)
25174 611937 : data_tmp = IAND(data_tmp, mask_left(14))
25175 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25176 611937 : ipack = ipack + 1
25177 611937 : packed_data(ipack) = pack_tmp
25178 611937 : data_tmp = full_data(idata)
25179 611937 : pack_tmp = ISHFT(data_tmp, 44)
25180 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25181 611937 : idata = idata + 1
25182 611937 : data_tmp = full_data(idata)
25183 611937 : data_tmp = ISHFT(data_tmp, 30)
25184 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25185 611937 : pack_tmp = ISHFT(pack_tmp, -10)
25186 611937 : idata = idata + 1
25187 611937 : data_tmp = full_data(idata)
25188 611937 : data_tmp = ISHFT(data_tmp, 30)
25189 611937 : data_tmp = IAND(data_tmp, mask_left(10))
25190 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25191 611937 : ipack = ipack + 1
25192 611937 : packed_data(ipack) = pack_tmp
25193 611937 : data_tmp = full_data(idata)
25194 611937 : pack_tmp = ISHFT(data_tmp, 40)
25195 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25196 611937 : idata = idata + 1
25197 611937 : data_tmp = full_data(idata)
25198 611937 : data_tmp = ISHFT(data_tmp, 30)
25199 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25200 611937 : pack_tmp = ISHFT(pack_tmp, -6)
25201 611937 : idata = idata + 1
25202 611937 : data_tmp = full_data(idata)
25203 611937 : data_tmp = ISHFT(data_tmp, 30)
25204 611937 : data_tmp = IAND(data_tmp, mask_left(6))
25205 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25206 611937 : ipack = ipack + 1
25207 611937 : packed_data(ipack) = pack_tmp
25208 611937 : data_tmp = full_data(idata)
25209 611937 : pack_tmp = ISHFT(data_tmp, 36)
25210 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25211 611937 : idata = idata + 1
25212 611937 : data_tmp = full_data(idata)
25213 611937 : data_tmp = ISHFT(data_tmp, 30)
25214 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25215 611937 : pack_tmp = ISHFT(pack_tmp, -2)
25216 611937 : idata = idata + 1
25217 611937 : data_tmp = full_data(idata)
25218 611937 : data_tmp = ISHFT(data_tmp, 30)
25219 611937 : data_tmp = IAND(data_tmp, mask_left(2))
25220 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25221 611937 : ipack = ipack + 1
25222 611937 : packed_data(ipack) = pack_tmp
25223 611937 : data_tmp = full_data(idata)
25224 611937 : pack_tmp = ISHFT(data_tmp, 32)
25225 611937 : pack_tmp = ISHFT(pack_tmp, -32)
25226 611937 : idata = idata + 1
25227 611937 : data_tmp = full_data(idata)
25228 611937 : data_tmp = ISHFT(data_tmp, 30)
25229 611937 : data_tmp = IAND(data_tmp, mask_left(32))
25230 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25231 611937 : ipack = ipack + 1
25232 611937 : packed_data(ipack) = pack_tmp
25233 611937 : data_tmp = full_data(idata)
25234 611937 : pack_tmp = ISHFT(data_tmp, 62)
25235 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25236 611937 : idata = idata + 1
25237 611937 : data_tmp = full_data(idata)
25238 611937 : data_tmp = ISHFT(data_tmp, 30)
25239 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25240 611937 : pack_tmp = ISHFT(pack_tmp, -28)
25241 611937 : idata = idata + 1
25242 611937 : data_tmp = full_data(idata)
25243 611937 : data_tmp = ISHFT(data_tmp, 30)
25244 611937 : data_tmp = IAND(data_tmp, mask_left(28))
25245 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25246 611937 : ipack = ipack + 1
25247 611937 : packed_data(ipack) = pack_tmp
25248 611937 : data_tmp = full_data(idata)
25249 611937 : pack_tmp = ISHFT(data_tmp, 58)
25250 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25251 611937 : idata = idata + 1
25252 611937 : data_tmp = full_data(idata)
25253 611937 : data_tmp = ISHFT(data_tmp, 30)
25254 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25255 611937 : pack_tmp = ISHFT(pack_tmp, -24)
25256 611937 : idata = idata + 1
25257 611937 : data_tmp = full_data(idata)
25258 611937 : data_tmp = ISHFT(data_tmp, 30)
25259 611937 : data_tmp = IAND(data_tmp, mask_left(24))
25260 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25261 611937 : ipack = ipack + 1
25262 611937 : packed_data(ipack) = pack_tmp
25263 611937 : data_tmp = full_data(idata)
25264 611937 : pack_tmp = ISHFT(data_tmp, 54)
25265 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25266 611937 : idata = idata + 1
25267 611937 : data_tmp = full_data(idata)
25268 611937 : data_tmp = ISHFT(data_tmp, 30)
25269 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25270 611937 : pack_tmp = ISHFT(pack_tmp, -20)
25271 611937 : idata = idata + 1
25272 611937 : data_tmp = full_data(idata)
25273 611937 : data_tmp = ISHFT(data_tmp, 30)
25274 611937 : data_tmp = IAND(data_tmp, mask_left(20))
25275 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25276 611937 : ipack = ipack + 1
25277 611937 : packed_data(ipack) = pack_tmp
25278 611937 : data_tmp = full_data(idata)
25279 611937 : pack_tmp = ISHFT(data_tmp, 50)
25280 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25281 611937 : idata = idata + 1
25282 611937 : data_tmp = full_data(idata)
25283 611937 : data_tmp = ISHFT(data_tmp, 30)
25284 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25285 611937 : pack_tmp = ISHFT(pack_tmp, -16)
25286 611937 : idata = idata + 1
25287 611937 : data_tmp = full_data(idata)
25288 611937 : data_tmp = ISHFT(data_tmp, 30)
25289 611937 : data_tmp = IAND(data_tmp, mask_left(16))
25290 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25291 611937 : ipack = ipack + 1
25292 611937 : packed_data(ipack) = pack_tmp
25293 611937 : data_tmp = full_data(idata)
25294 611937 : pack_tmp = ISHFT(data_tmp, 46)
25295 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25296 611937 : idata = idata + 1
25297 611937 : data_tmp = full_data(idata)
25298 611937 : data_tmp = ISHFT(data_tmp, 30)
25299 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25300 611937 : pack_tmp = ISHFT(pack_tmp, -12)
25301 611937 : idata = idata + 1
25302 611937 : data_tmp = full_data(idata)
25303 611937 : data_tmp = ISHFT(data_tmp, 30)
25304 611937 : data_tmp = IAND(data_tmp, mask_left(12))
25305 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25306 611937 : ipack = ipack + 1
25307 611937 : packed_data(ipack) = pack_tmp
25308 611937 : data_tmp = full_data(idata)
25309 611937 : pack_tmp = ISHFT(data_tmp, 42)
25310 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25311 611937 : idata = idata + 1
25312 611937 : data_tmp = full_data(idata)
25313 611937 : data_tmp = ISHFT(data_tmp, 30)
25314 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25315 611937 : pack_tmp = ISHFT(pack_tmp, -8)
25316 611937 : idata = idata + 1
25317 611937 : data_tmp = full_data(idata)
25318 611937 : data_tmp = ISHFT(data_tmp, 30)
25319 611937 : data_tmp = IAND(data_tmp, mask_left(8))
25320 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25321 611937 : ipack = ipack + 1
25322 611937 : packed_data(ipack) = pack_tmp
25323 611937 : data_tmp = full_data(idata)
25324 611937 : pack_tmp = ISHFT(data_tmp, 38)
25325 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25326 611937 : idata = idata + 1
25327 611937 : data_tmp = full_data(idata)
25328 611937 : data_tmp = ISHFT(data_tmp, 30)
25329 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25330 611937 : pack_tmp = ISHFT(pack_tmp, -4)
25331 611937 : idata = idata + 1
25332 611937 : data_tmp = full_data(idata)
25333 611937 : data_tmp = ISHFT(data_tmp, 30)
25334 611937 : data_tmp = IAND(data_tmp, mask_left(4))
25335 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25336 611937 : ipack = ipack + 1
25337 611937 : packed_data(ipack) = pack_tmp
25338 611937 : data_tmp = full_data(idata)
25339 611937 : pack_tmp = ISHFT(data_tmp, 34)
25340 611937 : pack_tmp = ISHFT(pack_tmp, -34)
25341 611937 : idata = idata + 1
25342 611937 : data_tmp = full_data(idata)
25343 611937 : data_tmp = ISHFT(data_tmp, 30)
25344 611937 : pack_tmp = IOR(pack_tmp, data_tmp)
25345 : pack_tmp = ISHFT(pack_tmp, 0)
25346 611937 : pack_tmp = ISHFT(pack_tmp, 0)
25347 611937 : ipack = ipack + 1
25348 612204 : packed_data(ipack) = pack_tmp
25349 : END DO
25350 46930 : IF (Ndata_rep < Ndata) THEN
25351 16094 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25352 : END IF
25353 46930 : END SUBROUTINE ints2bits_34
25354 :
25355 : ! **************************************************************************************************
25356 : !> \brief ...
25357 : !> \param Ndata ...
25358 : !> \param packed_data ...
25359 : !> \param full_data ...
25360 : ! **************************************************************************************************
25361 218091 : 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 218091 : ipack = 0
25372 218091 : idata = 0
25373 218091 : pack_tmp = 0
25374 218091 : Ndata_rep = (Ndata/64)*64
25375 218091 : DO kdata = 1, Ndata_rep, 64
25376 2747155 : idata = idata + 1
25377 2747155 : data_tmp = ISHFT(pack_tmp, 34)
25378 2747155 : ipack = ipack + 1
25379 2747155 : pack_tmp = packed_data(ipack)
25380 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25381 2747155 : pack_tmp = ISHFT(pack_tmp, -34)
25382 2747155 : idata = idata + 1
25383 2747155 : data_tmp = ISHFT(pack_tmp, 4)
25384 2747155 : ipack = ipack + 1
25385 2747155 : pack_tmp = packed_data(ipack)
25386 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25387 2747155 : pack_tmp = ISHFT(pack_tmp, -4)
25388 2747155 : idata = idata + 1
25389 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25390 2747155 : full_data(idata) = data_tmp
25391 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25392 2747155 : idata = idata + 1
25393 2747155 : data_tmp = ISHFT(pack_tmp, 8)
25394 2747155 : ipack = ipack + 1
25395 2747155 : pack_tmp = packed_data(ipack)
25396 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25397 2747155 : pack_tmp = ISHFT(pack_tmp, -8)
25398 2747155 : idata = idata + 1
25399 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25400 2747155 : full_data(idata) = data_tmp
25401 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25402 2747155 : idata = idata + 1
25403 2747155 : data_tmp = ISHFT(pack_tmp, 12)
25404 2747155 : ipack = ipack + 1
25405 2747155 : pack_tmp = packed_data(ipack)
25406 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25407 2747155 : pack_tmp = ISHFT(pack_tmp, -12)
25408 2747155 : idata = idata + 1
25409 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25410 2747155 : full_data(idata) = data_tmp
25411 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25412 2747155 : idata = idata + 1
25413 2747155 : data_tmp = ISHFT(pack_tmp, 16)
25414 2747155 : ipack = ipack + 1
25415 2747155 : pack_tmp = packed_data(ipack)
25416 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25417 2747155 : pack_tmp = ISHFT(pack_tmp, -16)
25418 2747155 : idata = idata + 1
25419 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25420 2747155 : full_data(idata) = data_tmp
25421 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25422 2747155 : idata = idata + 1
25423 2747155 : data_tmp = ISHFT(pack_tmp, 20)
25424 2747155 : ipack = ipack + 1
25425 2747155 : pack_tmp = packed_data(ipack)
25426 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25427 2747155 : pack_tmp = ISHFT(pack_tmp, -20)
25428 2747155 : idata = idata + 1
25429 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25430 2747155 : full_data(idata) = data_tmp
25431 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25432 2747155 : idata = idata + 1
25433 2747155 : data_tmp = ISHFT(pack_tmp, 24)
25434 2747155 : ipack = ipack + 1
25435 2747155 : pack_tmp = packed_data(ipack)
25436 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25437 2747155 : pack_tmp = ISHFT(pack_tmp, -24)
25438 2747155 : idata = idata + 1
25439 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25440 2747155 : full_data(idata) = data_tmp
25441 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25442 2747155 : idata = idata + 1
25443 2747155 : data_tmp = ISHFT(pack_tmp, 28)
25444 2747155 : ipack = ipack + 1
25445 2747155 : pack_tmp = packed_data(ipack)
25446 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25447 2747155 : pack_tmp = ISHFT(pack_tmp, -28)
25448 2747155 : idata = idata + 1
25449 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25450 2747155 : full_data(idata) = data_tmp
25451 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25452 2747155 : idata = idata + 1
25453 2747155 : data_tmp = ISHFT(pack_tmp, 32)
25454 2747155 : ipack = ipack + 1
25455 2747155 : pack_tmp = packed_data(ipack)
25456 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25457 2747155 : pack_tmp = ISHFT(pack_tmp, -32)
25458 2747155 : idata = idata + 1
25459 2747155 : data_tmp = ISHFT(pack_tmp, 2)
25460 2747155 : ipack = ipack + 1
25461 2747155 : pack_tmp = packed_data(ipack)
25462 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25463 2747155 : pack_tmp = ISHFT(pack_tmp, -2)
25464 2747155 : idata = idata + 1
25465 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25466 2747155 : full_data(idata) = data_tmp
25467 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25468 2747155 : idata = idata + 1
25469 2747155 : data_tmp = ISHFT(pack_tmp, 6)
25470 2747155 : ipack = ipack + 1
25471 2747155 : pack_tmp = packed_data(ipack)
25472 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25473 2747155 : pack_tmp = ISHFT(pack_tmp, -6)
25474 2747155 : idata = idata + 1
25475 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25476 2747155 : full_data(idata) = data_tmp
25477 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25478 2747155 : idata = idata + 1
25479 2747155 : data_tmp = ISHFT(pack_tmp, 10)
25480 2747155 : ipack = ipack + 1
25481 2747155 : pack_tmp = packed_data(ipack)
25482 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25483 2747155 : pack_tmp = ISHFT(pack_tmp, -10)
25484 2747155 : idata = idata + 1
25485 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25486 2747155 : full_data(idata) = data_tmp
25487 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25488 2747155 : idata = idata + 1
25489 2747155 : data_tmp = ISHFT(pack_tmp, 14)
25490 2747155 : ipack = ipack + 1
25491 2747155 : pack_tmp = packed_data(ipack)
25492 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25493 2747155 : pack_tmp = ISHFT(pack_tmp, -14)
25494 2747155 : idata = idata + 1
25495 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25496 2747155 : full_data(idata) = data_tmp
25497 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25498 2747155 : idata = idata + 1
25499 2747155 : data_tmp = ISHFT(pack_tmp, 18)
25500 2747155 : ipack = ipack + 1
25501 2747155 : pack_tmp = packed_data(ipack)
25502 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25503 2747155 : pack_tmp = ISHFT(pack_tmp, -18)
25504 2747155 : idata = idata + 1
25505 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25506 2747155 : full_data(idata) = data_tmp
25507 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25508 2747155 : idata = idata + 1
25509 2747155 : data_tmp = ISHFT(pack_tmp, 22)
25510 2747155 : ipack = ipack + 1
25511 2747155 : pack_tmp = packed_data(ipack)
25512 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25513 2747155 : pack_tmp = ISHFT(pack_tmp, -22)
25514 2747155 : idata = idata + 1
25515 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25516 2747155 : full_data(idata) = data_tmp
25517 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25518 2747155 : idata = idata + 1
25519 2747155 : data_tmp = ISHFT(pack_tmp, 26)
25520 2747155 : ipack = ipack + 1
25521 2747155 : pack_tmp = packed_data(ipack)
25522 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25523 2747155 : pack_tmp = ISHFT(pack_tmp, -26)
25524 2747155 : idata = idata + 1
25525 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25526 2747155 : full_data(idata) = data_tmp
25527 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25528 2747155 : idata = idata + 1
25529 2747155 : data_tmp = ISHFT(pack_tmp, 30)
25530 2747155 : ipack = ipack + 1
25531 2747155 : pack_tmp = packed_data(ipack)
25532 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25533 2747155 : pack_tmp = ISHFT(pack_tmp, -30)
25534 2747155 : idata = idata + 1
25535 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25536 2747155 : full_data(idata) = data_tmp
25537 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25538 2747155 : idata = idata + 1
25539 2747155 : data_tmp = ISHFT(pack_tmp, 34)
25540 2747155 : ipack = ipack + 1
25541 2747155 : pack_tmp = packed_data(ipack)
25542 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25543 2747155 : pack_tmp = ISHFT(pack_tmp, -34)
25544 2747155 : idata = idata + 1
25545 2747155 : data_tmp = ISHFT(pack_tmp, 4)
25546 2747155 : ipack = ipack + 1
25547 2747155 : pack_tmp = packed_data(ipack)
25548 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25549 2747155 : pack_tmp = ISHFT(pack_tmp, -4)
25550 2747155 : idata = idata + 1
25551 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25552 2747155 : full_data(idata) = data_tmp
25553 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25554 2747155 : idata = idata + 1
25555 2747155 : data_tmp = ISHFT(pack_tmp, 8)
25556 2747155 : ipack = ipack + 1
25557 2747155 : pack_tmp = packed_data(ipack)
25558 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25559 2747155 : pack_tmp = ISHFT(pack_tmp, -8)
25560 2747155 : idata = idata + 1
25561 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25562 2747155 : full_data(idata) = data_tmp
25563 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25564 2747155 : idata = idata + 1
25565 2747155 : data_tmp = ISHFT(pack_tmp, 12)
25566 2747155 : ipack = ipack + 1
25567 2747155 : pack_tmp = packed_data(ipack)
25568 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25569 2747155 : pack_tmp = ISHFT(pack_tmp, -12)
25570 2747155 : idata = idata + 1
25571 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25572 2747155 : full_data(idata) = data_tmp
25573 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25574 2747155 : idata = idata + 1
25575 2747155 : data_tmp = ISHFT(pack_tmp, 16)
25576 2747155 : ipack = ipack + 1
25577 2747155 : pack_tmp = packed_data(ipack)
25578 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25579 2747155 : pack_tmp = ISHFT(pack_tmp, -16)
25580 2747155 : idata = idata + 1
25581 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25582 2747155 : full_data(idata) = data_tmp
25583 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25584 2747155 : idata = idata + 1
25585 2747155 : data_tmp = ISHFT(pack_tmp, 20)
25586 2747155 : ipack = ipack + 1
25587 2747155 : pack_tmp = packed_data(ipack)
25588 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25589 2747155 : pack_tmp = ISHFT(pack_tmp, -20)
25590 2747155 : idata = idata + 1
25591 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25592 2747155 : full_data(idata) = data_tmp
25593 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25594 2747155 : idata = idata + 1
25595 2747155 : data_tmp = ISHFT(pack_tmp, 24)
25596 2747155 : ipack = ipack + 1
25597 2747155 : pack_tmp = packed_data(ipack)
25598 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25599 2747155 : pack_tmp = ISHFT(pack_tmp, -24)
25600 2747155 : idata = idata + 1
25601 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25602 2747155 : full_data(idata) = data_tmp
25603 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25604 2747155 : idata = idata + 1
25605 2747155 : data_tmp = ISHFT(pack_tmp, 28)
25606 2747155 : ipack = ipack + 1
25607 2747155 : pack_tmp = packed_data(ipack)
25608 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25609 2747155 : pack_tmp = ISHFT(pack_tmp, -28)
25610 2747155 : idata = idata + 1
25611 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25612 2747155 : full_data(idata) = data_tmp
25613 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25614 2747155 : idata = idata + 1
25615 2747155 : data_tmp = ISHFT(pack_tmp, 32)
25616 2747155 : ipack = ipack + 1
25617 2747155 : pack_tmp = packed_data(ipack)
25618 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25619 2747155 : pack_tmp = ISHFT(pack_tmp, -32)
25620 2747155 : idata = idata + 1
25621 2747155 : data_tmp = ISHFT(pack_tmp, 2)
25622 2747155 : ipack = ipack + 1
25623 2747155 : pack_tmp = packed_data(ipack)
25624 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25625 2747155 : pack_tmp = ISHFT(pack_tmp, -2)
25626 2747155 : idata = idata + 1
25627 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25628 2747155 : full_data(idata) = data_tmp
25629 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25630 2747155 : idata = idata + 1
25631 2747155 : data_tmp = ISHFT(pack_tmp, 6)
25632 2747155 : ipack = ipack + 1
25633 2747155 : pack_tmp = packed_data(ipack)
25634 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25635 2747155 : pack_tmp = ISHFT(pack_tmp, -6)
25636 2747155 : idata = idata + 1
25637 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25638 2747155 : full_data(idata) = data_tmp
25639 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25640 2747155 : idata = idata + 1
25641 2747155 : data_tmp = ISHFT(pack_tmp, 10)
25642 2747155 : ipack = ipack + 1
25643 2747155 : pack_tmp = packed_data(ipack)
25644 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25645 2747155 : pack_tmp = ISHFT(pack_tmp, -10)
25646 2747155 : idata = idata + 1
25647 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25648 2747155 : full_data(idata) = data_tmp
25649 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25650 2747155 : idata = idata + 1
25651 2747155 : data_tmp = ISHFT(pack_tmp, 14)
25652 2747155 : ipack = ipack + 1
25653 2747155 : pack_tmp = packed_data(ipack)
25654 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25655 2747155 : pack_tmp = ISHFT(pack_tmp, -14)
25656 2747155 : idata = idata + 1
25657 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25658 2747155 : full_data(idata) = data_tmp
25659 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25660 2747155 : idata = idata + 1
25661 2747155 : data_tmp = ISHFT(pack_tmp, 18)
25662 2747155 : ipack = ipack + 1
25663 2747155 : pack_tmp = packed_data(ipack)
25664 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25665 2747155 : pack_tmp = ISHFT(pack_tmp, -18)
25666 2747155 : idata = idata + 1
25667 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25668 2747155 : full_data(idata) = data_tmp
25669 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25670 2747155 : idata = idata + 1
25671 2747155 : data_tmp = ISHFT(pack_tmp, 22)
25672 2747155 : ipack = ipack + 1
25673 2747155 : pack_tmp = packed_data(ipack)
25674 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25675 2747155 : pack_tmp = ISHFT(pack_tmp, -22)
25676 2747155 : idata = idata + 1
25677 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25678 2747155 : full_data(idata) = data_tmp
25679 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25680 2747155 : idata = idata + 1
25681 2747155 : data_tmp = ISHFT(pack_tmp, 26)
25682 2747155 : ipack = ipack + 1
25683 2747155 : pack_tmp = packed_data(ipack)
25684 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25685 2747155 : pack_tmp = ISHFT(pack_tmp, -26)
25686 2747155 : idata = idata + 1
25687 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25688 2747155 : full_data(idata) = data_tmp
25689 2747155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25690 2747155 : idata = idata + 1
25691 2747155 : data_tmp = ISHFT(pack_tmp, 30)
25692 2747155 : ipack = ipack + 1
25693 2747155 : pack_tmp = packed_data(ipack)
25694 2747155 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25695 2747155 : pack_tmp = ISHFT(pack_tmp, -30)
25696 2747155 : idata = idata + 1
25697 2747155 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25698 2747155 : full_data(idata) = data_tmp
25699 2748321 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25700 : END DO
25701 218091 : IF (Ndata_rep < Ndata) THEN
25702 85914 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25703 : END IF
25704 218091 : END SUBROUTINE bits2ints_34
25705 :
25706 : ! **************************************************************************************************
25707 : !> \brief ...
25708 : !> \param Ndata ...
25709 : !> \param packed_data ...
25710 : !> \param full_data ...
25711 : ! **************************************************************************************************
25712 47196 : 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 47196 : idata = 0
25723 47196 : ipack = 0
25724 47196 : Ndata_rep = (Ndata/64)*64
25725 47196 : DO kdata = 1, Ndata_rep, 64
25726 605764 : pack_tmp = 0
25727 605764 : idata = idata + 1
25728 605764 : data_tmp = full_data(idata)
25729 605764 : data_tmp = ISHFT(data_tmp, 29)
25730 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25731 605764 : pack_tmp = ISHFT(pack_tmp, -29)
25732 605764 : idata = idata + 1
25733 605764 : data_tmp = full_data(idata)
25734 605764 : data_tmp = ISHFT(data_tmp, 29)
25735 605764 : data_tmp = IAND(data_tmp, mask_left(29))
25736 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25737 605764 : ipack = ipack + 1
25738 605764 : packed_data(ipack) = pack_tmp
25739 605764 : data_tmp = full_data(idata)
25740 605764 : pack_tmp = ISHFT(data_tmp, 58)
25741 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25742 605764 : idata = idata + 1
25743 605764 : data_tmp = full_data(idata)
25744 605764 : data_tmp = ISHFT(data_tmp, 29)
25745 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25746 605764 : pack_tmp = ISHFT(pack_tmp, -23)
25747 605764 : idata = idata + 1
25748 605764 : data_tmp = full_data(idata)
25749 605764 : data_tmp = ISHFT(data_tmp, 29)
25750 605764 : data_tmp = IAND(data_tmp, mask_left(23))
25751 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25752 605764 : ipack = ipack + 1
25753 605764 : packed_data(ipack) = pack_tmp
25754 605764 : data_tmp = full_data(idata)
25755 605764 : pack_tmp = ISHFT(data_tmp, 52)
25756 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25757 605764 : idata = idata + 1
25758 605764 : data_tmp = full_data(idata)
25759 605764 : data_tmp = ISHFT(data_tmp, 29)
25760 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25761 605764 : pack_tmp = ISHFT(pack_tmp, -17)
25762 605764 : idata = idata + 1
25763 605764 : data_tmp = full_data(idata)
25764 605764 : data_tmp = ISHFT(data_tmp, 29)
25765 605764 : data_tmp = IAND(data_tmp, mask_left(17))
25766 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25767 605764 : ipack = ipack + 1
25768 605764 : packed_data(ipack) = pack_tmp
25769 605764 : data_tmp = full_data(idata)
25770 605764 : pack_tmp = ISHFT(data_tmp, 46)
25771 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25772 605764 : idata = idata + 1
25773 605764 : data_tmp = full_data(idata)
25774 605764 : data_tmp = ISHFT(data_tmp, 29)
25775 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25776 605764 : pack_tmp = ISHFT(pack_tmp, -11)
25777 605764 : idata = idata + 1
25778 605764 : data_tmp = full_data(idata)
25779 605764 : data_tmp = ISHFT(data_tmp, 29)
25780 605764 : data_tmp = IAND(data_tmp, mask_left(11))
25781 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25782 605764 : ipack = ipack + 1
25783 605764 : packed_data(ipack) = pack_tmp
25784 605764 : data_tmp = full_data(idata)
25785 605764 : pack_tmp = ISHFT(data_tmp, 40)
25786 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25787 605764 : idata = idata + 1
25788 605764 : data_tmp = full_data(idata)
25789 605764 : data_tmp = ISHFT(data_tmp, 29)
25790 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25791 605764 : pack_tmp = ISHFT(pack_tmp, -5)
25792 605764 : idata = idata + 1
25793 605764 : data_tmp = full_data(idata)
25794 605764 : data_tmp = ISHFT(data_tmp, 29)
25795 605764 : data_tmp = IAND(data_tmp, mask_left(5))
25796 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25797 605764 : ipack = ipack + 1
25798 605764 : packed_data(ipack) = pack_tmp
25799 605764 : data_tmp = full_data(idata)
25800 605764 : pack_tmp = ISHFT(data_tmp, 34)
25801 605764 : pack_tmp = ISHFT(pack_tmp, -34)
25802 605764 : idata = idata + 1
25803 605764 : data_tmp = full_data(idata)
25804 605764 : data_tmp = ISHFT(data_tmp, 29)
25805 605764 : data_tmp = IAND(data_tmp, mask_left(34))
25806 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25807 605764 : ipack = ipack + 1
25808 605764 : packed_data(ipack) = pack_tmp
25809 605764 : data_tmp = full_data(idata)
25810 605764 : pack_tmp = ISHFT(data_tmp, 63)
25811 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25812 605764 : idata = idata + 1
25813 605764 : data_tmp = full_data(idata)
25814 605764 : data_tmp = ISHFT(data_tmp, 29)
25815 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25816 605764 : pack_tmp = ISHFT(pack_tmp, -28)
25817 605764 : idata = idata + 1
25818 605764 : data_tmp = full_data(idata)
25819 605764 : data_tmp = ISHFT(data_tmp, 29)
25820 605764 : data_tmp = IAND(data_tmp, mask_left(28))
25821 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25822 605764 : ipack = ipack + 1
25823 605764 : packed_data(ipack) = pack_tmp
25824 605764 : data_tmp = full_data(idata)
25825 605764 : pack_tmp = ISHFT(data_tmp, 57)
25826 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25827 605764 : idata = idata + 1
25828 605764 : data_tmp = full_data(idata)
25829 605764 : data_tmp = ISHFT(data_tmp, 29)
25830 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25831 605764 : pack_tmp = ISHFT(pack_tmp, -22)
25832 605764 : idata = idata + 1
25833 605764 : data_tmp = full_data(idata)
25834 605764 : data_tmp = ISHFT(data_tmp, 29)
25835 605764 : data_tmp = IAND(data_tmp, mask_left(22))
25836 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25837 605764 : ipack = ipack + 1
25838 605764 : packed_data(ipack) = pack_tmp
25839 605764 : data_tmp = full_data(idata)
25840 605764 : pack_tmp = ISHFT(data_tmp, 51)
25841 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25842 605764 : idata = idata + 1
25843 605764 : data_tmp = full_data(idata)
25844 605764 : data_tmp = ISHFT(data_tmp, 29)
25845 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25846 605764 : pack_tmp = ISHFT(pack_tmp, -16)
25847 605764 : idata = idata + 1
25848 605764 : data_tmp = full_data(idata)
25849 605764 : data_tmp = ISHFT(data_tmp, 29)
25850 605764 : data_tmp = IAND(data_tmp, mask_left(16))
25851 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25852 605764 : ipack = ipack + 1
25853 605764 : packed_data(ipack) = pack_tmp
25854 605764 : data_tmp = full_data(idata)
25855 605764 : pack_tmp = ISHFT(data_tmp, 45)
25856 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25857 605764 : idata = idata + 1
25858 605764 : data_tmp = full_data(idata)
25859 605764 : data_tmp = ISHFT(data_tmp, 29)
25860 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25861 605764 : pack_tmp = ISHFT(pack_tmp, -10)
25862 605764 : idata = idata + 1
25863 605764 : data_tmp = full_data(idata)
25864 605764 : data_tmp = ISHFT(data_tmp, 29)
25865 605764 : data_tmp = IAND(data_tmp, mask_left(10))
25866 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25867 605764 : ipack = ipack + 1
25868 605764 : packed_data(ipack) = pack_tmp
25869 605764 : data_tmp = full_data(idata)
25870 605764 : pack_tmp = ISHFT(data_tmp, 39)
25871 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25872 605764 : idata = idata + 1
25873 605764 : data_tmp = full_data(idata)
25874 605764 : data_tmp = ISHFT(data_tmp, 29)
25875 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25876 605764 : pack_tmp = ISHFT(pack_tmp, -4)
25877 605764 : idata = idata + 1
25878 605764 : data_tmp = full_data(idata)
25879 605764 : data_tmp = ISHFT(data_tmp, 29)
25880 605764 : data_tmp = IAND(data_tmp, mask_left(4))
25881 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25882 605764 : ipack = ipack + 1
25883 605764 : packed_data(ipack) = pack_tmp
25884 605764 : data_tmp = full_data(idata)
25885 605764 : pack_tmp = ISHFT(data_tmp, 33)
25886 605764 : pack_tmp = ISHFT(pack_tmp, -33)
25887 605764 : idata = idata + 1
25888 605764 : data_tmp = full_data(idata)
25889 605764 : data_tmp = ISHFT(data_tmp, 29)
25890 605764 : data_tmp = IAND(data_tmp, mask_left(33))
25891 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25892 605764 : ipack = ipack + 1
25893 605764 : packed_data(ipack) = pack_tmp
25894 605764 : data_tmp = full_data(idata)
25895 605764 : pack_tmp = ISHFT(data_tmp, 62)
25896 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25897 605764 : idata = idata + 1
25898 605764 : data_tmp = full_data(idata)
25899 605764 : data_tmp = ISHFT(data_tmp, 29)
25900 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25901 605764 : pack_tmp = ISHFT(pack_tmp, -27)
25902 605764 : idata = idata + 1
25903 605764 : data_tmp = full_data(idata)
25904 605764 : data_tmp = ISHFT(data_tmp, 29)
25905 605764 : data_tmp = IAND(data_tmp, mask_left(27))
25906 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25907 605764 : ipack = ipack + 1
25908 605764 : packed_data(ipack) = pack_tmp
25909 605764 : data_tmp = full_data(idata)
25910 605764 : pack_tmp = ISHFT(data_tmp, 56)
25911 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25912 605764 : idata = idata + 1
25913 605764 : data_tmp = full_data(idata)
25914 605764 : data_tmp = ISHFT(data_tmp, 29)
25915 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25916 605764 : pack_tmp = ISHFT(pack_tmp, -21)
25917 605764 : idata = idata + 1
25918 605764 : data_tmp = full_data(idata)
25919 605764 : data_tmp = ISHFT(data_tmp, 29)
25920 605764 : data_tmp = IAND(data_tmp, mask_left(21))
25921 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25922 605764 : ipack = ipack + 1
25923 605764 : packed_data(ipack) = pack_tmp
25924 605764 : data_tmp = full_data(idata)
25925 605764 : pack_tmp = ISHFT(data_tmp, 50)
25926 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25927 605764 : idata = idata + 1
25928 605764 : data_tmp = full_data(idata)
25929 605764 : data_tmp = ISHFT(data_tmp, 29)
25930 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25931 605764 : pack_tmp = ISHFT(pack_tmp, -15)
25932 605764 : idata = idata + 1
25933 605764 : data_tmp = full_data(idata)
25934 605764 : data_tmp = ISHFT(data_tmp, 29)
25935 605764 : data_tmp = IAND(data_tmp, mask_left(15))
25936 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25937 605764 : ipack = ipack + 1
25938 605764 : packed_data(ipack) = pack_tmp
25939 605764 : data_tmp = full_data(idata)
25940 605764 : pack_tmp = ISHFT(data_tmp, 44)
25941 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25942 605764 : idata = idata + 1
25943 605764 : data_tmp = full_data(idata)
25944 605764 : data_tmp = ISHFT(data_tmp, 29)
25945 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25946 605764 : pack_tmp = ISHFT(pack_tmp, -9)
25947 605764 : idata = idata + 1
25948 605764 : data_tmp = full_data(idata)
25949 605764 : data_tmp = ISHFT(data_tmp, 29)
25950 605764 : data_tmp = IAND(data_tmp, mask_left(9))
25951 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25952 605764 : ipack = ipack + 1
25953 605764 : packed_data(ipack) = pack_tmp
25954 605764 : data_tmp = full_data(idata)
25955 605764 : pack_tmp = ISHFT(data_tmp, 38)
25956 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25957 605764 : idata = idata + 1
25958 605764 : data_tmp = full_data(idata)
25959 605764 : data_tmp = ISHFT(data_tmp, 29)
25960 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25961 605764 : pack_tmp = ISHFT(pack_tmp, -3)
25962 605764 : idata = idata + 1
25963 605764 : data_tmp = full_data(idata)
25964 605764 : data_tmp = ISHFT(data_tmp, 29)
25965 605764 : data_tmp = IAND(data_tmp, mask_left(3))
25966 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25967 605764 : ipack = ipack + 1
25968 605764 : packed_data(ipack) = pack_tmp
25969 605764 : data_tmp = full_data(idata)
25970 605764 : pack_tmp = ISHFT(data_tmp, 32)
25971 605764 : pack_tmp = ISHFT(pack_tmp, -32)
25972 605764 : idata = idata + 1
25973 605764 : data_tmp = full_data(idata)
25974 605764 : data_tmp = ISHFT(data_tmp, 29)
25975 605764 : data_tmp = IAND(data_tmp, mask_left(32))
25976 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25977 605764 : ipack = ipack + 1
25978 605764 : packed_data(ipack) = pack_tmp
25979 605764 : data_tmp = full_data(idata)
25980 605764 : pack_tmp = ISHFT(data_tmp, 61)
25981 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25982 605764 : idata = idata + 1
25983 605764 : data_tmp = full_data(idata)
25984 605764 : data_tmp = ISHFT(data_tmp, 29)
25985 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25986 605764 : pack_tmp = ISHFT(pack_tmp, -26)
25987 605764 : idata = idata + 1
25988 605764 : data_tmp = full_data(idata)
25989 605764 : data_tmp = ISHFT(data_tmp, 29)
25990 605764 : data_tmp = IAND(data_tmp, mask_left(26))
25991 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
25992 605764 : ipack = ipack + 1
25993 605764 : packed_data(ipack) = pack_tmp
25994 605764 : data_tmp = full_data(idata)
25995 605764 : pack_tmp = ISHFT(data_tmp, 55)
25996 605764 : pack_tmp = ISHFT(pack_tmp, -35)
25997 605764 : idata = idata + 1
25998 605764 : data_tmp = full_data(idata)
25999 605764 : data_tmp = ISHFT(data_tmp, 29)
26000 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26001 605764 : pack_tmp = ISHFT(pack_tmp, -20)
26002 605764 : idata = idata + 1
26003 605764 : data_tmp = full_data(idata)
26004 605764 : data_tmp = ISHFT(data_tmp, 29)
26005 605764 : data_tmp = IAND(data_tmp, mask_left(20))
26006 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26007 605764 : ipack = ipack + 1
26008 605764 : packed_data(ipack) = pack_tmp
26009 605764 : data_tmp = full_data(idata)
26010 605764 : pack_tmp = ISHFT(data_tmp, 49)
26011 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26012 605764 : idata = idata + 1
26013 605764 : data_tmp = full_data(idata)
26014 605764 : data_tmp = ISHFT(data_tmp, 29)
26015 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26016 605764 : pack_tmp = ISHFT(pack_tmp, -14)
26017 605764 : idata = idata + 1
26018 605764 : data_tmp = full_data(idata)
26019 605764 : data_tmp = ISHFT(data_tmp, 29)
26020 605764 : data_tmp = IAND(data_tmp, mask_left(14))
26021 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26022 605764 : ipack = ipack + 1
26023 605764 : packed_data(ipack) = pack_tmp
26024 605764 : data_tmp = full_data(idata)
26025 605764 : pack_tmp = ISHFT(data_tmp, 43)
26026 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26027 605764 : idata = idata + 1
26028 605764 : data_tmp = full_data(idata)
26029 605764 : data_tmp = ISHFT(data_tmp, 29)
26030 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26031 605764 : pack_tmp = ISHFT(pack_tmp, -8)
26032 605764 : idata = idata + 1
26033 605764 : data_tmp = full_data(idata)
26034 605764 : data_tmp = ISHFT(data_tmp, 29)
26035 605764 : data_tmp = IAND(data_tmp, mask_left(8))
26036 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26037 605764 : ipack = ipack + 1
26038 605764 : packed_data(ipack) = pack_tmp
26039 605764 : data_tmp = full_data(idata)
26040 605764 : pack_tmp = ISHFT(data_tmp, 37)
26041 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26042 605764 : idata = idata + 1
26043 605764 : data_tmp = full_data(idata)
26044 605764 : data_tmp = ISHFT(data_tmp, 29)
26045 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26046 605764 : pack_tmp = ISHFT(pack_tmp, -2)
26047 605764 : idata = idata + 1
26048 605764 : data_tmp = full_data(idata)
26049 605764 : data_tmp = ISHFT(data_tmp, 29)
26050 605764 : data_tmp = IAND(data_tmp, mask_left(2))
26051 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26052 605764 : ipack = ipack + 1
26053 605764 : packed_data(ipack) = pack_tmp
26054 605764 : data_tmp = full_data(idata)
26055 605764 : pack_tmp = ISHFT(data_tmp, 31)
26056 605764 : pack_tmp = ISHFT(pack_tmp, -31)
26057 605764 : idata = idata + 1
26058 605764 : data_tmp = full_data(idata)
26059 605764 : data_tmp = ISHFT(data_tmp, 29)
26060 605764 : data_tmp = IAND(data_tmp, mask_left(31))
26061 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26062 605764 : ipack = ipack + 1
26063 605764 : packed_data(ipack) = pack_tmp
26064 605764 : data_tmp = full_data(idata)
26065 605764 : pack_tmp = ISHFT(data_tmp, 60)
26066 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26067 605764 : idata = idata + 1
26068 605764 : data_tmp = full_data(idata)
26069 605764 : data_tmp = ISHFT(data_tmp, 29)
26070 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26071 605764 : pack_tmp = ISHFT(pack_tmp, -25)
26072 605764 : idata = idata + 1
26073 605764 : data_tmp = full_data(idata)
26074 605764 : data_tmp = ISHFT(data_tmp, 29)
26075 605764 : data_tmp = IAND(data_tmp, mask_left(25))
26076 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26077 605764 : ipack = ipack + 1
26078 605764 : packed_data(ipack) = pack_tmp
26079 605764 : data_tmp = full_data(idata)
26080 605764 : pack_tmp = ISHFT(data_tmp, 54)
26081 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26082 605764 : idata = idata + 1
26083 605764 : data_tmp = full_data(idata)
26084 605764 : data_tmp = ISHFT(data_tmp, 29)
26085 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26086 605764 : pack_tmp = ISHFT(pack_tmp, -19)
26087 605764 : idata = idata + 1
26088 605764 : data_tmp = full_data(idata)
26089 605764 : data_tmp = ISHFT(data_tmp, 29)
26090 605764 : data_tmp = IAND(data_tmp, mask_left(19))
26091 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26092 605764 : ipack = ipack + 1
26093 605764 : packed_data(ipack) = pack_tmp
26094 605764 : data_tmp = full_data(idata)
26095 605764 : pack_tmp = ISHFT(data_tmp, 48)
26096 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26097 605764 : idata = idata + 1
26098 605764 : data_tmp = full_data(idata)
26099 605764 : data_tmp = ISHFT(data_tmp, 29)
26100 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26101 605764 : pack_tmp = ISHFT(pack_tmp, -13)
26102 605764 : idata = idata + 1
26103 605764 : data_tmp = full_data(idata)
26104 605764 : data_tmp = ISHFT(data_tmp, 29)
26105 605764 : data_tmp = IAND(data_tmp, mask_left(13))
26106 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26107 605764 : ipack = ipack + 1
26108 605764 : packed_data(ipack) = pack_tmp
26109 605764 : data_tmp = full_data(idata)
26110 605764 : pack_tmp = ISHFT(data_tmp, 42)
26111 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26112 605764 : idata = idata + 1
26113 605764 : data_tmp = full_data(idata)
26114 605764 : data_tmp = ISHFT(data_tmp, 29)
26115 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26116 605764 : pack_tmp = ISHFT(pack_tmp, -7)
26117 605764 : idata = idata + 1
26118 605764 : data_tmp = full_data(idata)
26119 605764 : data_tmp = ISHFT(data_tmp, 29)
26120 605764 : data_tmp = IAND(data_tmp, mask_left(7))
26121 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26122 605764 : ipack = ipack + 1
26123 605764 : packed_data(ipack) = pack_tmp
26124 605764 : data_tmp = full_data(idata)
26125 605764 : pack_tmp = ISHFT(data_tmp, 36)
26126 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26127 605764 : idata = idata + 1
26128 605764 : data_tmp = full_data(idata)
26129 605764 : data_tmp = ISHFT(data_tmp, 29)
26130 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26131 605764 : pack_tmp = ISHFT(pack_tmp, -1)
26132 605764 : idata = idata + 1
26133 605764 : data_tmp = full_data(idata)
26134 605764 : data_tmp = ISHFT(data_tmp, 29)
26135 605764 : data_tmp = IAND(data_tmp, mask_left(1))
26136 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26137 605764 : ipack = ipack + 1
26138 605764 : packed_data(ipack) = pack_tmp
26139 605764 : data_tmp = full_data(idata)
26140 605764 : pack_tmp = ISHFT(data_tmp, 30)
26141 605764 : pack_tmp = ISHFT(pack_tmp, -30)
26142 605764 : idata = idata + 1
26143 605764 : data_tmp = full_data(idata)
26144 605764 : data_tmp = ISHFT(data_tmp, 29)
26145 605764 : data_tmp = IAND(data_tmp, mask_left(30))
26146 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26147 605764 : ipack = ipack + 1
26148 605764 : packed_data(ipack) = pack_tmp
26149 605764 : data_tmp = full_data(idata)
26150 605764 : pack_tmp = ISHFT(data_tmp, 59)
26151 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26152 605764 : idata = idata + 1
26153 605764 : data_tmp = full_data(idata)
26154 605764 : data_tmp = ISHFT(data_tmp, 29)
26155 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26156 605764 : pack_tmp = ISHFT(pack_tmp, -24)
26157 605764 : idata = idata + 1
26158 605764 : data_tmp = full_data(idata)
26159 605764 : data_tmp = ISHFT(data_tmp, 29)
26160 605764 : data_tmp = IAND(data_tmp, mask_left(24))
26161 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26162 605764 : ipack = ipack + 1
26163 605764 : packed_data(ipack) = pack_tmp
26164 605764 : data_tmp = full_data(idata)
26165 605764 : pack_tmp = ISHFT(data_tmp, 53)
26166 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26167 605764 : idata = idata + 1
26168 605764 : data_tmp = full_data(idata)
26169 605764 : data_tmp = ISHFT(data_tmp, 29)
26170 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26171 605764 : pack_tmp = ISHFT(pack_tmp, -18)
26172 605764 : idata = idata + 1
26173 605764 : data_tmp = full_data(idata)
26174 605764 : data_tmp = ISHFT(data_tmp, 29)
26175 605764 : data_tmp = IAND(data_tmp, mask_left(18))
26176 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26177 605764 : ipack = ipack + 1
26178 605764 : packed_data(ipack) = pack_tmp
26179 605764 : data_tmp = full_data(idata)
26180 605764 : pack_tmp = ISHFT(data_tmp, 47)
26181 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26182 605764 : idata = idata + 1
26183 605764 : data_tmp = full_data(idata)
26184 605764 : data_tmp = ISHFT(data_tmp, 29)
26185 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26186 605764 : pack_tmp = ISHFT(pack_tmp, -12)
26187 605764 : idata = idata + 1
26188 605764 : data_tmp = full_data(idata)
26189 605764 : data_tmp = ISHFT(data_tmp, 29)
26190 605764 : data_tmp = IAND(data_tmp, mask_left(12))
26191 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26192 605764 : ipack = ipack + 1
26193 605764 : packed_data(ipack) = pack_tmp
26194 605764 : data_tmp = full_data(idata)
26195 605764 : pack_tmp = ISHFT(data_tmp, 41)
26196 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26197 605764 : idata = idata + 1
26198 605764 : data_tmp = full_data(idata)
26199 605764 : data_tmp = ISHFT(data_tmp, 29)
26200 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26201 605764 : pack_tmp = ISHFT(pack_tmp, -6)
26202 605764 : idata = idata + 1
26203 605764 : data_tmp = full_data(idata)
26204 605764 : data_tmp = ISHFT(data_tmp, 29)
26205 605764 : data_tmp = IAND(data_tmp, mask_left(6))
26206 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26207 605764 : ipack = ipack + 1
26208 605764 : packed_data(ipack) = pack_tmp
26209 605764 : data_tmp = full_data(idata)
26210 605764 : pack_tmp = ISHFT(data_tmp, 35)
26211 605764 : pack_tmp = ISHFT(pack_tmp, -35)
26212 605764 : idata = idata + 1
26213 605764 : data_tmp = full_data(idata)
26214 605764 : data_tmp = ISHFT(data_tmp, 29)
26215 605764 : pack_tmp = IOR(pack_tmp, data_tmp)
26216 : pack_tmp = ISHFT(pack_tmp, 0)
26217 605764 : pack_tmp = ISHFT(pack_tmp, 0)
26218 605764 : ipack = ipack + 1
26219 606256 : packed_data(ipack) = pack_tmp
26220 : END DO
26221 47196 : IF (Ndata_rep < Ndata) THEN
26222 17368 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26223 : END IF
26224 47196 : END SUBROUTINE ints2bits_35
26225 :
26226 : ! **************************************************************************************************
26227 : !> \brief ...
26228 : !> \param Ndata ...
26229 : !> \param packed_data ...
26230 : !> \param full_data ...
26231 : ! **************************************************************************************************
26232 226489 : 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 226489 : ipack = 0
26243 226489 : idata = 0
26244 226489 : pack_tmp = 0
26245 226489 : Ndata_rep = (Ndata/64)*64
26246 226489 : DO kdata = 1, Ndata_rep, 64
26247 2800360 : idata = idata + 1
26248 2800360 : data_tmp = ISHFT(pack_tmp, 35)
26249 2800360 : ipack = ipack + 1
26250 2800360 : pack_tmp = packed_data(ipack)
26251 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
26252 2800360 : pack_tmp = ISHFT(pack_tmp, -35)
26253 2800360 : idata = idata + 1
26254 2800360 : data_tmp = ISHFT(pack_tmp, 6)
26255 2800360 : ipack = ipack + 1
26256 2800360 : pack_tmp = packed_data(ipack)
26257 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
26258 2800360 : pack_tmp = ISHFT(pack_tmp, -6)
26259 2800360 : idata = idata + 1
26260 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26261 2800360 : full_data(idata) = data_tmp
26262 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26263 2800360 : idata = idata + 1
26264 2800360 : data_tmp = ISHFT(pack_tmp, 12)
26265 2800360 : ipack = ipack + 1
26266 2800360 : pack_tmp = packed_data(ipack)
26267 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
26268 2800360 : pack_tmp = ISHFT(pack_tmp, -12)
26269 2800360 : idata = idata + 1
26270 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26271 2800360 : full_data(idata) = data_tmp
26272 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26273 2800360 : idata = idata + 1
26274 2800360 : data_tmp = ISHFT(pack_tmp, 18)
26275 2800360 : ipack = ipack + 1
26276 2800360 : pack_tmp = packed_data(ipack)
26277 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
26278 2800360 : pack_tmp = ISHFT(pack_tmp, -18)
26279 2800360 : idata = idata + 1
26280 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26281 2800360 : full_data(idata) = data_tmp
26282 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26283 2800360 : idata = idata + 1
26284 2800360 : data_tmp = ISHFT(pack_tmp, 24)
26285 2800360 : ipack = ipack + 1
26286 2800360 : pack_tmp = packed_data(ipack)
26287 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
26288 2800360 : pack_tmp = ISHFT(pack_tmp, -24)
26289 2800360 : idata = idata + 1
26290 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26291 2800360 : full_data(idata) = data_tmp
26292 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26293 2800360 : idata = idata + 1
26294 2800360 : data_tmp = ISHFT(pack_tmp, 30)
26295 2800360 : ipack = ipack + 1
26296 2800360 : pack_tmp = packed_data(ipack)
26297 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
26298 2800360 : pack_tmp = ISHFT(pack_tmp, -30)
26299 2800360 : idata = idata + 1
26300 2800360 : data_tmp = ISHFT(pack_tmp, 1)
26301 2800360 : ipack = ipack + 1
26302 2800360 : pack_tmp = packed_data(ipack)
26303 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
26304 2800360 : pack_tmp = ISHFT(pack_tmp, -1)
26305 2800360 : idata = idata + 1
26306 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26307 2800360 : full_data(idata) = data_tmp
26308 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26309 2800360 : idata = idata + 1
26310 2800360 : data_tmp = ISHFT(pack_tmp, 7)
26311 2800360 : ipack = ipack + 1
26312 2800360 : pack_tmp = packed_data(ipack)
26313 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
26314 2800360 : pack_tmp = ISHFT(pack_tmp, -7)
26315 2800360 : idata = idata + 1
26316 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26317 2800360 : full_data(idata) = data_tmp
26318 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26319 2800360 : idata = idata + 1
26320 2800360 : data_tmp = ISHFT(pack_tmp, 13)
26321 2800360 : ipack = ipack + 1
26322 2800360 : pack_tmp = packed_data(ipack)
26323 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
26324 2800360 : pack_tmp = ISHFT(pack_tmp, -13)
26325 2800360 : idata = idata + 1
26326 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26327 2800360 : full_data(idata) = data_tmp
26328 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26329 2800360 : idata = idata + 1
26330 2800360 : data_tmp = ISHFT(pack_tmp, 19)
26331 2800360 : ipack = ipack + 1
26332 2800360 : pack_tmp = packed_data(ipack)
26333 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
26334 2800360 : pack_tmp = ISHFT(pack_tmp, -19)
26335 2800360 : idata = idata + 1
26336 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26337 2800360 : full_data(idata) = data_tmp
26338 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26339 2800360 : idata = idata + 1
26340 2800360 : data_tmp = ISHFT(pack_tmp, 25)
26341 2800360 : ipack = ipack + 1
26342 2800360 : pack_tmp = packed_data(ipack)
26343 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
26344 2800360 : pack_tmp = ISHFT(pack_tmp, -25)
26345 2800360 : idata = idata + 1
26346 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26347 2800360 : full_data(idata) = data_tmp
26348 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26349 2800360 : idata = idata + 1
26350 2800360 : data_tmp = ISHFT(pack_tmp, 31)
26351 2800360 : ipack = ipack + 1
26352 2800360 : pack_tmp = packed_data(ipack)
26353 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
26354 2800360 : pack_tmp = ISHFT(pack_tmp, -31)
26355 2800360 : idata = idata + 1
26356 2800360 : data_tmp = ISHFT(pack_tmp, 2)
26357 2800360 : ipack = ipack + 1
26358 2800360 : pack_tmp = packed_data(ipack)
26359 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
26360 2800360 : pack_tmp = ISHFT(pack_tmp, -2)
26361 2800360 : idata = idata + 1
26362 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26363 2800360 : full_data(idata) = data_tmp
26364 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26365 2800360 : idata = idata + 1
26366 2800360 : data_tmp = ISHFT(pack_tmp, 8)
26367 2800360 : ipack = ipack + 1
26368 2800360 : pack_tmp = packed_data(ipack)
26369 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
26370 2800360 : pack_tmp = ISHFT(pack_tmp, -8)
26371 2800360 : idata = idata + 1
26372 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26373 2800360 : full_data(idata) = data_tmp
26374 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26375 2800360 : idata = idata + 1
26376 2800360 : data_tmp = ISHFT(pack_tmp, 14)
26377 2800360 : ipack = ipack + 1
26378 2800360 : pack_tmp = packed_data(ipack)
26379 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
26380 2800360 : pack_tmp = ISHFT(pack_tmp, -14)
26381 2800360 : idata = idata + 1
26382 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26383 2800360 : full_data(idata) = data_tmp
26384 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26385 2800360 : idata = idata + 1
26386 2800360 : data_tmp = ISHFT(pack_tmp, 20)
26387 2800360 : ipack = ipack + 1
26388 2800360 : pack_tmp = packed_data(ipack)
26389 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
26390 2800360 : pack_tmp = ISHFT(pack_tmp, -20)
26391 2800360 : idata = idata + 1
26392 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26393 2800360 : full_data(idata) = data_tmp
26394 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26395 2800360 : idata = idata + 1
26396 2800360 : data_tmp = ISHFT(pack_tmp, 26)
26397 2800360 : ipack = ipack + 1
26398 2800360 : pack_tmp = packed_data(ipack)
26399 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
26400 2800360 : pack_tmp = ISHFT(pack_tmp, -26)
26401 2800360 : idata = idata + 1
26402 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26403 2800360 : full_data(idata) = data_tmp
26404 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26405 2800360 : idata = idata + 1
26406 2800360 : data_tmp = ISHFT(pack_tmp, 32)
26407 2800360 : ipack = ipack + 1
26408 2800360 : pack_tmp = packed_data(ipack)
26409 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
26410 2800360 : pack_tmp = ISHFT(pack_tmp, -32)
26411 2800360 : idata = idata + 1
26412 2800360 : data_tmp = ISHFT(pack_tmp, 3)
26413 2800360 : ipack = ipack + 1
26414 2800360 : pack_tmp = packed_data(ipack)
26415 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
26416 2800360 : pack_tmp = ISHFT(pack_tmp, -3)
26417 2800360 : idata = idata + 1
26418 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26419 2800360 : full_data(idata) = data_tmp
26420 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26421 2800360 : idata = idata + 1
26422 2800360 : data_tmp = ISHFT(pack_tmp, 9)
26423 2800360 : ipack = ipack + 1
26424 2800360 : pack_tmp = packed_data(ipack)
26425 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
26426 2800360 : pack_tmp = ISHFT(pack_tmp, -9)
26427 2800360 : idata = idata + 1
26428 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26429 2800360 : full_data(idata) = data_tmp
26430 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26431 2800360 : idata = idata + 1
26432 2800360 : data_tmp = ISHFT(pack_tmp, 15)
26433 2800360 : ipack = ipack + 1
26434 2800360 : pack_tmp = packed_data(ipack)
26435 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
26436 2800360 : pack_tmp = ISHFT(pack_tmp, -15)
26437 2800360 : idata = idata + 1
26438 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26439 2800360 : full_data(idata) = data_tmp
26440 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26441 2800360 : idata = idata + 1
26442 2800360 : data_tmp = ISHFT(pack_tmp, 21)
26443 2800360 : ipack = ipack + 1
26444 2800360 : pack_tmp = packed_data(ipack)
26445 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
26446 2800360 : pack_tmp = ISHFT(pack_tmp, -21)
26447 2800360 : idata = idata + 1
26448 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26449 2800360 : full_data(idata) = data_tmp
26450 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26451 2800360 : idata = idata + 1
26452 2800360 : data_tmp = ISHFT(pack_tmp, 27)
26453 2800360 : ipack = ipack + 1
26454 2800360 : pack_tmp = packed_data(ipack)
26455 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
26456 2800360 : pack_tmp = ISHFT(pack_tmp, -27)
26457 2800360 : idata = idata + 1
26458 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26459 2800360 : full_data(idata) = data_tmp
26460 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26461 2800360 : idata = idata + 1
26462 2800360 : data_tmp = ISHFT(pack_tmp, 33)
26463 2800360 : ipack = ipack + 1
26464 2800360 : pack_tmp = packed_data(ipack)
26465 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
26466 2800360 : pack_tmp = ISHFT(pack_tmp, -33)
26467 2800360 : idata = idata + 1
26468 2800360 : data_tmp = ISHFT(pack_tmp, 4)
26469 2800360 : ipack = ipack + 1
26470 2800360 : pack_tmp = packed_data(ipack)
26471 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
26472 2800360 : pack_tmp = ISHFT(pack_tmp, -4)
26473 2800360 : idata = idata + 1
26474 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26475 2800360 : full_data(idata) = data_tmp
26476 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26477 2800360 : idata = idata + 1
26478 2800360 : data_tmp = ISHFT(pack_tmp, 10)
26479 2800360 : ipack = ipack + 1
26480 2800360 : pack_tmp = packed_data(ipack)
26481 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
26482 2800360 : pack_tmp = ISHFT(pack_tmp, -10)
26483 2800360 : idata = idata + 1
26484 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26485 2800360 : full_data(idata) = data_tmp
26486 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26487 2800360 : idata = idata + 1
26488 2800360 : data_tmp = ISHFT(pack_tmp, 16)
26489 2800360 : ipack = ipack + 1
26490 2800360 : pack_tmp = packed_data(ipack)
26491 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
26492 2800360 : pack_tmp = ISHFT(pack_tmp, -16)
26493 2800360 : idata = idata + 1
26494 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26495 2800360 : full_data(idata) = data_tmp
26496 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26497 2800360 : idata = idata + 1
26498 2800360 : data_tmp = ISHFT(pack_tmp, 22)
26499 2800360 : ipack = ipack + 1
26500 2800360 : pack_tmp = packed_data(ipack)
26501 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
26502 2800360 : pack_tmp = ISHFT(pack_tmp, -22)
26503 2800360 : idata = idata + 1
26504 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26505 2800360 : full_data(idata) = data_tmp
26506 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26507 2800360 : idata = idata + 1
26508 2800360 : data_tmp = ISHFT(pack_tmp, 28)
26509 2800360 : ipack = ipack + 1
26510 2800360 : pack_tmp = packed_data(ipack)
26511 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
26512 2800360 : pack_tmp = ISHFT(pack_tmp, -28)
26513 2800360 : idata = idata + 1
26514 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26515 2800360 : full_data(idata) = data_tmp
26516 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26517 2800360 : idata = idata + 1
26518 2800360 : data_tmp = ISHFT(pack_tmp, 34)
26519 2800360 : ipack = ipack + 1
26520 2800360 : pack_tmp = packed_data(ipack)
26521 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
26522 2800360 : pack_tmp = ISHFT(pack_tmp, -34)
26523 2800360 : idata = idata + 1
26524 2800360 : data_tmp = ISHFT(pack_tmp, 5)
26525 2800360 : ipack = ipack + 1
26526 2800360 : pack_tmp = packed_data(ipack)
26527 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
26528 2800360 : pack_tmp = ISHFT(pack_tmp, -5)
26529 2800360 : idata = idata + 1
26530 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26531 2800360 : full_data(idata) = data_tmp
26532 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26533 2800360 : idata = idata + 1
26534 2800360 : data_tmp = ISHFT(pack_tmp, 11)
26535 2800360 : ipack = ipack + 1
26536 2800360 : pack_tmp = packed_data(ipack)
26537 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
26538 2800360 : pack_tmp = ISHFT(pack_tmp, -11)
26539 2800360 : idata = idata + 1
26540 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26541 2800360 : full_data(idata) = data_tmp
26542 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26543 2800360 : idata = idata + 1
26544 2800360 : data_tmp = ISHFT(pack_tmp, 17)
26545 2800360 : ipack = ipack + 1
26546 2800360 : pack_tmp = packed_data(ipack)
26547 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
26548 2800360 : pack_tmp = ISHFT(pack_tmp, -17)
26549 2800360 : idata = idata + 1
26550 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26551 2800360 : full_data(idata) = data_tmp
26552 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26553 2800360 : idata = idata + 1
26554 2800360 : data_tmp = ISHFT(pack_tmp, 23)
26555 2800360 : ipack = ipack + 1
26556 2800360 : pack_tmp = packed_data(ipack)
26557 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
26558 2800360 : pack_tmp = ISHFT(pack_tmp, -23)
26559 2800360 : idata = idata + 1
26560 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26561 2800360 : full_data(idata) = data_tmp
26562 2800360 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26563 2800360 : idata = idata + 1
26564 2800360 : data_tmp = ISHFT(pack_tmp, 29)
26565 2800360 : ipack = ipack + 1
26566 2800360 : pack_tmp = packed_data(ipack)
26567 2800360 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
26568 2800360 : pack_tmp = ISHFT(pack_tmp, -29)
26569 2800360 : idata = idata + 1
26570 2800360 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26571 2800360 : full_data(idata) = data_tmp
26572 2802637 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26573 : END DO
26574 226489 : IF (Ndata_rep < Ndata) THEN
26575 95824 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26576 : END IF
26577 226489 : END SUBROUTINE bits2ints_35
26578 :
26579 : ! **************************************************************************************************
26580 : !> \brief ...
26581 : !> \param Ndata ...
26582 : !> \param packed_data ...
26583 : !> \param full_data ...
26584 : ! **************************************************************************************************
26585 47706 : 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 47706 : idata = 0
26596 47706 : ipack = 0
26597 47706 : Ndata_rep = (Ndata/64)*64
26598 47706 : DO kdata = 1, Ndata_rep, 64
26599 610806 : pack_tmp = 0
26600 610806 : idata = idata + 1
26601 610806 : data_tmp = full_data(idata)
26602 610806 : data_tmp = ISHFT(data_tmp, 28)
26603 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26604 610806 : pack_tmp = ISHFT(pack_tmp, -28)
26605 610806 : idata = idata + 1
26606 610806 : data_tmp = full_data(idata)
26607 610806 : data_tmp = ISHFT(data_tmp, 28)
26608 610806 : data_tmp = IAND(data_tmp, mask_left(28))
26609 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26610 610806 : ipack = ipack + 1
26611 610806 : packed_data(ipack) = pack_tmp
26612 610806 : data_tmp = full_data(idata)
26613 610806 : pack_tmp = ISHFT(data_tmp, 56)
26614 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26615 610806 : idata = idata + 1
26616 610806 : data_tmp = full_data(idata)
26617 610806 : data_tmp = ISHFT(data_tmp, 28)
26618 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26619 610806 : pack_tmp = ISHFT(pack_tmp, -20)
26620 610806 : idata = idata + 1
26621 610806 : data_tmp = full_data(idata)
26622 610806 : data_tmp = ISHFT(data_tmp, 28)
26623 610806 : data_tmp = IAND(data_tmp, mask_left(20))
26624 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26625 610806 : ipack = ipack + 1
26626 610806 : packed_data(ipack) = pack_tmp
26627 610806 : data_tmp = full_data(idata)
26628 610806 : pack_tmp = ISHFT(data_tmp, 48)
26629 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26630 610806 : idata = idata + 1
26631 610806 : data_tmp = full_data(idata)
26632 610806 : data_tmp = ISHFT(data_tmp, 28)
26633 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26634 610806 : pack_tmp = ISHFT(pack_tmp, -12)
26635 610806 : idata = idata + 1
26636 610806 : data_tmp = full_data(idata)
26637 610806 : data_tmp = ISHFT(data_tmp, 28)
26638 610806 : data_tmp = IAND(data_tmp, mask_left(12))
26639 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26640 610806 : ipack = ipack + 1
26641 610806 : packed_data(ipack) = pack_tmp
26642 610806 : data_tmp = full_data(idata)
26643 610806 : pack_tmp = ISHFT(data_tmp, 40)
26644 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26645 610806 : idata = idata + 1
26646 610806 : data_tmp = full_data(idata)
26647 610806 : data_tmp = ISHFT(data_tmp, 28)
26648 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26649 610806 : pack_tmp = ISHFT(pack_tmp, -4)
26650 610806 : idata = idata + 1
26651 610806 : data_tmp = full_data(idata)
26652 610806 : data_tmp = ISHFT(data_tmp, 28)
26653 610806 : data_tmp = IAND(data_tmp, mask_left(4))
26654 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26655 610806 : ipack = ipack + 1
26656 610806 : packed_data(ipack) = pack_tmp
26657 610806 : data_tmp = full_data(idata)
26658 610806 : pack_tmp = ISHFT(data_tmp, 32)
26659 610806 : pack_tmp = ISHFT(pack_tmp, -32)
26660 610806 : idata = idata + 1
26661 610806 : data_tmp = full_data(idata)
26662 610806 : data_tmp = ISHFT(data_tmp, 28)
26663 610806 : data_tmp = IAND(data_tmp, mask_left(32))
26664 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26665 610806 : ipack = ipack + 1
26666 610806 : packed_data(ipack) = pack_tmp
26667 610806 : data_tmp = full_data(idata)
26668 610806 : pack_tmp = ISHFT(data_tmp, 60)
26669 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26670 610806 : idata = idata + 1
26671 610806 : data_tmp = full_data(idata)
26672 610806 : data_tmp = ISHFT(data_tmp, 28)
26673 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26674 610806 : pack_tmp = ISHFT(pack_tmp, -24)
26675 610806 : idata = idata + 1
26676 610806 : data_tmp = full_data(idata)
26677 610806 : data_tmp = ISHFT(data_tmp, 28)
26678 610806 : data_tmp = IAND(data_tmp, mask_left(24))
26679 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26680 610806 : ipack = ipack + 1
26681 610806 : packed_data(ipack) = pack_tmp
26682 610806 : data_tmp = full_data(idata)
26683 610806 : pack_tmp = ISHFT(data_tmp, 52)
26684 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26685 610806 : idata = idata + 1
26686 610806 : data_tmp = full_data(idata)
26687 610806 : data_tmp = ISHFT(data_tmp, 28)
26688 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26689 610806 : pack_tmp = ISHFT(pack_tmp, -16)
26690 610806 : idata = idata + 1
26691 610806 : data_tmp = full_data(idata)
26692 610806 : data_tmp = ISHFT(data_tmp, 28)
26693 610806 : data_tmp = IAND(data_tmp, mask_left(16))
26694 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26695 610806 : ipack = ipack + 1
26696 610806 : packed_data(ipack) = pack_tmp
26697 610806 : data_tmp = full_data(idata)
26698 610806 : pack_tmp = ISHFT(data_tmp, 44)
26699 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26700 610806 : idata = idata + 1
26701 610806 : data_tmp = full_data(idata)
26702 610806 : data_tmp = ISHFT(data_tmp, 28)
26703 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26704 610806 : pack_tmp = ISHFT(pack_tmp, -8)
26705 610806 : idata = idata + 1
26706 610806 : data_tmp = full_data(idata)
26707 610806 : data_tmp = ISHFT(data_tmp, 28)
26708 610806 : data_tmp = IAND(data_tmp, mask_left(8))
26709 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26710 610806 : ipack = ipack + 1
26711 610806 : packed_data(ipack) = pack_tmp
26712 610806 : data_tmp = full_data(idata)
26713 610806 : pack_tmp = ISHFT(data_tmp, 36)
26714 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26715 610806 : idata = idata + 1
26716 610806 : data_tmp = full_data(idata)
26717 610806 : data_tmp = ISHFT(data_tmp, 28)
26718 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26719 610806 : pack_tmp = ISHFT(pack_tmp, 0)
26720 610806 : idata = idata + 1
26721 610806 : data_tmp = full_data(idata)
26722 : data_tmp = ISHFT(data_tmp, 28)
26723 610806 : data_tmp = IAND(data_tmp, mask_left(0))
26724 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26725 610806 : ipack = ipack + 1
26726 610806 : packed_data(ipack) = pack_tmp
26727 610806 : data_tmp = full_data(idata)
26728 610806 : pack_tmp = ISHFT(data_tmp, 28)
26729 610806 : pack_tmp = ISHFT(pack_tmp, -28)
26730 610806 : idata = idata + 1
26731 610806 : data_tmp = full_data(idata)
26732 610806 : data_tmp = ISHFT(data_tmp, 28)
26733 610806 : data_tmp = IAND(data_tmp, mask_left(28))
26734 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26735 610806 : ipack = ipack + 1
26736 610806 : packed_data(ipack) = pack_tmp
26737 610806 : data_tmp = full_data(idata)
26738 610806 : pack_tmp = ISHFT(data_tmp, 56)
26739 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26740 610806 : idata = idata + 1
26741 610806 : data_tmp = full_data(idata)
26742 610806 : data_tmp = ISHFT(data_tmp, 28)
26743 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26744 610806 : pack_tmp = ISHFT(pack_tmp, -20)
26745 610806 : idata = idata + 1
26746 610806 : data_tmp = full_data(idata)
26747 610806 : data_tmp = ISHFT(data_tmp, 28)
26748 610806 : data_tmp = IAND(data_tmp, mask_left(20))
26749 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26750 610806 : ipack = ipack + 1
26751 610806 : packed_data(ipack) = pack_tmp
26752 610806 : data_tmp = full_data(idata)
26753 610806 : pack_tmp = ISHFT(data_tmp, 48)
26754 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26755 610806 : idata = idata + 1
26756 610806 : data_tmp = full_data(idata)
26757 610806 : data_tmp = ISHFT(data_tmp, 28)
26758 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26759 610806 : pack_tmp = ISHFT(pack_tmp, -12)
26760 610806 : idata = idata + 1
26761 610806 : data_tmp = full_data(idata)
26762 610806 : data_tmp = ISHFT(data_tmp, 28)
26763 610806 : data_tmp = IAND(data_tmp, mask_left(12))
26764 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26765 610806 : ipack = ipack + 1
26766 610806 : packed_data(ipack) = pack_tmp
26767 610806 : data_tmp = full_data(idata)
26768 610806 : pack_tmp = ISHFT(data_tmp, 40)
26769 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26770 610806 : idata = idata + 1
26771 610806 : data_tmp = full_data(idata)
26772 610806 : data_tmp = ISHFT(data_tmp, 28)
26773 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26774 610806 : pack_tmp = ISHFT(pack_tmp, -4)
26775 610806 : idata = idata + 1
26776 610806 : data_tmp = full_data(idata)
26777 610806 : data_tmp = ISHFT(data_tmp, 28)
26778 610806 : data_tmp = IAND(data_tmp, mask_left(4))
26779 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26780 610806 : ipack = ipack + 1
26781 610806 : packed_data(ipack) = pack_tmp
26782 610806 : data_tmp = full_data(idata)
26783 610806 : pack_tmp = ISHFT(data_tmp, 32)
26784 610806 : pack_tmp = ISHFT(pack_tmp, -32)
26785 610806 : idata = idata + 1
26786 610806 : data_tmp = full_data(idata)
26787 610806 : data_tmp = ISHFT(data_tmp, 28)
26788 610806 : data_tmp = IAND(data_tmp, mask_left(32))
26789 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26790 610806 : ipack = ipack + 1
26791 610806 : packed_data(ipack) = pack_tmp
26792 610806 : data_tmp = full_data(idata)
26793 610806 : pack_tmp = ISHFT(data_tmp, 60)
26794 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26795 610806 : idata = idata + 1
26796 610806 : data_tmp = full_data(idata)
26797 610806 : data_tmp = ISHFT(data_tmp, 28)
26798 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26799 610806 : pack_tmp = ISHFT(pack_tmp, -24)
26800 610806 : idata = idata + 1
26801 610806 : data_tmp = full_data(idata)
26802 610806 : data_tmp = ISHFT(data_tmp, 28)
26803 610806 : data_tmp = IAND(data_tmp, mask_left(24))
26804 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26805 610806 : ipack = ipack + 1
26806 610806 : packed_data(ipack) = pack_tmp
26807 610806 : data_tmp = full_data(idata)
26808 610806 : pack_tmp = ISHFT(data_tmp, 52)
26809 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26810 610806 : idata = idata + 1
26811 610806 : data_tmp = full_data(idata)
26812 610806 : data_tmp = ISHFT(data_tmp, 28)
26813 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26814 610806 : pack_tmp = ISHFT(pack_tmp, -16)
26815 610806 : idata = idata + 1
26816 610806 : data_tmp = full_data(idata)
26817 610806 : data_tmp = ISHFT(data_tmp, 28)
26818 610806 : data_tmp = IAND(data_tmp, mask_left(16))
26819 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26820 610806 : ipack = ipack + 1
26821 610806 : packed_data(ipack) = pack_tmp
26822 610806 : data_tmp = full_data(idata)
26823 610806 : pack_tmp = ISHFT(data_tmp, 44)
26824 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26825 610806 : idata = idata + 1
26826 610806 : data_tmp = full_data(idata)
26827 610806 : data_tmp = ISHFT(data_tmp, 28)
26828 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26829 610806 : pack_tmp = ISHFT(pack_tmp, -8)
26830 610806 : idata = idata + 1
26831 610806 : data_tmp = full_data(idata)
26832 610806 : data_tmp = ISHFT(data_tmp, 28)
26833 610806 : data_tmp = IAND(data_tmp, mask_left(8))
26834 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26835 610806 : ipack = ipack + 1
26836 610806 : packed_data(ipack) = pack_tmp
26837 610806 : data_tmp = full_data(idata)
26838 610806 : pack_tmp = ISHFT(data_tmp, 36)
26839 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26840 610806 : idata = idata + 1
26841 610806 : data_tmp = full_data(idata)
26842 610806 : data_tmp = ISHFT(data_tmp, 28)
26843 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26844 610806 : pack_tmp = ISHFT(pack_tmp, 0)
26845 610806 : idata = idata + 1
26846 610806 : data_tmp = full_data(idata)
26847 : data_tmp = ISHFT(data_tmp, 28)
26848 610806 : data_tmp = IAND(data_tmp, mask_left(0))
26849 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26850 610806 : ipack = ipack + 1
26851 610806 : packed_data(ipack) = pack_tmp
26852 610806 : data_tmp = full_data(idata)
26853 610806 : pack_tmp = ISHFT(data_tmp, 28)
26854 610806 : pack_tmp = ISHFT(pack_tmp, -28)
26855 610806 : idata = idata + 1
26856 610806 : data_tmp = full_data(idata)
26857 610806 : data_tmp = ISHFT(data_tmp, 28)
26858 610806 : data_tmp = IAND(data_tmp, mask_left(28))
26859 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26860 610806 : ipack = ipack + 1
26861 610806 : packed_data(ipack) = pack_tmp
26862 610806 : data_tmp = full_data(idata)
26863 610806 : pack_tmp = ISHFT(data_tmp, 56)
26864 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26865 610806 : idata = idata + 1
26866 610806 : data_tmp = full_data(idata)
26867 610806 : data_tmp = ISHFT(data_tmp, 28)
26868 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26869 610806 : pack_tmp = ISHFT(pack_tmp, -20)
26870 610806 : idata = idata + 1
26871 610806 : data_tmp = full_data(idata)
26872 610806 : data_tmp = ISHFT(data_tmp, 28)
26873 610806 : data_tmp = IAND(data_tmp, mask_left(20))
26874 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26875 610806 : ipack = ipack + 1
26876 610806 : packed_data(ipack) = pack_tmp
26877 610806 : data_tmp = full_data(idata)
26878 610806 : pack_tmp = ISHFT(data_tmp, 48)
26879 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26880 610806 : idata = idata + 1
26881 610806 : data_tmp = full_data(idata)
26882 610806 : data_tmp = ISHFT(data_tmp, 28)
26883 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26884 610806 : pack_tmp = ISHFT(pack_tmp, -12)
26885 610806 : idata = idata + 1
26886 610806 : data_tmp = full_data(idata)
26887 610806 : data_tmp = ISHFT(data_tmp, 28)
26888 610806 : data_tmp = IAND(data_tmp, mask_left(12))
26889 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26890 610806 : ipack = ipack + 1
26891 610806 : packed_data(ipack) = pack_tmp
26892 610806 : data_tmp = full_data(idata)
26893 610806 : pack_tmp = ISHFT(data_tmp, 40)
26894 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26895 610806 : idata = idata + 1
26896 610806 : data_tmp = full_data(idata)
26897 610806 : data_tmp = ISHFT(data_tmp, 28)
26898 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26899 610806 : pack_tmp = ISHFT(pack_tmp, -4)
26900 610806 : idata = idata + 1
26901 610806 : data_tmp = full_data(idata)
26902 610806 : data_tmp = ISHFT(data_tmp, 28)
26903 610806 : data_tmp = IAND(data_tmp, mask_left(4))
26904 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26905 610806 : ipack = ipack + 1
26906 610806 : packed_data(ipack) = pack_tmp
26907 610806 : data_tmp = full_data(idata)
26908 610806 : pack_tmp = ISHFT(data_tmp, 32)
26909 610806 : pack_tmp = ISHFT(pack_tmp, -32)
26910 610806 : idata = idata + 1
26911 610806 : data_tmp = full_data(idata)
26912 610806 : data_tmp = ISHFT(data_tmp, 28)
26913 610806 : data_tmp = IAND(data_tmp, mask_left(32))
26914 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26915 610806 : ipack = ipack + 1
26916 610806 : packed_data(ipack) = pack_tmp
26917 610806 : data_tmp = full_data(idata)
26918 610806 : pack_tmp = ISHFT(data_tmp, 60)
26919 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26920 610806 : idata = idata + 1
26921 610806 : data_tmp = full_data(idata)
26922 610806 : data_tmp = ISHFT(data_tmp, 28)
26923 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26924 610806 : pack_tmp = ISHFT(pack_tmp, -24)
26925 610806 : idata = idata + 1
26926 610806 : data_tmp = full_data(idata)
26927 610806 : data_tmp = ISHFT(data_tmp, 28)
26928 610806 : data_tmp = IAND(data_tmp, mask_left(24))
26929 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26930 610806 : ipack = ipack + 1
26931 610806 : packed_data(ipack) = pack_tmp
26932 610806 : data_tmp = full_data(idata)
26933 610806 : pack_tmp = ISHFT(data_tmp, 52)
26934 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26935 610806 : idata = idata + 1
26936 610806 : data_tmp = full_data(idata)
26937 610806 : data_tmp = ISHFT(data_tmp, 28)
26938 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26939 610806 : pack_tmp = ISHFT(pack_tmp, -16)
26940 610806 : idata = idata + 1
26941 610806 : data_tmp = full_data(idata)
26942 610806 : data_tmp = ISHFT(data_tmp, 28)
26943 610806 : data_tmp = IAND(data_tmp, mask_left(16))
26944 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26945 610806 : ipack = ipack + 1
26946 610806 : packed_data(ipack) = pack_tmp
26947 610806 : data_tmp = full_data(idata)
26948 610806 : pack_tmp = ISHFT(data_tmp, 44)
26949 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26950 610806 : idata = idata + 1
26951 610806 : data_tmp = full_data(idata)
26952 610806 : data_tmp = ISHFT(data_tmp, 28)
26953 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26954 610806 : pack_tmp = ISHFT(pack_tmp, -8)
26955 610806 : idata = idata + 1
26956 610806 : data_tmp = full_data(idata)
26957 610806 : data_tmp = ISHFT(data_tmp, 28)
26958 610806 : data_tmp = IAND(data_tmp, mask_left(8))
26959 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26960 610806 : ipack = ipack + 1
26961 610806 : packed_data(ipack) = pack_tmp
26962 610806 : data_tmp = full_data(idata)
26963 610806 : pack_tmp = ISHFT(data_tmp, 36)
26964 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26965 610806 : idata = idata + 1
26966 610806 : data_tmp = full_data(idata)
26967 610806 : data_tmp = ISHFT(data_tmp, 28)
26968 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26969 610806 : pack_tmp = ISHFT(pack_tmp, 0)
26970 610806 : idata = idata + 1
26971 610806 : data_tmp = full_data(idata)
26972 : data_tmp = ISHFT(data_tmp, 28)
26973 610806 : data_tmp = IAND(data_tmp, mask_left(0))
26974 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26975 610806 : ipack = ipack + 1
26976 610806 : packed_data(ipack) = pack_tmp
26977 610806 : data_tmp = full_data(idata)
26978 610806 : pack_tmp = ISHFT(data_tmp, 28)
26979 610806 : pack_tmp = ISHFT(pack_tmp, -28)
26980 610806 : idata = idata + 1
26981 610806 : data_tmp = full_data(idata)
26982 610806 : data_tmp = ISHFT(data_tmp, 28)
26983 610806 : data_tmp = IAND(data_tmp, mask_left(28))
26984 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26985 610806 : ipack = ipack + 1
26986 610806 : packed_data(ipack) = pack_tmp
26987 610806 : data_tmp = full_data(idata)
26988 610806 : pack_tmp = ISHFT(data_tmp, 56)
26989 610806 : pack_tmp = ISHFT(pack_tmp, -36)
26990 610806 : idata = idata + 1
26991 610806 : data_tmp = full_data(idata)
26992 610806 : data_tmp = ISHFT(data_tmp, 28)
26993 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
26994 610806 : pack_tmp = ISHFT(pack_tmp, -20)
26995 610806 : idata = idata + 1
26996 610806 : data_tmp = full_data(idata)
26997 610806 : data_tmp = ISHFT(data_tmp, 28)
26998 610806 : data_tmp = IAND(data_tmp, mask_left(20))
26999 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27000 610806 : ipack = ipack + 1
27001 610806 : packed_data(ipack) = pack_tmp
27002 610806 : data_tmp = full_data(idata)
27003 610806 : pack_tmp = ISHFT(data_tmp, 48)
27004 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27005 610806 : idata = idata + 1
27006 610806 : data_tmp = full_data(idata)
27007 610806 : data_tmp = ISHFT(data_tmp, 28)
27008 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27009 610806 : pack_tmp = ISHFT(pack_tmp, -12)
27010 610806 : idata = idata + 1
27011 610806 : data_tmp = full_data(idata)
27012 610806 : data_tmp = ISHFT(data_tmp, 28)
27013 610806 : data_tmp = IAND(data_tmp, mask_left(12))
27014 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27015 610806 : ipack = ipack + 1
27016 610806 : packed_data(ipack) = pack_tmp
27017 610806 : data_tmp = full_data(idata)
27018 610806 : pack_tmp = ISHFT(data_tmp, 40)
27019 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27020 610806 : idata = idata + 1
27021 610806 : data_tmp = full_data(idata)
27022 610806 : data_tmp = ISHFT(data_tmp, 28)
27023 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27024 610806 : pack_tmp = ISHFT(pack_tmp, -4)
27025 610806 : idata = idata + 1
27026 610806 : data_tmp = full_data(idata)
27027 610806 : data_tmp = ISHFT(data_tmp, 28)
27028 610806 : data_tmp = IAND(data_tmp, mask_left(4))
27029 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27030 610806 : ipack = ipack + 1
27031 610806 : packed_data(ipack) = pack_tmp
27032 610806 : data_tmp = full_data(idata)
27033 610806 : pack_tmp = ISHFT(data_tmp, 32)
27034 610806 : pack_tmp = ISHFT(pack_tmp, -32)
27035 610806 : idata = idata + 1
27036 610806 : data_tmp = full_data(idata)
27037 610806 : data_tmp = ISHFT(data_tmp, 28)
27038 610806 : data_tmp = IAND(data_tmp, mask_left(32))
27039 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27040 610806 : ipack = ipack + 1
27041 610806 : packed_data(ipack) = pack_tmp
27042 610806 : data_tmp = full_data(idata)
27043 610806 : pack_tmp = ISHFT(data_tmp, 60)
27044 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27045 610806 : idata = idata + 1
27046 610806 : data_tmp = full_data(idata)
27047 610806 : data_tmp = ISHFT(data_tmp, 28)
27048 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27049 610806 : pack_tmp = ISHFT(pack_tmp, -24)
27050 610806 : idata = idata + 1
27051 610806 : data_tmp = full_data(idata)
27052 610806 : data_tmp = ISHFT(data_tmp, 28)
27053 610806 : data_tmp = IAND(data_tmp, mask_left(24))
27054 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27055 610806 : ipack = ipack + 1
27056 610806 : packed_data(ipack) = pack_tmp
27057 610806 : data_tmp = full_data(idata)
27058 610806 : pack_tmp = ISHFT(data_tmp, 52)
27059 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27060 610806 : idata = idata + 1
27061 610806 : data_tmp = full_data(idata)
27062 610806 : data_tmp = ISHFT(data_tmp, 28)
27063 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27064 610806 : pack_tmp = ISHFT(pack_tmp, -16)
27065 610806 : idata = idata + 1
27066 610806 : data_tmp = full_data(idata)
27067 610806 : data_tmp = ISHFT(data_tmp, 28)
27068 610806 : data_tmp = IAND(data_tmp, mask_left(16))
27069 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27070 610806 : ipack = ipack + 1
27071 610806 : packed_data(ipack) = pack_tmp
27072 610806 : data_tmp = full_data(idata)
27073 610806 : pack_tmp = ISHFT(data_tmp, 44)
27074 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27075 610806 : idata = idata + 1
27076 610806 : data_tmp = full_data(idata)
27077 610806 : data_tmp = ISHFT(data_tmp, 28)
27078 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27079 610806 : pack_tmp = ISHFT(pack_tmp, -8)
27080 610806 : idata = idata + 1
27081 610806 : data_tmp = full_data(idata)
27082 610806 : data_tmp = ISHFT(data_tmp, 28)
27083 610806 : data_tmp = IAND(data_tmp, mask_left(8))
27084 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27085 610806 : ipack = ipack + 1
27086 610806 : packed_data(ipack) = pack_tmp
27087 610806 : data_tmp = full_data(idata)
27088 610806 : pack_tmp = ISHFT(data_tmp, 36)
27089 610806 : pack_tmp = ISHFT(pack_tmp, -36)
27090 610806 : idata = idata + 1
27091 610806 : data_tmp = full_data(idata)
27092 610806 : data_tmp = ISHFT(data_tmp, 28)
27093 610806 : pack_tmp = IOR(pack_tmp, data_tmp)
27094 : pack_tmp = ISHFT(pack_tmp, 0)
27095 610806 : pack_tmp = ISHFT(pack_tmp, 0)
27096 610806 : ipack = ipack + 1
27097 611142 : packed_data(ipack) = pack_tmp
27098 : END DO
27099 47706 : IF (Ndata_rep < Ndata) THEN
27100 17940 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27101 : END IF
27102 47706 : END SUBROUTINE ints2bits_36
27103 :
27104 : ! **************************************************************************************************
27105 : !> \brief ...
27106 : !> \param Ndata ...
27107 : !> \param packed_data ...
27108 : !> \param full_data ...
27109 : ! **************************************************************************************************
27110 175724 : 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 175724 : ipack = 0
27121 175724 : idata = 0
27122 175724 : pack_tmp = 0
27123 175724 : Ndata_rep = (Ndata/64)*64
27124 175724 : DO kdata = 1, Ndata_rep, 64
27125 2302638 : idata = idata + 1
27126 2302638 : data_tmp = ISHFT(pack_tmp, 36)
27127 2302638 : ipack = ipack + 1
27128 2302638 : pack_tmp = packed_data(ipack)
27129 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27130 2302638 : pack_tmp = ISHFT(pack_tmp, -36)
27131 2302638 : idata = idata + 1
27132 2302638 : data_tmp = ISHFT(pack_tmp, 8)
27133 2302638 : ipack = ipack + 1
27134 2302638 : pack_tmp = packed_data(ipack)
27135 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27136 2302638 : pack_tmp = ISHFT(pack_tmp, -8)
27137 2302638 : idata = idata + 1
27138 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27139 2302638 : full_data(idata) = data_tmp
27140 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27141 2302638 : idata = idata + 1
27142 2302638 : data_tmp = ISHFT(pack_tmp, 16)
27143 2302638 : ipack = ipack + 1
27144 2302638 : pack_tmp = packed_data(ipack)
27145 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27146 2302638 : pack_tmp = ISHFT(pack_tmp, -16)
27147 2302638 : idata = idata + 1
27148 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27149 2302638 : full_data(idata) = data_tmp
27150 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27151 2302638 : idata = idata + 1
27152 2302638 : data_tmp = ISHFT(pack_tmp, 24)
27153 2302638 : ipack = ipack + 1
27154 2302638 : pack_tmp = packed_data(ipack)
27155 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27156 2302638 : pack_tmp = ISHFT(pack_tmp, -24)
27157 2302638 : idata = idata + 1
27158 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27159 2302638 : full_data(idata) = data_tmp
27160 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27161 2302638 : idata = idata + 1
27162 2302638 : data_tmp = ISHFT(pack_tmp, 32)
27163 2302638 : ipack = ipack + 1
27164 2302638 : pack_tmp = packed_data(ipack)
27165 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27166 2302638 : pack_tmp = ISHFT(pack_tmp, -32)
27167 2302638 : idata = idata + 1
27168 2302638 : data_tmp = ISHFT(pack_tmp, 4)
27169 2302638 : ipack = ipack + 1
27170 2302638 : pack_tmp = packed_data(ipack)
27171 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27172 2302638 : pack_tmp = ISHFT(pack_tmp, -4)
27173 2302638 : idata = idata + 1
27174 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27175 2302638 : full_data(idata) = data_tmp
27176 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27177 2302638 : idata = idata + 1
27178 2302638 : data_tmp = ISHFT(pack_tmp, 12)
27179 2302638 : ipack = ipack + 1
27180 2302638 : pack_tmp = packed_data(ipack)
27181 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27182 2302638 : pack_tmp = ISHFT(pack_tmp, -12)
27183 2302638 : idata = idata + 1
27184 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27185 2302638 : full_data(idata) = data_tmp
27186 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27187 2302638 : idata = idata + 1
27188 2302638 : data_tmp = ISHFT(pack_tmp, 20)
27189 2302638 : ipack = ipack + 1
27190 2302638 : pack_tmp = packed_data(ipack)
27191 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27192 2302638 : pack_tmp = ISHFT(pack_tmp, -20)
27193 2302638 : idata = idata + 1
27194 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27195 2302638 : full_data(idata) = data_tmp
27196 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27197 2302638 : idata = idata + 1
27198 2302638 : data_tmp = ISHFT(pack_tmp, 28)
27199 2302638 : ipack = ipack + 1
27200 2302638 : pack_tmp = packed_data(ipack)
27201 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27202 2302638 : pack_tmp = ISHFT(pack_tmp, -28)
27203 2302638 : idata = idata + 1
27204 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27205 2302638 : full_data(idata) = data_tmp
27206 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27207 2302638 : idata = idata + 1
27208 2302638 : data_tmp = ISHFT(pack_tmp, 36)
27209 2302638 : ipack = ipack + 1
27210 2302638 : pack_tmp = packed_data(ipack)
27211 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27212 2302638 : pack_tmp = ISHFT(pack_tmp, -36)
27213 2302638 : idata = idata + 1
27214 2302638 : data_tmp = ISHFT(pack_tmp, 8)
27215 2302638 : ipack = ipack + 1
27216 2302638 : pack_tmp = packed_data(ipack)
27217 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27218 2302638 : pack_tmp = ISHFT(pack_tmp, -8)
27219 2302638 : idata = idata + 1
27220 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27221 2302638 : full_data(idata) = data_tmp
27222 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27223 2302638 : idata = idata + 1
27224 2302638 : data_tmp = ISHFT(pack_tmp, 16)
27225 2302638 : ipack = ipack + 1
27226 2302638 : pack_tmp = packed_data(ipack)
27227 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27228 2302638 : pack_tmp = ISHFT(pack_tmp, -16)
27229 2302638 : idata = idata + 1
27230 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27231 2302638 : full_data(idata) = data_tmp
27232 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27233 2302638 : idata = idata + 1
27234 2302638 : data_tmp = ISHFT(pack_tmp, 24)
27235 2302638 : ipack = ipack + 1
27236 2302638 : pack_tmp = packed_data(ipack)
27237 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27238 2302638 : pack_tmp = ISHFT(pack_tmp, -24)
27239 2302638 : idata = idata + 1
27240 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27241 2302638 : full_data(idata) = data_tmp
27242 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27243 2302638 : idata = idata + 1
27244 2302638 : data_tmp = ISHFT(pack_tmp, 32)
27245 2302638 : ipack = ipack + 1
27246 2302638 : pack_tmp = packed_data(ipack)
27247 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27248 2302638 : pack_tmp = ISHFT(pack_tmp, -32)
27249 2302638 : idata = idata + 1
27250 2302638 : data_tmp = ISHFT(pack_tmp, 4)
27251 2302638 : ipack = ipack + 1
27252 2302638 : pack_tmp = packed_data(ipack)
27253 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27254 2302638 : pack_tmp = ISHFT(pack_tmp, -4)
27255 2302638 : idata = idata + 1
27256 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27257 2302638 : full_data(idata) = data_tmp
27258 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27259 2302638 : idata = idata + 1
27260 2302638 : data_tmp = ISHFT(pack_tmp, 12)
27261 2302638 : ipack = ipack + 1
27262 2302638 : pack_tmp = packed_data(ipack)
27263 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27264 2302638 : pack_tmp = ISHFT(pack_tmp, -12)
27265 2302638 : idata = idata + 1
27266 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27267 2302638 : full_data(idata) = data_tmp
27268 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27269 2302638 : idata = idata + 1
27270 2302638 : data_tmp = ISHFT(pack_tmp, 20)
27271 2302638 : ipack = ipack + 1
27272 2302638 : pack_tmp = packed_data(ipack)
27273 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27274 2302638 : pack_tmp = ISHFT(pack_tmp, -20)
27275 2302638 : idata = idata + 1
27276 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27277 2302638 : full_data(idata) = data_tmp
27278 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27279 2302638 : idata = idata + 1
27280 2302638 : data_tmp = ISHFT(pack_tmp, 28)
27281 2302638 : ipack = ipack + 1
27282 2302638 : pack_tmp = packed_data(ipack)
27283 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27284 2302638 : pack_tmp = ISHFT(pack_tmp, -28)
27285 2302638 : idata = idata + 1
27286 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27287 2302638 : full_data(idata) = data_tmp
27288 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27289 2302638 : idata = idata + 1
27290 2302638 : data_tmp = ISHFT(pack_tmp, 36)
27291 2302638 : ipack = ipack + 1
27292 2302638 : pack_tmp = packed_data(ipack)
27293 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27294 2302638 : pack_tmp = ISHFT(pack_tmp, -36)
27295 2302638 : idata = idata + 1
27296 2302638 : data_tmp = ISHFT(pack_tmp, 8)
27297 2302638 : ipack = ipack + 1
27298 2302638 : pack_tmp = packed_data(ipack)
27299 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27300 2302638 : pack_tmp = ISHFT(pack_tmp, -8)
27301 2302638 : idata = idata + 1
27302 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27303 2302638 : full_data(idata) = data_tmp
27304 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27305 2302638 : idata = idata + 1
27306 2302638 : data_tmp = ISHFT(pack_tmp, 16)
27307 2302638 : ipack = ipack + 1
27308 2302638 : pack_tmp = packed_data(ipack)
27309 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27310 2302638 : pack_tmp = ISHFT(pack_tmp, -16)
27311 2302638 : idata = idata + 1
27312 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27313 2302638 : full_data(idata) = data_tmp
27314 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27315 2302638 : idata = idata + 1
27316 2302638 : data_tmp = ISHFT(pack_tmp, 24)
27317 2302638 : ipack = ipack + 1
27318 2302638 : pack_tmp = packed_data(ipack)
27319 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27320 2302638 : pack_tmp = ISHFT(pack_tmp, -24)
27321 2302638 : idata = idata + 1
27322 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27323 2302638 : full_data(idata) = data_tmp
27324 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27325 2302638 : idata = idata + 1
27326 2302638 : data_tmp = ISHFT(pack_tmp, 32)
27327 2302638 : ipack = ipack + 1
27328 2302638 : pack_tmp = packed_data(ipack)
27329 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27330 2302638 : pack_tmp = ISHFT(pack_tmp, -32)
27331 2302638 : idata = idata + 1
27332 2302638 : data_tmp = ISHFT(pack_tmp, 4)
27333 2302638 : ipack = ipack + 1
27334 2302638 : pack_tmp = packed_data(ipack)
27335 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27336 2302638 : pack_tmp = ISHFT(pack_tmp, -4)
27337 2302638 : idata = idata + 1
27338 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27339 2302638 : full_data(idata) = data_tmp
27340 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27341 2302638 : idata = idata + 1
27342 2302638 : data_tmp = ISHFT(pack_tmp, 12)
27343 2302638 : ipack = ipack + 1
27344 2302638 : pack_tmp = packed_data(ipack)
27345 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27346 2302638 : pack_tmp = ISHFT(pack_tmp, -12)
27347 2302638 : idata = idata + 1
27348 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27349 2302638 : full_data(idata) = data_tmp
27350 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27351 2302638 : idata = idata + 1
27352 2302638 : data_tmp = ISHFT(pack_tmp, 20)
27353 2302638 : ipack = ipack + 1
27354 2302638 : pack_tmp = packed_data(ipack)
27355 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27356 2302638 : pack_tmp = ISHFT(pack_tmp, -20)
27357 2302638 : idata = idata + 1
27358 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27359 2302638 : full_data(idata) = data_tmp
27360 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27361 2302638 : idata = idata + 1
27362 2302638 : data_tmp = ISHFT(pack_tmp, 28)
27363 2302638 : ipack = ipack + 1
27364 2302638 : pack_tmp = packed_data(ipack)
27365 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27366 2302638 : pack_tmp = ISHFT(pack_tmp, -28)
27367 2302638 : idata = idata + 1
27368 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27369 2302638 : full_data(idata) = data_tmp
27370 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27371 2302638 : idata = idata + 1
27372 2302638 : data_tmp = ISHFT(pack_tmp, 36)
27373 2302638 : ipack = ipack + 1
27374 2302638 : pack_tmp = packed_data(ipack)
27375 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27376 2302638 : pack_tmp = ISHFT(pack_tmp, -36)
27377 2302638 : idata = idata + 1
27378 2302638 : data_tmp = ISHFT(pack_tmp, 8)
27379 2302638 : ipack = ipack + 1
27380 2302638 : pack_tmp = packed_data(ipack)
27381 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27382 2302638 : pack_tmp = ISHFT(pack_tmp, -8)
27383 2302638 : idata = idata + 1
27384 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27385 2302638 : full_data(idata) = data_tmp
27386 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27387 2302638 : idata = idata + 1
27388 2302638 : data_tmp = ISHFT(pack_tmp, 16)
27389 2302638 : ipack = ipack + 1
27390 2302638 : pack_tmp = packed_data(ipack)
27391 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27392 2302638 : pack_tmp = ISHFT(pack_tmp, -16)
27393 2302638 : idata = idata + 1
27394 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27395 2302638 : full_data(idata) = data_tmp
27396 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27397 2302638 : idata = idata + 1
27398 2302638 : data_tmp = ISHFT(pack_tmp, 24)
27399 2302638 : ipack = ipack + 1
27400 2302638 : pack_tmp = packed_data(ipack)
27401 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27402 2302638 : pack_tmp = ISHFT(pack_tmp, -24)
27403 2302638 : idata = idata + 1
27404 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27405 2302638 : full_data(idata) = data_tmp
27406 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27407 2302638 : idata = idata + 1
27408 2302638 : data_tmp = ISHFT(pack_tmp, 32)
27409 2302638 : ipack = ipack + 1
27410 2302638 : pack_tmp = packed_data(ipack)
27411 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27412 2302638 : pack_tmp = ISHFT(pack_tmp, -32)
27413 2302638 : idata = idata + 1
27414 2302638 : data_tmp = ISHFT(pack_tmp, 4)
27415 2302638 : ipack = ipack + 1
27416 2302638 : pack_tmp = packed_data(ipack)
27417 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27418 2302638 : pack_tmp = ISHFT(pack_tmp, -4)
27419 2302638 : idata = idata + 1
27420 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27421 2302638 : full_data(idata) = data_tmp
27422 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27423 2302638 : idata = idata + 1
27424 2302638 : data_tmp = ISHFT(pack_tmp, 12)
27425 2302638 : ipack = ipack + 1
27426 2302638 : pack_tmp = packed_data(ipack)
27427 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27428 2302638 : pack_tmp = ISHFT(pack_tmp, -12)
27429 2302638 : idata = idata + 1
27430 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27431 2302638 : full_data(idata) = data_tmp
27432 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27433 2302638 : idata = idata + 1
27434 2302638 : data_tmp = ISHFT(pack_tmp, 20)
27435 2302638 : ipack = ipack + 1
27436 2302638 : pack_tmp = packed_data(ipack)
27437 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27438 2302638 : pack_tmp = ISHFT(pack_tmp, -20)
27439 2302638 : idata = idata + 1
27440 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27441 2302638 : full_data(idata) = data_tmp
27442 2302638 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27443 2302638 : idata = idata + 1
27444 2302638 : data_tmp = ISHFT(pack_tmp, 28)
27445 2302638 : ipack = ipack + 1
27446 2302638 : pack_tmp = packed_data(ipack)
27447 2302638 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27448 2302638 : pack_tmp = ISHFT(pack_tmp, -28)
27449 2302638 : idata = idata + 1
27450 2302638 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27451 2302638 : full_data(idata) = data_tmp
27452 2304144 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27453 : END DO
27454 175724 : IF (Ndata_rep < Ndata) THEN
27455 59876 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27456 : END IF
27457 175724 : END SUBROUTINE bits2ints_36
27458 :
27459 : ! **************************************************************************************************
27460 : !> \brief ...
27461 : !> \param Ndata ...
27462 : !> \param packed_data ...
27463 : !> \param full_data ...
27464 : ! **************************************************************************************************
27465 35361 : 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 35361 : idata = 0
27476 35361 : ipack = 0
27477 35361 : Ndata_rep = (Ndata/64)*64
27478 35361 : DO kdata = 1, Ndata_rep, 64
27479 489924 : pack_tmp = 0
27480 489924 : idata = idata + 1
27481 489924 : data_tmp = full_data(idata)
27482 489924 : data_tmp = ISHFT(data_tmp, 27)
27483 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27484 489924 : pack_tmp = ISHFT(pack_tmp, -27)
27485 489924 : idata = idata + 1
27486 489924 : data_tmp = full_data(idata)
27487 489924 : data_tmp = ISHFT(data_tmp, 27)
27488 489924 : data_tmp = IAND(data_tmp, mask_left(27))
27489 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27490 489924 : ipack = ipack + 1
27491 489924 : packed_data(ipack) = pack_tmp
27492 489924 : data_tmp = full_data(idata)
27493 489924 : pack_tmp = ISHFT(data_tmp, 54)
27494 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27495 489924 : idata = idata + 1
27496 489924 : data_tmp = full_data(idata)
27497 489924 : data_tmp = ISHFT(data_tmp, 27)
27498 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27499 489924 : pack_tmp = ISHFT(pack_tmp, -17)
27500 489924 : idata = idata + 1
27501 489924 : data_tmp = full_data(idata)
27502 489924 : data_tmp = ISHFT(data_tmp, 27)
27503 489924 : data_tmp = IAND(data_tmp, mask_left(17))
27504 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27505 489924 : ipack = ipack + 1
27506 489924 : packed_data(ipack) = pack_tmp
27507 489924 : data_tmp = full_data(idata)
27508 489924 : pack_tmp = ISHFT(data_tmp, 44)
27509 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27510 489924 : idata = idata + 1
27511 489924 : data_tmp = full_data(idata)
27512 489924 : data_tmp = ISHFT(data_tmp, 27)
27513 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27514 489924 : pack_tmp = ISHFT(pack_tmp, -7)
27515 489924 : idata = idata + 1
27516 489924 : data_tmp = full_data(idata)
27517 489924 : data_tmp = ISHFT(data_tmp, 27)
27518 489924 : data_tmp = IAND(data_tmp, mask_left(7))
27519 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27520 489924 : ipack = ipack + 1
27521 489924 : packed_data(ipack) = pack_tmp
27522 489924 : data_tmp = full_data(idata)
27523 489924 : pack_tmp = ISHFT(data_tmp, 34)
27524 489924 : pack_tmp = ISHFT(pack_tmp, -34)
27525 489924 : idata = idata + 1
27526 489924 : data_tmp = full_data(idata)
27527 489924 : data_tmp = ISHFT(data_tmp, 27)
27528 489924 : data_tmp = IAND(data_tmp, mask_left(34))
27529 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27530 489924 : ipack = ipack + 1
27531 489924 : packed_data(ipack) = pack_tmp
27532 489924 : data_tmp = full_data(idata)
27533 489924 : pack_tmp = ISHFT(data_tmp, 61)
27534 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27535 489924 : idata = idata + 1
27536 489924 : data_tmp = full_data(idata)
27537 489924 : data_tmp = ISHFT(data_tmp, 27)
27538 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27539 489924 : pack_tmp = ISHFT(pack_tmp, -24)
27540 489924 : idata = idata + 1
27541 489924 : data_tmp = full_data(idata)
27542 489924 : data_tmp = ISHFT(data_tmp, 27)
27543 489924 : data_tmp = IAND(data_tmp, mask_left(24))
27544 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27545 489924 : ipack = ipack + 1
27546 489924 : packed_data(ipack) = pack_tmp
27547 489924 : data_tmp = full_data(idata)
27548 489924 : pack_tmp = ISHFT(data_tmp, 51)
27549 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27550 489924 : idata = idata + 1
27551 489924 : data_tmp = full_data(idata)
27552 489924 : data_tmp = ISHFT(data_tmp, 27)
27553 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27554 489924 : pack_tmp = ISHFT(pack_tmp, -14)
27555 489924 : idata = idata + 1
27556 489924 : data_tmp = full_data(idata)
27557 489924 : data_tmp = ISHFT(data_tmp, 27)
27558 489924 : data_tmp = IAND(data_tmp, mask_left(14))
27559 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27560 489924 : ipack = ipack + 1
27561 489924 : packed_data(ipack) = pack_tmp
27562 489924 : data_tmp = full_data(idata)
27563 489924 : pack_tmp = ISHFT(data_tmp, 41)
27564 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27565 489924 : idata = idata + 1
27566 489924 : data_tmp = full_data(idata)
27567 489924 : data_tmp = ISHFT(data_tmp, 27)
27568 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27569 489924 : pack_tmp = ISHFT(pack_tmp, -4)
27570 489924 : idata = idata + 1
27571 489924 : data_tmp = full_data(idata)
27572 489924 : data_tmp = ISHFT(data_tmp, 27)
27573 489924 : data_tmp = IAND(data_tmp, mask_left(4))
27574 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27575 489924 : ipack = ipack + 1
27576 489924 : packed_data(ipack) = pack_tmp
27577 489924 : data_tmp = full_data(idata)
27578 489924 : pack_tmp = ISHFT(data_tmp, 31)
27579 489924 : pack_tmp = ISHFT(pack_tmp, -31)
27580 489924 : idata = idata + 1
27581 489924 : data_tmp = full_data(idata)
27582 489924 : data_tmp = ISHFT(data_tmp, 27)
27583 489924 : data_tmp = IAND(data_tmp, mask_left(31))
27584 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27585 489924 : ipack = ipack + 1
27586 489924 : packed_data(ipack) = pack_tmp
27587 489924 : data_tmp = full_data(idata)
27588 489924 : pack_tmp = ISHFT(data_tmp, 58)
27589 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27590 489924 : idata = idata + 1
27591 489924 : data_tmp = full_data(idata)
27592 489924 : data_tmp = ISHFT(data_tmp, 27)
27593 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27594 489924 : pack_tmp = ISHFT(pack_tmp, -21)
27595 489924 : idata = idata + 1
27596 489924 : data_tmp = full_data(idata)
27597 489924 : data_tmp = ISHFT(data_tmp, 27)
27598 489924 : data_tmp = IAND(data_tmp, mask_left(21))
27599 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27600 489924 : ipack = ipack + 1
27601 489924 : packed_data(ipack) = pack_tmp
27602 489924 : data_tmp = full_data(idata)
27603 489924 : pack_tmp = ISHFT(data_tmp, 48)
27604 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27605 489924 : idata = idata + 1
27606 489924 : data_tmp = full_data(idata)
27607 489924 : data_tmp = ISHFT(data_tmp, 27)
27608 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27609 489924 : pack_tmp = ISHFT(pack_tmp, -11)
27610 489924 : idata = idata + 1
27611 489924 : data_tmp = full_data(idata)
27612 489924 : data_tmp = ISHFT(data_tmp, 27)
27613 489924 : data_tmp = IAND(data_tmp, mask_left(11))
27614 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27615 489924 : ipack = ipack + 1
27616 489924 : packed_data(ipack) = pack_tmp
27617 489924 : data_tmp = full_data(idata)
27618 489924 : pack_tmp = ISHFT(data_tmp, 38)
27619 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27620 489924 : idata = idata + 1
27621 489924 : data_tmp = full_data(idata)
27622 489924 : data_tmp = ISHFT(data_tmp, 27)
27623 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27624 489924 : pack_tmp = ISHFT(pack_tmp, -1)
27625 489924 : idata = idata + 1
27626 489924 : data_tmp = full_data(idata)
27627 489924 : data_tmp = ISHFT(data_tmp, 27)
27628 489924 : data_tmp = IAND(data_tmp, mask_left(1))
27629 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27630 489924 : ipack = ipack + 1
27631 489924 : packed_data(ipack) = pack_tmp
27632 489924 : data_tmp = full_data(idata)
27633 489924 : pack_tmp = ISHFT(data_tmp, 28)
27634 489924 : pack_tmp = ISHFT(pack_tmp, -28)
27635 489924 : idata = idata + 1
27636 489924 : data_tmp = full_data(idata)
27637 489924 : data_tmp = ISHFT(data_tmp, 27)
27638 489924 : data_tmp = IAND(data_tmp, mask_left(28))
27639 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27640 489924 : ipack = ipack + 1
27641 489924 : packed_data(ipack) = pack_tmp
27642 489924 : data_tmp = full_data(idata)
27643 489924 : pack_tmp = ISHFT(data_tmp, 55)
27644 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27645 489924 : idata = idata + 1
27646 489924 : data_tmp = full_data(idata)
27647 489924 : data_tmp = ISHFT(data_tmp, 27)
27648 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27649 489924 : pack_tmp = ISHFT(pack_tmp, -18)
27650 489924 : idata = idata + 1
27651 489924 : data_tmp = full_data(idata)
27652 489924 : data_tmp = ISHFT(data_tmp, 27)
27653 489924 : data_tmp = IAND(data_tmp, mask_left(18))
27654 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27655 489924 : ipack = ipack + 1
27656 489924 : packed_data(ipack) = pack_tmp
27657 489924 : data_tmp = full_data(idata)
27658 489924 : pack_tmp = ISHFT(data_tmp, 45)
27659 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27660 489924 : idata = idata + 1
27661 489924 : data_tmp = full_data(idata)
27662 489924 : data_tmp = ISHFT(data_tmp, 27)
27663 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27664 489924 : pack_tmp = ISHFT(pack_tmp, -8)
27665 489924 : idata = idata + 1
27666 489924 : data_tmp = full_data(idata)
27667 489924 : data_tmp = ISHFT(data_tmp, 27)
27668 489924 : data_tmp = IAND(data_tmp, mask_left(8))
27669 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27670 489924 : ipack = ipack + 1
27671 489924 : packed_data(ipack) = pack_tmp
27672 489924 : data_tmp = full_data(idata)
27673 489924 : pack_tmp = ISHFT(data_tmp, 35)
27674 489924 : pack_tmp = ISHFT(pack_tmp, -35)
27675 489924 : idata = idata + 1
27676 489924 : data_tmp = full_data(idata)
27677 489924 : data_tmp = ISHFT(data_tmp, 27)
27678 489924 : data_tmp = IAND(data_tmp, mask_left(35))
27679 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27680 489924 : ipack = ipack + 1
27681 489924 : packed_data(ipack) = pack_tmp
27682 489924 : data_tmp = full_data(idata)
27683 489924 : pack_tmp = ISHFT(data_tmp, 62)
27684 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27685 489924 : idata = idata + 1
27686 489924 : data_tmp = full_data(idata)
27687 489924 : data_tmp = ISHFT(data_tmp, 27)
27688 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27689 489924 : pack_tmp = ISHFT(pack_tmp, -25)
27690 489924 : idata = idata + 1
27691 489924 : data_tmp = full_data(idata)
27692 489924 : data_tmp = ISHFT(data_tmp, 27)
27693 489924 : data_tmp = IAND(data_tmp, mask_left(25))
27694 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27695 489924 : ipack = ipack + 1
27696 489924 : packed_data(ipack) = pack_tmp
27697 489924 : data_tmp = full_data(idata)
27698 489924 : pack_tmp = ISHFT(data_tmp, 52)
27699 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27700 489924 : idata = idata + 1
27701 489924 : data_tmp = full_data(idata)
27702 489924 : data_tmp = ISHFT(data_tmp, 27)
27703 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27704 489924 : pack_tmp = ISHFT(pack_tmp, -15)
27705 489924 : idata = idata + 1
27706 489924 : data_tmp = full_data(idata)
27707 489924 : data_tmp = ISHFT(data_tmp, 27)
27708 489924 : data_tmp = IAND(data_tmp, mask_left(15))
27709 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27710 489924 : ipack = ipack + 1
27711 489924 : packed_data(ipack) = pack_tmp
27712 489924 : data_tmp = full_data(idata)
27713 489924 : pack_tmp = ISHFT(data_tmp, 42)
27714 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27715 489924 : idata = idata + 1
27716 489924 : data_tmp = full_data(idata)
27717 489924 : data_tmp = ISHFT(data_tmp, 27)
27718 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27719 489924 : pack_tmp = ISHFT(pack_tmp, -5)
27720 489924 : idata = idata + 1
27721 489924 : data_tmp = full_data(idata)
27722 489924 : data_tmp = ISHFT(data_tmp, 27)
27723 489924 : data_tmp = IAND(data_tmp, mask_left(5))
27724 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27725 489924 : ipack = ipack + 1
27726 489924 : packed_data(ipack) = pack_tmp
27727 489924 : data_tmp = full_data(idata)
27728 489924 : pack_tmp = ISHFT(data_tmp, 32)
27729 489924 : pack_tmp = ISHFT(pack_tmp, -32)
27730 489924 : idata = idata + 1
27731 489924 : data_tmp = full_data(idata)
27732 489924 : data_tmp = ISHFT(data_tmp, 27)
27733 489924 : data_tmp = IAND(data_tmp, mask_left(32))
27734 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27735 489924 : ipack = ipack + 1
27736 489924 : packed_data(ipack) = pack_tmp
27737 489924 : data_tmp = full_data(idata)
27738 489924 : pack_tmp = ISHFT(data_tmp, 59)
27739 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27740 489924 : idata = idata + 1
27741 489924 : data_tmp = full_data(idata)
27742 489924 : data_tmp = ISHFT(data_tmp, 27)
27743 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27744 489924 : pack_tmp = ISHFT(pack_tmp, -22)
27745 489924 : idata = idata + 1
27746 489924 : data_tmp = full_data(idata)
27747 489924 : data_tmp = ISHFT(data_tmp, 27)
27748 489924 : data_tmp = IAND(data_tmp, mask_left(22))
27749 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27750 489924 : ipack = ipack + 1
27751 489924 : packed_data(ipack) = pack_tmp
27752 489924 : data_tmp = full_data(idata)
27753 489924 : pack_tmp = ISHFT(data_tmp, 49)
27754 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27755 489924 : idata = idata + 1
27756 489924 : data_tmp = full_data(idata)
27757 489924 : data_tmp = ISHFT(data_tmp, 27)
27758 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27759 489924 : pack_tmp = ISHFT(pack_tmp, -12)
27760 489924 : idata = idata + 1
27761 489924 : data_tmp = full_data(idata)
27762 489924 : data_tmp = ISHFT(data_tmp, 27)
27763 489924 : data_tmp = IAND(data_tmp, mask_left(12))
27764 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27765 489924 : ipack = ipack + 1
27766 489924 : packed_data(ipack) = pack_tmp
27767 489924 : data_tmp = full_data(idata)
27768 489924 : pack_tmp = ISHFT(data_tmp, 39)
27769 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27770 489924 : idata = idata + 1
27771 489924 : data_tmp = full_data(idata)
27772 489924 : data_tmp = ISHFT(data_tmp, 27)
27773 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27774 489924 : pack_tmp = ISHFT(pack_tmp, -2)
27775 489924 : idata = idata + 1
27776 489924 : data_tmp = full_data(idata)
27777 489924 : data_tmp = ISHFT(data_tmp, 27)
27778 489924 : data_tmp = IAND(data_tmp, mask_left(2))
27779 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27780 489924 : ipack = ipack + 1
27781 489924 : packed_data(ipack) = pack_tmp
27782 489924 : data_tmp = full_data(idata)
27783 489924 : pack_tmp = ISHFT(data_tmp, 29)
27784 489924 : pack_tmp = ISHFT(pack_tmp, -29)
27785 489924 : idata = idata + 1
27786 489924 : data_tmp = full_data(idata)
27787 489924 : data_tmp = ISHFT(data_tmp, 27)
27788 489924 : data_tmp = IAND(data_tmp, mask_left(29))
27789 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27790 489924 : ipack = ipack + 1
27791 489924 : packed_data(ipack) = pack_tmp
27792 489924 : data_tmp = full_data(idata)
27793 489924 : pack_tmp = ISHFT(data_tmp, 56)
27794 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27795 489924 : idata = idata + 1
27796 489924 : data_tmp = full_data(idata)
27797 489924 : data_tmp = ISHFT(data_tmp, 27)
27798 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27799 489924 : pack_tmp = ISHFT(pack_tmp, -19)
27800 489924 : idata = idata + 1
27801 489924 : data_tmp = full_data(idata)
27802 489924 : data_tmp = ISHFT(data_tmp, 27)
27803 489924 : data_tmp = IAND(data_tmp, mask_left(19))
27804 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27805 489924 : ipack = ipack + 1
27806 489924 : packed_data(ipack) = pack_tmp
27807 489924 : data_tmp = full_data(idata)
27808 489924 : pack_tmp = ISHFT(data_tmp, 46)
27809 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27810 489924 : idata = idata + 1
27811 489924 : data_tmp = full_data(idata)
27812 489924 : data_tmp = ISHFT(data_tmp, 27)
27813 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27814 489924 : pack_tmp = ISHFT(pack_tmp, -9)
27815 489924 : idata = idata + 1
27816 489924 : data_tmp = full_data(idata)
27817 489924 : data_tmp = ISHFT(data_tmp, 27)
27818 489924 : data_tmp = IAND(data_tmp, mask_left(9))
27819 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27820 489924 : ipack = ipack + 1
27821 489924 : packed_data(ipack) = pack_tmp
27822 489924 : data_tmp = full_data(idata)
27823 489924 : pack_tmp = ISHFT(data_tmp, 36)
27824 489924 : pack_tmp = ISHFT(pack_tmp, -36)
27825 489924 : idata = idata + 1
27826 489924 : data_tmp = full_data(idata)
27827 489924 : data_tmp = ISHFT(data_tmp, 27)
27828 489924 : data_tmp = IAND(data_tmp, mask_left(36))
27829 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27830 489924 : ipack = ipack + 1
27831 489924 : packed_data(ipack) = pack_tmp
27832 489924 : data_tmp = full_data(idata)
27833 489924 : pack_tmp = ISHFT(data_tmp, 63)
27834 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27835 489924 : idata = idata + 1
27836 489924 : data_tmp = full_data(idata)
27837 489924 : data_tmp = ISHFT(data_tmp, 27)
27838 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27839 489924 : pack_tmp = ISHFT(pack_tmp, -26)
27840 489924 : idata = idata + 1
27841 489924 : data_tmp = full_data(idata)
27842 489924 : data_tmp = ISHFT(data_tmp, 27)
27843 489924 : data_tmp = IAND(data_tmp, mask_left(26))
27844 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27845 489924 : ipack = ipack + 1
27846 489924 : packed_data(ipack) = pack_tmp
27847 489924 : data_tmp = full_data(idata)
27848 489924 : pack_tmp = ISHFT(data_tmp, 53)
27849 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27850 489924 : idata = idata + 1
27851 489924 : data_tmp = full_data(idata)
27852 489924 : data_tmp = ISHFT(data_tmp, 27)
27853 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27854 489924 : pack_tmp = ISHFT(pack_tmp, -16)
27855 489924 : idata = idata + 1
27856 489924 : data_tmp = full_data(idata)
27857 489924 : data_tmp = ISHFT(data_tmp, 27)
27858 489924 : data_tmp = IAND(data_tmp, mask_left(16))
27859 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27860 489924 : ipack = ipack + 1
27861 489924 : packed_data(ipack) = pack_tmp
27862 489924 : data_tmp = full_data(idata)
27863 489924 : pack_tmp = ISHFT(data_tmp, 43)
27864 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27865 489924 : idata = idata + 1
27866 489924 : data_tmp = full_data(idata)
27867 489924 : data_tmp = ISHFT(data_tmp, 27)
27868 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27869 489924 : pack_tmp = ISHFT(pack_tmp, -6)
27870 489924 : idata = idata + 1
27871 489924 : data_tmp = full_data(idata)
27872 489924 : data_tmp = ISHFT(data_tmp, 27)
27873 489924 : data_tmp = IAND(data_tmp, mask_left(6))
27874 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27875 489924 : ipack = ipack + 1
27876 489924 : packed_data(ipack) = pack_tmp
27877 489924 : data_tmp = full_data(idata)
27878 489924 : pack_tmp = ISHFT(data_tmp, 33)
27879 489924 : pack_tmp = ISHFT(pack_tmp, -33)
27880 489924 : idata = idata + 1
27881 489924 : data_tmp = full_data(idata)
27882 489924 : data_tmp = ISHFT(data_tmp, 27)
27883 489924 : data_tmp = IAND(data_tmp, mask_left(33))
27884 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27885 489924 : ipack = ipack + 1
27886 489924 : packed_data(ipack) = pack_tmp
27887 489924 : data_tmp = full_data(idata)
27888 489924 : pack_tmp = ISHFT(data_tmp, 60)
27889 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27890 489924 : idata = idata + 1
27891 489924 : data_tmp = full_data(idata)
27892 489924 : data_tmp = ISHFT(data_tmp, 27)
27893 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27894 489924 : pack_tmp = ISHFT(pack_tmp, -23)
27895 489924 : idata = idata + 1
27896 489924 : data_tmp = full_data(idata)
27897 489924 : data_tmp = ISHFT(data_tmp, 27)
27898 489924 : data_tmp = IAND(data_tmp, mask_left(23))
27899 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27900 489924 : ipack = ipack + 1
27901 489924 : packed_data(ipack) = pack_tmp
27902 489924 : data_tmp = full_data(idata)
27903 489924 : pack_tmp = ISHFT(data_tmp, 50)
27904 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27905 489924 : idata = idata + 1
27906 489924 : data_tmp = full_data(idata)
27907 489924 : data_tmp = ISHFT(data_tmp, 27)
27908 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27909 489924 : pack_tmp = ISHFT(pack_tmp, -13)
27910 489924 : idata = idata + 1
27911 489924 : data_tmp = full_data(idata)
27912 489924 : data_tmp = ISHFT(data_tmp, 27)
27913 489924 : data_tmp = IAND(data_tmp, mask_left(13))
27914 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27915 489924 : ipack = ipack + 1
27916 489924 : packed_data(ipack) = pack_tmp
27917 489924 : data_tmp = full_data(idata)
27918 489924 : pack_tmp = ISHFT(data_tmp, 40)
27919 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27920 489924 : idata = idata + 1
27921 489924 : data_tmp = full_data(idata)
27922 489924 : data_tmp = ISHFT(data_tmp, 27)
27923 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27924 489924 : pack_tmp = ISHFT(pack_tmp, -3)
27925 489924 : idata = idata + 1
27926 489924 : data_tmp = full_data(idata)
27927 489924 : data_tmp = ISHFT(data_tmp, 27)
27928 489924 : data_tmp = IAND(data_tmp, mask_left(3))
27929 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27930 489924 : ipack = ipack + 1
27931 489924 : packed_data(ipack) = pack_tmp
27932 489924 : data_tmp = full_data(idata)
27933 489924 : pack_tmp = ISHFT(data_tmp, 30)
27934 489924 : pack_tmp = ISHFT(pack_tmp, -30)
27935 489924 : idata = idata + 1
27936 489924 : data_tmp = full_data(idata)
27937 489924 : data_tmp = ISHFT(data_tmp, 27)
27938 489924 : data_tmp = IAND(data_tmp, mask_left(30))
27939 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27940 489924 : ipack = ipack + 1
27941 489924 : packed_data(ipack) = pack_tmp
27942 489924 : data_tmp = full_data(idata)
27943 489924 : pack_tmp = ISHFT(data_tmp, 57)
27944 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27945 489924 : idata = idata + 1
27946 489924 : data_tmp = full_data(idata)
27947 489924 : data_tmp = ISHFT(data_tmp, 27)
27948 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27949 489924 : pack_tmp = ISHFT(pack_tmp, -20)
27950 489924 : idata = idata + 1
27951 489924 : data_tmp = full_data(idata)
27952 489924 : data_tmp = ISHFT(data_tmp, 27)
27953 489924 : data_tmp = IAND(data_tmp, mask_left(20))
27954 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27955 489924 : ipack = ipack + 1
27956 489924 : packed_data(ipack) = pack_tmp
27957 489924 : data_tmp = full_data(idata)
27958 489924 : pack_tmp = ISHFT(data_tmp, 47)
27959 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27960 489924 : idata = idata + 1
27961 489924 : data_tmp = full_data(idata)
27962 489924 : data_tmp = ISHFT(data_tmp, 27)
27963 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27964 489924 : pack_tmp = ISHFT(pack_tmp, -10)
27965 489924 : idata = idata + 1
27966 489924 : data_tmp = full_data(idata)
27967 489924 : data_tmp = ISHFT(data_tmp, 27)
27968 489924 : data_tmp = IAND(data_tmp, mask_left(10))
27969 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27970 489924 : ipack = ipack + 1
27971 489924 : packed_data(ipack) = pack_tmp
27972 489924 : data_tmp = full_data(idata)
27973 489924 : pack_tmp = ISHFT(data_tmp, 37)
27974 489924 : pack_tmp = ISHFT(pack_tmp, -37)
27975 489924 : idata = idata + 1
27976 489924 : data_tmp = full_data(idata)
27977 489924 : data_tmp = ISHFT(data_tmp, 27)
27978 489924 : pack_tmp = IOR(pack_tmp, data_tmp)
27979 : pack_tmp = ISHFT(pack_tmp, 0)
27980 489924 : pack_tmp = ISHFT(pack_tmp, 0)
27981 489924 : ipack = ipack + 1
27982 489947 : packed_data(ipack) = pack_tmp
27983 : END DO
27984 35361 : IF (Ndata_rep < Ndata) THEN
27985 8920 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27986 : END IF
27987 35361 : END SUBROUTINE ints2bits_37
27988 :
27989 : ! **************************************************************************************************
27990 : !> \brief ...
27991 : !> \param Ndata ...
27992 : !> \param packed_data ...
27993 : !> \param full_data ...
27994 : ! **************************************************************************************************
27995 148846 : 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 148846 : ipack = 0
28006 148846 : idata = 0
28007 148846 : pack_tmp = 0
28008 148846 : Ndata_rep = (Ndata/64)*64
28009 148846 : DO kdata = 1, Ndata_rep, 64
28010 2025422 : idata = idata + 1
28011 2025422 : data_tmp = ISHFT(pack_tmp, 37)
28012 2025422 : ipack = ipack + 1
28013 2025422 : pack_tmp = packed_data(ipack)
28014 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
28015 2025422 : pack_tmp = ISHFT(pack_tmp, -37)
28016 2025422 : idata = idata + 1
28017 2025422 : data_tmp = ISHFT(pack_tmp, 10)
28018 2025422 : ipack = ipack + 1
28019 2025422 : pack_tmp = packed_data(ipack)
28020 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28021 2025422 : pack_tmp = ISHFT(pack_tmp, -10)
28022 2025422 : idata = idata + 1
28023 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28024 2025422 : full_data(idata) = data_tmp
28025 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28026 2025422 : idata = idata + 1
28027 2025422 : data_tmp = ISHFT(pack_tmp, 20)
28028 2025422 : ipack = ipack + 1
28029 2025422 : pack_tmp = packed_data(ipack)
28030 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28031 2025422 : pack_tmp = ISHFT(pack_tmp, -20)
28032 2025422 : idata = idata + 1
28033 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28034 2025422 : full_data(idata) = data_tmp
28035 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28036 2025422 : idata = idata + 1
28037 2025422 : data_tmp = ISHFT(pack_tmp, 30)
28038 2025422 : ipack = ipack + 1
28039 2025422 : pack_tmp = packed_data(ipack)
28040 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
28041 2025422 : pack_tmp = ISHFT(pack_tmp, -30)
28042 2025422 : idata = idata + 1
28043 2025422 : data_tmp = ISHFT(pack_tmp, 3)
28044 2025422 : ipack = ipack + 1
28045 2025422 : pack_tmp = packed_data(ipack)
28046 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
28047 2025422 : pack_tmp = ISHFT(pack_tmp, -3)
28048 2025422 : idata = idata + 1
28049 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28050 2025422 : full_data(idata) = data_tmp
28051 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28052 2025422 : idata = idata + 1
28053 2025422 : data_tmp = ISHFT(pack_tmp, 13)
28054 2025422 : ipack = ipack + 1
28055 2025422 : pack_tmp = packed_data(ipack)
28056 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
28057 2025422 : pack_tmp = ISHFT(pack_tmp, -13)
28058 2025422 : idata = idata + 1
28059 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28060 2025422 : full_data(idata) = data_tmp
28061 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28062 2025422 : idata = idata + 1
28063 2025422 : data_tmp = ISHFT(pack_tmp, 23)
28064 2025422 : ipack = ipack + 1
28065 2025422 : pack_tmp = packed_data(ipack)
28066 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
28067 2025422 : pack_tmp = ISHFT(pack_tmp, -23)
28068 2025422 : idata = idata + 1
28069 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28070 2025422 : full_data(idata) = data_tmp
28071 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28072 2025422 : idata = idata + 1
28073 2025422 : data_tmp = ISHFT(pack_tmp, 33)
28074 2025422 : ipack = ipack + 1
28075 2025422 : pack_tmp = packed_data(ipack)
28076 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
28077 2025422 : pack_tmp = ISHFT(pack_tmp, -33)
28078 2025422 : idata = idata + 1
28079 2025422 : data_tmp = ISHFT(pack_tmp, 6)
28080 2025422 : ipack = ipack + 1
28081 2025422 : pack_tmp = packed_data(ipack)
28082 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28083 2025422 : pack_tmp = ISHFT(pack_tmp, -6)
28084 2025422 : idata = idata + 1
28085 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28086 2025422 : full_data(idata) = data_tmp
28087 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28088 2025422 : idata = idata + 1
28089 2025422 : data_tmp = ISHFT(pack_tmp, 16)
28090 2025422 : ipack = ipack + 1
28091 2025422 : pack_tmp = packed_data(ipack)
28092 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
28093 2025422 : pack_tmp = ISHFT(pack_tmp, -16)
28094 2025422 : idata = idata + 1
28095 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28096 2025422 : full_data(idata) = data_tmp
28097 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28098 2025422 : idata = idata + 1
28099 2025422 : data_tmp = ISHFT(pack_tmp, 26)
28100 2025422 : ipack = ipack + 1
28101 2025422 : pack_tmp = packed_data(ipack)
28102 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
28103 2025422 : pack_tmp = ISHFT(pack_tmp, -26)
28104 2025422 : idata = idata + 1
28105 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28106 2025422 : full_data(idata) = data_tmp
28107 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28108 2025422 : idata = idata + 1
28109 2025422 : data_tmp = ISHFT(pack_tmp, 36)
28110 2025422 : ipack = ipack + 1
28111 2025422 : pack_tmp = packed_data(ipack)
28112 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28113 2025422 : pack_tmp = ISHFT(pack_tmp, -36)
28114 2025422 : idata = idata + 1
28115 2025422 : data_tmp = ISHFT(pack_tmp, 9)
28116 2025422 : ipack = ipack + 1
28117 2025422 : pack_tmp = packed_data(ipack)
28118 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
28119 2025422 : pack_tmp = ISHFT(pack_tmp, -9)
28120 2025422 : idata = idata + 1
28121 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28122 2025422 : full_data(idata) = data_tmp
28123 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28124 2025422 : idata = idata + 1
28125 2025422 : data_tmp = ISHFT(pack_tmp, 19)
28126 2025422 : ipack = ipack + 1
28127 2025422 : pack_tmp = packed_data(ipack)
28128 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
28129 2025422 : pack_tmp = ISHFT(pack_tmp, -19)
28130 2025422 : idata = idata + 1
28131 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28132 2025422 : full_data(idata) = data_tmp
28133 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28134 2025422 : idata = idata + 1
28135 2025422 : data_tmp = ISHFT(pack_tmp, 29)
28136 2025422 : ipack = ipack + 1
28137 2025422 : pack_tmp = packed_data(ipack)
28138 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
28139 2025422 : pack_tmp = ISHFT(pack_tmp, -29)
28140 2025422 : idata = idata + 1
28141 2025422 : data_tmp = ISHFT(pack_tmp, 2)
28142 2025422 : ipack = ipack + 1
28143 2025422 : pack_tmp = packed_data(ipack)
28144 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
28145 2025422 : pack_tmp = ISHFT(pack_tmp, -2)
28146 2025422 : idata = idata + 1
28147 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28148 2025422 : full_data(idata) = data_tmp
28149 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28150 2025422 : idata = idata + 1
28151 2025422 : data_tmp = ISHFT(pack_tmp, 12)
28152 2025422 : ipack = ipack + 1
28153 2025422 : pack_tmp = packed_data(ipack)
28154 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28155 2025422 : pack_tmp = ISHFT(pack_tmp, -12)
28156 2025422 : idata = idata + 1
28157 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28158 2025422 : full_data(idata) = data_tmp
28159 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28160 2025422 : idata = idata + 1
28161 2025422 : data_tmp = ISHFT(pack_tmp, 22)
28162 2025422 : ipack = ipack + 1
28163 2025422 : pack_tmp = packed_data(ipack)
28164 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28165 2025422 : pack_tmp = ISHFT(pack_tmp, -22)
28166 2025422 : idata = idata + 1
28167 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28168 2025422 : full_data(idata) = data_tmp
28169 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28170 2025422 : idata = idata + 1
28171 2025422 : data_tmp = ISHFT(pack_tmp, 32)
28172 2025422 : ipack = ipack + 1
28173 2025422 : pack_tmp = packed_data(ipack)
28174 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28175 2025422 : pack_tmp = ISHFT(pack_tmp, -32)
28176 2025422 : idata = idata + 1
28177 2025422 : data_tmp = ISHFT(pack_tmp, 5)
28178 2025422 : ipack = ipack + 1
28179 2025422 : pack_tmp = packed_data(ipack)
28180 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
28181 2025422 : pack_tmp = ISHFT(pack_tmp, -5)
28182 2025422 : idata = idata + 1
28183 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28184 2025422 : full_data(idata) = data_tmp
28185 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28186 2025422 : idata = idata + 1
28187 2025422 : data_tmp = ISHFT(pack_tmp, 15)
28188 2025422 : ipack = ipack + 1
28189 2025422 : pack_tmp = packed_data(ipack)
28190 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
28191 2025422 : pack_tmp = ISHFT(pack_tmp, -15)
28192 2025422 : idata = idata + 1
28193 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28194 2025422 : full_data(idata) = data_tmp
28195 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28196 2025422 : idata = idata + 1
28197 2025422 : data_tmp = ISHFT(pack_tmp, 25)
28198 2025422 : ipack = ipack + 1
28199 2025422 : pack_tmp = packed_data(ipack)
28200 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
28201 2025422 : pack_tmp = ISHFT(pack_tmp, -25)
28202 2025422 : idata = idata + 1
28203 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28204 2025422 : full_data(idata) = data_tmp
28205 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28206 2025422 : idata = idata + 1
28207 2025422 : data_tmp = ISHFT(pack_tmp, 35)
28208 2025422 : ipack = ipack + 1
28209 2025422 : pack_tmp = packed_data(ipack)
28210 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
28211 2025422 : pack_tmp = ISHFT(pack_tmp, -35)
28212 2025422 : idata = idata + 1
28213 2025422 : data_tmp = ISHFT(pack_tmp, 8)
28214 2025422 : ipack = ipack + 1
28215 2025422 : pack_tmp = packed_data(ipack)
28216 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28217 2025422 : pack_tmp = ISHFT(pack_tmp, -8)
28218 2025422 : idata = idata + 1
28219 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28220 2025422 : full_data(idata) = data_tmp
28221 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28222 2025422 : idata = idata + 1
28223 2025422 : data_tmp = ISHFT(pack_tmp, 18)
28224 2025422 : ipack = ipack + 1
28225 2025422 : pack_tmp = packed_data(ipack)
28226 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
28227 2025422 : pack_tmp = ISHFT(pack_tmp, -18)
28228 2025422 : idata = idata + 1
28229 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28230 2025422 : full_data(idata) = data_tmp
28231 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28232 2025422 : idata = idata + 1
28233 2025422 : data_tmp = ISHFT(pack_tmp, 28)
28234 2025422 : ipack = ipack + 1
28235 2025422 : pack_tmp = packed_data(ipack)
28236 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
28237 2025422 : pack_tmp = ISHFT(pack_tmp, -28)
28238 2025422 : idata = idata + 1
28239 2025422 : data_tmp = ISHFT(pack_tmp, 1)
28240 2025422 : ipack = ipack + 1
28241 2025422 : pack_tmp = packed_data(ipack)
28242 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
28243 2025422 : pack_tmp = ISHFT(pack_tmp, -1)
28244 2025422 : idata = idata + 1
28245 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28246 2025422 : full_data(idata) = data_tmp
28247 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28248 2025422 : idata = idata + 1
28249 2025422 : data_tmp = ISHFT(pack_tmp, 11)
28250 2025422 : ipack = ipack + 1
28251 2025422 : pack_tmp = packed_data(ipack)
28252 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
28253 2025422 : pack_tmp = ISHFT(pack_tmp, -11)
28254 2025422 : idata = idata + 1
28255 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28256 2025422 : full_data(idata) = data_tmp
28257 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28258 2025422 : idata = idata + 1
28259 2025422 : data_tmp = ISHFT(pack_tmp, 21)
28260 2025422 : ipack = ipack + 1
28261 2025422 : pack_tmp = packed_data(ipack)
28262 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
28263 2025422 : pack_tmp = ISHFT(pack_tmp, -21)
28264 2025422 : idata = idata + 1
28265 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28266 2025422 : full_data(idata) = data_tmp
28267 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28268 2025422 : idata = idata + 1
28269 2025422 : data_tmp = ISHFT(pack_tmp, 31)
28270 2025422 : ipack = ipack + 1
28271 2025422 : pack_tmp = packed_data(ipack)
28272 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
28273 2025422 : pack_tmp = ISHFT(pack_tmp, -31)
28274 2025422 : idata = idata + 1
28275 2025422 : data_tmp = ISHFT(pack_tmp, 4)
28276 2025422 : ipack = ipack + 1
28277 2025422 : pack_tmp = packed_data(ipack)
28278 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
28279 2025422 : pack_tmp = ISHFT(pack_tmp, -4)
28280 2025422 : idata = idata + 1
28281 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28282 2025422 : full_data(idata) = data_tmp
28283 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28284 2025422 : idata = idata + 1
28285 2025422 : data_tmp = ISHFT(pack_tmp, 14)
28286 2025422 : ipack = ipack + 1
28287 2025422 : pack_tmp = packed_data(ipack)
28288 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
28289 2025422 : pack_tmp = ISHFT(pack_tmp, -14)
28290 2025422 : idata = idata + 1
28291 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28292 2025422 : full_data(idata) = data_tmp
28293 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28294 2025422 : idata = idata + 1
28295 2025422 : data_tmp = ISHFT(pack_tmp, 24)
28296 2025422 : ipack = ipack + 1
28297 2025422 : pack_tmp = packed_data(ipack)
28298 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28299 2025422 : pack_tmp = ISHFT(pack_tmp, -24)
28300 2025422 : idata = idata + 1
28301 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28302 2025422 : full_data(idata) = data_tmp
28303 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28304 2025422 : idata = idata + 1
28305 2025422 : data_tmp = ISHFT(pack_tmp, 34)
28306 2025422 : ipack = ipack + 1
28307 2025422 : pack_tmp = packed_data(ipack)
28308 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28309 2025422 : pack_tmp = ISHFT(pack_tmp, -34)
28310 2025422 : idata = idata + 1
28311 2025422 : data_tmp = ISHFT(pack_tmp, 7)
28312 2025422 : ipack = ipack + 1
28313 2025422 : pack_tmp = packed_data(ipack)
28314 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
28315 2025422 : pack_tmp = ISHFT(pack_tmp, -7)
28316 2025422 : idata = idata + 1
28317 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28318 2025422 : full_data(idata) = data_tmp
28319 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28320 2025422 : idata = idata + 1
28321 2025422 : data_tmp = ISHFT(pack_tmp, 17)
28322 2025422 : ipack = ipack + 1
28323 2025422 : pack_tmp = packed_data(ipack)
28324 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
28325 2025422 : pack_tmp = ISHFT(pack_tmp, -17)
28326 2025422 : idata = idata + 1
28327 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28328 2025422 : full_data(idata) = data_tmp
28329 2025422 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28330 2025422 : idata = idata + 1
28331 2025422 : data_tmp = ISHFT(pack_tmp, 27)
28332 2025422 : ipack = ipack + 1
28333 2025422 : pack_tmp = packed_data(ipack)
28334 2025422 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
28335 2025422 : pack_tmp = ISHFT(pack_tmp, -27)
28336 2025422 : idata = idata + 1
28337 2025422 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28338 2025422 : full_data(idata) = data_tmp
28339 2025461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28340 : END DO
28341 148846 : IF (Ndata_rep < Ndata) THEN
28342 41892 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28343 : END IF
28344 148846 : END SUBROUTINE bits2ints_37
28345 :
28346 : ! **************************************************************************************************
28347 : !> \brief ...
28348 : !> \param Ndata ...
28349 : !> \param packed_data ...
28350 : !> \param full_data ...
28351 : ! **************************************************************************************************
28352 32708 : 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 32708 : idata = 0
28363 32708 : ipack = 0
28364 32708 : Ndata_rep = (Ndata/64)*64
28365 32708 : DO kdata = 1, Ndata_rep, 64
28366 464336 : pack_tmp = 0
28367 464336 : idata = idata + 1
28368 464336 : data_tmp = full_data(idata)
28369 464336 : data_tmp = ISHFT(data_tmp, 26)
28370 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28371 464336 : pack_tmp = ISHFT(pack_tmp, -26)
28372 464336 : idata = idata + 1
28373 464336 : data_tmp = full_data(idata)
28374 464336 : data_tmp = ISHFT(data_tmp, 26)
28375 464336 : data_tmp = IAND(data_tmp, mask_left(26))
28376 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28377 464336 : ipack = ipack + 1
28378 464336 : packed_data(ipack) = pack_tmp
28379 464336 : data_tmp = full_data(idata)
28380 464336 : pack_tmp = ISHFT(data_tmp, 52)
28381 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28382 464336 : idata = idata + 1
28383 464336 : data_tmp = full_data(idata)
28384 464336 : data_tmp = ISHFT(data_tmp, 26)
28385 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28386 464336 : pack_tmp = ISHFT(pack_tmp, -14)
28387 464336 : idata = idata + 1
28388 464336 : data_tmp = full_data(idata)
28389 464336 : data_tmp = ISHFT(data_tmp, 26)
28390 464336 : data_tmp = IAND(data_tmp, mask_left(14))
28391 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28392 464336 : ipack = ipack + 1
28393 464336 : packed_data(ipack) = pack_tmp
28394 464336 : data_tmp = full_data(idata)
28395 464336 : pack_tmp = ISHFT(data_tmp, 40)
28396 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28397 464336 : idata = idata + 1
28398 464336 : data_tmp = full_data(idata)
28399 464336 : data_tmp = ISHFT(data_tmp, 26)
28400 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28401 464336 : pack_tmp = ISHFT(pack_tmp, -2)
28402 464336 : idata = idata + 1
28403 464336 : data_tmp = full_data(idata)
28404 464336 : data_tmp = ISHFT(data_tmp, 26)
28405 464336 : data_tmp = IAND(data_tmp, mask_left(2))
28406 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28407 464336 : ipack = ipack + 1
28408 464336 : packed_data(ipack) = pack_tmp
28409 464336 : data_tmp = full_data(idata)
28410 464336 : pack_tmp = ISHFT(data_tmp, 28)
28411 464336 : pack_tmp = ISHFT(pack_tmp, -28)
28412 464336 : idata = idata + 1
28413 464336 : data_tmp = full_data(idata)
28414 464336 : data_tmp = ISHFT(data_tmp, 26)
28415 464336 : data_tmp = IAND(data_tmp, mask_left(28))
28416 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28417 464336 : ipack = ipack + 1
28418 464336 : packed_data(ipack) = pack_tmp
28419 464336 : data_tmp = full_data(idata)
28420 464336 : pack_tmp = ISHFT(data_tmp, 54)
28421 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28422 464336 : idata = idata + 1
28423 464336 : data_tmp = full_data(idata)
28424 464336 : data_tmp = ISHFT(data_tmp, 26)
28425 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28426 464336 : pack_tmp = ISHFT(pack_tmp, -16)
28427 464336 : idata = idata + 1
28428 464336 : data_tmp = full_data(idata)
28429 464336 : data_tmp = ISHFT(data_tmp, 26)
28430 464336 : data_tmp = IAND(data_tmp, mask_left(16))
28431 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28432 464336 : ipack = ipack + 1
28433 464336 : packed_data(ipack) = pack_tmp
28434 464336 : data_tmp = full_data(idata)
28435 464336 : pack_tmp = ISHFT(data_tmp, 42)
28436 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28437 464336 : idata = idata + 1
28438 464336 : data_tmp = full_data(idata)
28439 464336 : data_tmp = ISHFT(data_tmp, 26)
28440 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28441 464336 : pack_tmp = ISHFT(pack_tmp, -4)
28442 464336 : idata = idata + 1
28443 464336 : data_tmp = full_data(idata)
28444 464336 : data_tmp = ISHFT(data_tmp, 26)
28445 464336 : data_tmp = IAND(data_tmp, mask_left(4))
28446 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28447 464336 : ipack = ipack + 1
28448 464336 : packed_data(ipack) = pack_tmp
28449 464336 : data_tmp = full_data(idata)
28450 464336 : pack_tmp = ISHFT(data_tmp, 30)
28451 464336 : pack_tmp = ISHFT(pack_tmp, -30)
28452 464336 : idata = idata + 1
28453 464336 : data_tmp = full_data(idata)
28454 464336 : data_tmp = ISHFT(data_tmp, 26)
28455 464336 : data_tmp = IAND(data_tmp, mask_left(30))
28456 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28457 464336 : ipack = ipack + 1
28458 464336 : packed_data(ipack) = pack_tmp
28459 464336 : data_tmp = full_data(idata)
28460 464336 : pack_tmp = ISHFT(data_tmp, 56)
28461 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28462 464336 : idata = idata + 1
28463 464336 : data_tmp = full_data(idata)
28464 464336 : data_tmp = ISHFT(data_tmp, 26)
28465 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28466 464336 : pack_tmp = ISHFT(pack_tmp, -18)
28467 464336 : idata = idata + 1
28468 464336 : data_tmp = full_data(idata)
28469 464336 : data_tmp = ISHFT(data_tmp, 26)
28470 464336 : data_tmp = IAND(data_tmp, mask_left(18))
28471 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28472 464336 : ipack = ipack + 1
28473 464336 : packed_data(ipack) = pack_tmp
28474 464336 : data_tmp = full_data(idata)
28475 464336 : pack_tmp = ISHFT(data_tmp, 44)
28476 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28477 464336 : idata = idata + 1
28478 464336 : data_tmp = full_data(idata)
28479 464336 : data_tmp = ISHFT(data_tmp, 26)
28480 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28481 464336 : pack_tmp = ISHFT(pack_tmp, -6)
28482 464336 : idata = idata + 1
28483 464336 : data_tmp = full_data(idata)
28484 464336 : data_tmp = ISHFT(data_tmp, 26)
28485 464336 : data_tmp = IAND(data_tmp, mask_left(6))
28486 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28487 464336 : ipack = ipack + 1
28488 464336 : packed_data(ipack) = pack_tmp
28489 464336 : data_tmp = full_data(idata)
28490 464336 : pack_tmp = ISHFT(data_tmp, 32)
28491 464336 : pack_tmp = ISHFT(pack_tmp, -32)
28492 464336 : idata = idata + 1
28493 464336 : data_tmp = full_data(idata)
28494 464336 : data_tmp = ISHFT(data_tmp, 26)
28495 464336 : data_tmp = IAND(data_tmp, mask_left(32))
28496 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28497 464336 : ipack = ipack + 1
28498 464336 : packed_data(ipack) = pack_tmp
28499 464336 : data_tmp = full_data(idata)
28500 464336 : pack_tmp = ISHFT(data_tmp, 58)
28501 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28502 464336 : idata = idata + 1
28503 464336 : data_tmp = full_data(idata)
28504 464336 : data_tmp = ISHFT(data_tmp, 26)
28505 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28506 464336 : pack_tmp = ISHFT(pack_tmp, -20)
28507 464336 : idata = idata + 1
28508 464336 : data_tmp = full_data(idata)
28509 464336 : data_tmp = ISHFT(data_tmp, 26)
28510 464336 : data_tmp = IAND(data_tmp, mask_left(20))
28511 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28512 464336 : ipack = ipack + 1
28513 464336 : packed_data(ipack) = pack_tmp
28514 464336 : data_tmp = full_data(idata)
28515 464336 : pack_tmp = ISHFT(data_tmp, 46)
28516 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28517 464336 : idata = idata + 1
28518 464336 : data_tmp = full_data(idata)
28519 464336 : data_tmp = ISHFT(data_tmp, 26)
28520 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28521 464336 : pack_tmp = ISHFT(pack_tmp, -8)
28522 464336 : idata = idata + 1
28523 464336 : data_tmp = full_data(idata)
28524 464336 : data_tmp = ISHFT(data_tmp, 26)
28525 464336 : data_tmp = IAND(data_tmp, mask_left(8))
28526 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28527 464336 : ipack = ipack + 1
28528 464336 : packed_data(ipack) = pack_tmp
28529 464336 : data_tmp = full_data(idata)
28530 464336 : pack_tmp = ISHFT(data_tmp, 34)
28531 464336 : pack_tmp = ISHFT(pack_tmp, -34)
28532 464336 : idata = idata + 1
28533 464336 : data_tmp = full_data(idata)
28534 464336 : data_tmp = ISHFT(data_tmp, 26)
28535 464336 : data_tmp = IAND(data_tmp, mask_left(34))
28536 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28537 464336 : ipack = ipack + 1
28538 464336 : packed_data(ipack) = pack_tmp
28539 464336 : data_tmp = full_data(idata)
28540 464336 : pack_tmp = ISHFT(data_tmp, 60)
28541 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28542 464336 : idata = idata + 1
28543 464336 : data_tmp = full_data(idata)
28544 464336 : data_tmp = ISHFT(data_tmp, 26)
28545 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28546 464336 : pack_tmp = ISHFT(pack_tmp, -22)
28547 464336 : idata = idata + 1
28548 464336 : data_tmp = full_data(idata)
28549 464336 : data_tmp = ISHFT(data_tmp, 26)
28550 464336 : data_tmp = IAND(data_tmp, mask_left(22))
28551 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28552 464336 : ipack = ipack + 1
28553 464336 : packed_data(ipack) = pack_tmp
28554 464336 : data_tmp = full_data(idata)
28555 464336 : pack_tmp = ISHFT(data_tmp, 48)
28556 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28557 464336 : idata = idata + 1
28558 464336 : data_tmp = full_data(idata)
28559 464336 : data_tmp = ISHFT(data_tmp, 26)
28560 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28561 464336 : pack_tmp = ISHFT(pack_tmp, -10)
28562 464336 : idata = idata + 1
28563 464336 : data_tmp = full_data(idata)
28564 464336 : data_tmp = ISHFT(data_tmp, 26)
28565 464336 : data_tmp = IAND(data_tmp, mask_left(10))
28566 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28567 464336 : ipack = ipack + 1
28568 464336 : packed_data(ipack) = pack_tmp
28569 464336 : data_tmp = full_data(idata)
28570 464336 : pack_tmp = ISHFT(data_tmp, 36)
28571 464336 : pack_tmp = ISHFT(pack_tmp, -36)
28572 464336 : idata = idata + 1
28573 464336 : data_tmp = full_data(idata)
28574 464336 : data_tmp = ISHFT(data_tmp, 26)
28575 464336 : data_tmp = IAND(data_tmp, mask_left(36))
28576 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28577 464336 : ipack = ipack + 1
28578 464336 : packed_data(ipack) = pack_tmp
28579 464336 : data_tmp = full_data(idata)
28580 464336 : pack_tmp = ISHFT(data_tmp, 62)
28581 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28582 464336 : idata = idata + 1
28583 464336 : data_tmp = full_data(idata)
28584 464336 : data_tmp = ISHFT(data_tmp, 26)
28585 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28586 464336 : pack_tmp = ISHFT(pack_tmp, -24)
28587 464336 : idata = idata + 1
28588 464336 : data_tmp = full_data(idata)
28589 464336 : data_tmp = ISHFT(data_tmp, 26)
28590 464336 : data_tmp = IAND(data_tmp, mask_left(24))
28591 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28592 464336 : ipack = ipack + 1
28593 464336 : packed_data(ipack) = pack_tmp
28594 464336 : data_tmp = full_data(idata)
28595 464336 : pack_tmp = ISHFT(data_tmp, 50)
28596 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28597 464336 : idata = idata + 1
28598 464336 : data_tmp = full_data(idata)
28599 464336 : data_tmp = ISHFT(data_tmp, 26)
28600 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28601 464336 : pack_tmp = ISHFT(pack_tmp, -12)
28602 464336 : idata = idata + 1
28603 464336 : data_tmp = full_data(idata)
28604 464336 : data_tmp = ISHFT(data_tmp, 26)
28605 464336 : data_tmp = IAND(data_tmp, mask_left(12))
28606 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28607 464336 : ipack = ipack + 1
28608 464336 : packed_data(ipack) = pack_tmp
28609 464336 : data_tmp = full_data(idata)
28610 464336 : pack_tmp = ISHFT(data_tmp, 38)
28611 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28612 464336 : idata = idata + 1
28613 464336 : data_tmp = full_data(idata)
28614 464336 : data_tmp = ISHFT(data_tmp, 26)
28615 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28616 464336 : pack_tmp = ISHFT(pack_tmp, 0)
28617 464336 : idata = idata + 1
28618 464336 : data_tmp = full_data(idata)
28619 : data_tmp = ISHFT(data_tmp, 26)
28620 464336 : data_tmp = IAND(data_tmp, mask_left(0))
28621 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28622 464336 : ipack = ipack + 1
28623 464336 : packed_data(ipack) = pack_tmp
28624 464336 : data_tmp = full_data(idata)
28625 464336 : pack_tmp = ISHFT(data_tmp, 26)
28626 464336 : pack_tmp = ISHFT(pack_tmp, -26)
28627 464336 : idata = idata + 1
28628 464336 : data_tmp = full_data(idata)
28629 464336 : data_tmp = ISHFT(data_tmp, 26)
28630 464336 : data_tmp = IAND(data_tmp, mask_left(26))
28631 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28632 464336 : ipack = ipack + 1
28633 464336 : packed_data(ipack) = pack_tmp
28634 464336 : data_tmp = full_data(idata)
28635 464336 : pack_tmp = ISHFT(data_tmp, 52)
28636 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28637 464336 : idata = idata + 1
28638 464336 : data_tmp = full_data(idata)
28639 464336 : data_tmp = ISHFT(data_tmp, 26)
28640 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28641 464336 : pack_tmp = ISHFT(pack_tmp, -14)
28642 464336 : idata = idata + 1
28643 464336 : data_tmp = full_data(idata)
28644 464336 : data_tmp = ISHFT(data_tmp, 26)
28645 464336 : data_tmp = IAND(data_tmp, mask_left(14))
28646 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28647 464336 : ipack = ipack + 1
28648 464336 : packed_data(ipack) = pack_tmp
28649 464336 : data_tmp = full_data(idata)
28650 464336 : pack_tmp = ISHFT(data_tmp, 40)
28651 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28652 464336 : idata = idata + 1
28653 464336 : data_tmp = full_data(idata)
28654 464336 : data_tmp = ISHFT(data_tmp, 26)
28655 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28656 464336 : pack_tmp = ISHFT(pack_tmp, -2)
28657 464336 : idata = idata + 1
28658 464336 : data_tmp = full_data(idata)
28659 464336 : data_tmp = ISHFT(data_tmp, 26)
28660 464336 : data_tmp = IAND(data_tmp, mask_left(2))
28661 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28662 464336 : ipack = ipack + 1
28663 464336 : packed_data(ipack) = pack_tmp
28664 464336 : data_tmp = full_data(idata)
28665 464336 : pack_tmp = ISHFT(data_tmp, 28)
28666 464336 : pack_tmp = ISHFT(pack_tmp, -28)
28667 464336 : idata = idata + 1
28668 464336 : data_tmp = full_data(idata)
28669 464336 : data_tmp = ISHFT(data_tmp, 26)
28670 464336 : data_tmp = IAND(data_tmp, mask_left(28))
28671 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28672 464336 : ipack = ipack + 1
28673 464336 : packed_data(ipack) = pack_tmp
28674 464336 : data_tmp = full_data(idata)
28675 464336 : pack_tmp = ISHFT(data_tmp, 54)
28676 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28677 464336 : idata = idata + 1
28678 464336 : data_tmp = full_data(idata)
28679 464336 : data_tmp = ISHFT(data_tmp, 26)
28680 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28681 464336 : pack_tmp = ISHFT(pack_tmp, -16)
28682 464336 : idata = idata + 1
28683 464336 : data_tmp = full_data(idata)
28684 464336 : data_tmp = ISHFT(data_tmp, 26)
28685 464336 : data_tmp = IAND(data_tmp, mask_left(16))
28686 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28687 464336 : ipack = ipack + 1
28688 464336 : packed_data(ipack) = pack_tmp
28689 464336 : data_tmp = full_data(idata)
28690 464336 : pack_tmp = ISHFT(data_tmp, 42)
28691 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28692 464336 : idata = idata + 1
28693 464336 : data_tmp = full_data(idata)
28694 464336 : data_tmp = ISHFT(data_tmp, 26)
28695 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28696 464336 : pack_tmp = ISHFT(pack_tmp, -4)
28697 464336 : idata = idata + 1
28698 464336 : data_tmp = full_data(idata)
28699 464336 : data_tmp = ISHFT(data_tmp, 26)
28700 464336 : data_tmp = IAND(data_tmp, mask_left(4))
28701 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28702 464336 : ipack = ipack + 1
28703 464336 : packed_data(ipack) = pack_tmp
28704 464336 : data_tmp = full_data(idata)
28705 464336 : pack_tmp = ISHFT(data_tmp, 30)
28706 464336 : pack_tmp = ISHFT(pack_tmp, -30)
28707 464336 : idata = idata + 1
28708 464336 : data_tmp = full_data(idata)
28709 464336 : data_tmp = ISHFT(data_tmp, 26)
28710 464336 : data_tmp = IAND(data_tmp, mask_left(30))
28711 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28712 464336 : ipack = ipack + 1
28713 464336 : packed_data(ipack) = pack_tmp
28714 464336 : data_tmp = full_data(idata)
28715 464336 : pack_tmp = ISHFT(data_tmp, 56)
28716 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28717 464336 : idata = idata + 1
28718 464336 : data_tmp = full_data(idata)
28719 464336 : data_tmp = ISHFT(data_tmp, 26)
28720 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28721 464336 : pack_tmp = ISHFT(pack_tmp, -18)
28722 464336 : idata = idata + 1
28723 464336 : data_tmp = full_data(idata)
28724 464336 : data_tmp = ISHFT(data_tmp, 26)
28725 464336 : data_tmp = IAND(data_tmp, mask_left(18))
28726 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28727 464336 : ipack = ipack + 1
28728 464336 : packed_data(ipack) = pack_tmp
28729 464336 : data_tmp = full_data(idata)
28730 464336 : pack_tmp = ISHFT(data_tmp, 44)
28731 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28732 464336 : idata = idata + 1
28733 464336 : data_tmp = full_data(idata)
28734 464336 : data_tmp = ISHFT(data_tmp, 26)
28735 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28736 464336 : pack_tmp = ISHFT(pack_tmp, -6)
28737 464336 : idata = idata + 1
28738 464336 : data_tmp = full_data(idata)
28739 464336 : data_tmp = ISHFT(data_tmp, 26)
28740 464336 : data_tmp = IAND(data_tmp, mask_left(6))
28741 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28742 464336 : ipack = ipack + 1
28743 464336 : packed_data(ipack) = pack_tmp
28744 464336 : data_tmp = full_data(idata)
28745 464336 : pack_tmp = ISHFT(data_tmp, 32)
28746 464336 : pack_tmp = ISHFT(pack_tmp, -32)
28747 464336 : idata = idata + 1
28748 464336 : data_tmp = full_data(idata)
28749 464336 : data_tmp = ISHFT(data_tmp, 26)
28750 464336 : data_tmp = IAND(data_tmp, mask_left(32))
28751 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28752 464336 : ipack = ipack + 1
28753 464336 : packed_data(ipack) = pack_tmp
28754 464336 : data_tmp = full_data(idata)
28755 464336 : pack_tmp = ISHFT(data_tmp, 58)
28756 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28757 464336 : idata = idata + 1
28758 464336 : data_tmp = full_data(idata)
28759 464336 : data_tmp = ISHFT(data_tmp, 26)
28760 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28761 464336 : pack_tmp = ISHFT(pack_tmp, -20)
28762 464336 : idata = idata + 1
28763 464336 : data_tmp = full_data(idata)
28764 464336 : data_tmp = ISHFT(data_tmp, 26)
28765 464336 : data_tmp = IAND(data_tmp, mask_left(20))
28766 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28767 464336 : ipack = ipack + 1
28768 464336 : packed_data(ipack) = pack_tmp
28769 464336 : data_tmp = full_data(idata)
28770 464336 : pack_tmp = ISHFT(data_tmp, 46)
28771 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28772 464336 : idata = idata + 1
28773 464336 : data_tmp = full_data(idata)
28774 464336 : data_tmp = ISHFT(data_tmp, 26)
28775 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28776 464336 : pack_tmp = ISHFT(pack_tmp, -8)
28777 464336 : idata = idata + 1
28778 464336 : data_tmp = full_data(idata)
28779 464336 : data_tmp = ISHFT(data_tmp, 26)
28780 464336 : data_tmp = IAND(data_tmp, mask_left(8))
28781 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28782 464336 : ipack = ipack + 1
28783 464336 : packed_data(ipack) = pack_tmp
28784 464336 : data_tmp = full_data(idata)
28785 464336 : pack_tmp = ISHFT(data_tmp, 34)
28786 464336 : pack_tmp = ISHFT(pack_tmp, -34)
28787 464336 : idata = idata + 1
28788 464336 : data_tmp = full_data(idata)
28789 464336 : data_tmp = ISHFT(data_tmp, 26)
28790 464336 : data_tmp = IAND(data_tmp, mask_left(34))
28791 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28792 464336 : ipack = ipack + 1
28793 464336 : packed_data(ipack) = pack_tmp
28794 464336 : data_tmp = full_data(idata)
28795 464336 : pack_tmp = ISHFT(data_tmp, 60)
28796 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28797 464336 : idata = idata + 1
28798 464336 : data_tmp = full_data(idata)
28799 464336 : data_tmp = ISHFT(data_tmp, 26)
28800 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28801 464336 : pack_tmp = ISHFT(pack_tmp, -22)
28802 464336 : idata = idata + 1
28803 464336 : data_tmp = full_data(idata)
28804 464336 : data_tmp = ISHFT(data_tmp, 26)
28805 464336 : data_tmp = IAND(data_tmp, mask_left(22))
28806 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28807 464336 : ipack = ipack + 1
28808 464336 : packed_data(ipack) = pack_tmp
28809 464336 : data_tmp = full_data(idata)
28810 464336 : pack_tmp = ISHFT(data_tmp, 48)
28811 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28812 464336 : idata = idata + 1
28813 464336 : data_tmp = full_data(idata)
28814 464336 : data_tmp = ISHFT(data_tmp, 26)
28815 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28816 464336 : pack_tmp = ISHFT(pack_tmp, -10)
28817 464336 : idata = idata + 1
28818 464336 : data_tmp = full_data(idata)
28819 464336 : data_tmp = ISHFT(data_tmp, 26)
28820 464336 : data_tmp = IAND(data_tmp, mask_left(10))
28821 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28822 464336 : ipack = ipack + 1
28823 464336 : packed_data(ipack) = pack_tmp
28824 464336 : data_tmp = full_data(idata)
28825 464336 : pack_tmp = ISHFT(data_tmp, 36)
28826 464336 : pack_tmp = ISHFT(pack_tmp, -36)
28827 464336 : idata = idata + 1
28828 464336 : data_tmp = full_data(idata)
28829 464336 : data_tmp = ISHFT(data_tmp, 26)
28830 464336 : data_tmp = IAND(data_tmp, mask_left(36))
28831 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28832 464336 : ipack = ipack + 1
28833 464336 : packed_data(ipack) = pack_tmp
28834 464336 : data_tmp = full_data(idata)
28835 464336 : pack_tmp = ISHFT(data_tmp, 62)
28836 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28837 464336 : idata = idata + 1
28838 464336 : data_tmp = full_data(idata)
28839 464336 : data_tmp = ISHFT(data_tmp, 26)
28840 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28841 464336 : pack_tmp = ISHFT(pack_tmp, -24)
28842 464336 : idata = idata + 1
28843 464336 : data_tmp = full_data(idata)
28844 464336 : data_tmp = ISHFT(data_tmp, 26)
28845 464336 : data_tmp = IAND(data_tmp, mask_left(24))
28846 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28847 464336 : ipack = ipack + 1
28848 464336 : packed_data(ipack) = pack_tmp
28849 464336 : data_tmp = full_data(idata)
28850 464336 : pack_tmp = ISHFT(data_tmp, 50)
28851 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28852 464336 : idata = idata + 1
28853 464336 : data_tmp = full_data(idata)
28854 464336 : data_tmp = ISHFT(data_tmp, 26)
28855 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28856 464336 : pack_tmp = ISHFT(pack_tmp, -12)
28857 464336 : idata = idata + 1
28858 464336 : data_tmp = full_data(idata)
28859 464336 : data_tmp = ISHFT(data_tmp, 26)
28860 464336 : data_tmp = IAND(data_tmp, mask_left(12))
28861 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28862 464336 : ipack = ipack + 1
28863 464336 : packed_data(ipack) = pack_tmp
28864 464336 : data_tmp = full_data(idata)
28865 464336 : pack_tmp = ISHFT(data_tmp, 38)
28866 464336 : pack_tmp = ISHFT(pack_tmp, -38)
28867 464336 : idata = idata + 1
28868 464336 : data_tmp = full_data(idata)
28869 464336 : data_tmp = ISHFT(data_tmp, 26)
28870 464336 : pack_tmp = IOR(pack_tmp, data_tmp)
28871 : pack_tmp = ISHFT(pack_tmp, 0)
28872 464336 : pack_tmp = ISHFT(pack_tmp, 0)
28873 464336 : ipack = ipack + 1
28874 464672 : packed_data(ipack) = pack_tmp
28875 : END DO
28876 32708 : IF (Ndata_rep < Ndata) THEN
28877 6912 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28878 : END IF
28879 32708 : END SUBROUTINE ints2bits_38
28880 :
28881 : ! **************************************************************************************************
28882 : !> \brief ...
28883 : !> \param Ndata ...
28884 : !> \param packed_data ...
28885 : !> \param full_data ...
28886 : ! **************************************************************************************************
28887 162352 : 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 162352 : ipack = 0
28898 162352 : idata = 0
28899 162352 : pack_tmp = 0
28900 162352 : Ndata_rep = (Ndata/64)*64
28901 162352 : DO kdata = 1, Ndata_rep, 64
28902 2167011 : idata = idata + 1
28903 2167011 : data_tmp = ISHFT(pack_tmp, 38)
28904 2167011 : ipack = ipack + 1
28905 2167011 : pack_tmp = packed_data(ipack)
28906 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
28907 2167011 : pack_tmp = ISHFT(pack_tmp, -38)
28908 2167011 : idata = idata + 1
28909 2167011 : data_tmp = ISHFT(pack_tmp, 12)
28910 2167011 : ipack = ipack + 1
28911 2167011 : pack_tmp = packed_data(ipack)
28912 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28913 2167011 : pack_tmp = ISHFT(pack_tmp, -12)
28914 2167011 : idata = idata + 1
28915 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28916 2167011 : full_data(idata) = data_tmp
28917 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28918 2167011 : idata = idata + 1
28919 2167011 : data_tmp = ISHFT(pack_tmp, 24)
28920 2167011 : ipack = ipack + 1
28921 2167011 : pack_tmp = packed_data(ipack)
28922 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28923 2167011 : pack_tmp = ISHFT(pack_tmp, -24)
28924 2167011 : idata = idata + 1
28925 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28926 2167011 : full_data(idata) = data_tmp
28927 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28928 2167011 : idata = idata + 1
28929 2167011 : data_tmp = ISHFT(pack_tmp, 36)
28930 2167011 : ipack = ipack + 1
28931 2167011 : pack_tmp = packed_data(ipack)
28932 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28933 2167011 : pack_tmp = ISHFT(pack_tmp, -36)
28934 2167011 : idata = idata + 1
28935 2167011 : data_tmp = ISHFT(pack_tmp, 10)
28936 2167011 : ipack = ipack + 1
28937 2167011 : pack_tmp = packed_data(ipack)
28938 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28939 2167011 : pack_tmp = ISHFT(pack_tmp, -10)
28940 2167011 : idata = idata + 1
28941 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28942 2167011 : full_data(idata) = data_tmp
28943 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28944 2167011 : idata = idata + 1
28945 2167011 : data_tmp = ISHFT(pack_tmp, 22)
28946 2167011 : ipack = ipack + 1
28947 2167011 : pack_tmp = packed_data(ipack)
28948 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28949 2167011 : pack_tmp = ISHFT(pack_tmp, -22)
28950 2167011 : idata = idata + 1
28951 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28952 2167011 : full_data(idata) = data_tmp
28953 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28954 2167011 : idata = idata + 1
28955 2167011 : data_tmp = ISHFT(pack_tmp, 34)
28956 2167011 : ipack = ipack + 1
28957 2167011 : pack_tmp = packed_data(ipack)
28958 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28959 2167011 : pack_tmp = ISHFT(pack_tmp, -34)
28960 2167011 : idata = idata + 1
28961 2167011 : data_tmp = ISHFT(pack_tmp, 8)
28962 2167011 : ipack = ipack + 1
28963 2167011 : pack_tmp = packed_data(ipack)
28964 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28965 2167011 : pack_tmp = ISHFT(pack_tmp, -8)
28966 2167011 : idata = idata + 1
28967 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28968 2167011 : full_data(idata) = data_tmp
28969 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28970 2167011 : idata = idata + 1
28971 2167011 : data_tmp = ISHFT(pack_tmp, 20)
28972 2167011 : ipack = ipack + 1
28973 2167011 : pack_tmp = packed_data(ipack)
28974 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28975 2167011 : pack_tmp = ISHFT(pack_tmp, -20)
28976 2167011 : idata = idata + 1
28977 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28978 2167011 : full_data(idata) = data_tmp
28979 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28980 2167011 : idata = idata + 1
28981 2167011 : data_tmp = ISHFT(pack_tmp, 32)
28982 2167011 : ipack = ipack + 1
28983 2167011 : pack_tmp = packed_data(ipack)
28984 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28985 2167011 : pack_tmp = ISHFT(pack_tmp, -32)
28986 2167011 : idata = idata + 1
28987 2167011 : data_tmp = ISHFT(pack_tmp, 6)
28988 2167011 : ipack = ipack + 1
28989 2167011 : pack_tmp = packed_data(ipack)
28990 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28991 2167011 : pack_tmp = ISHFT(pack_tmp, -6)
28992 2167011 : idata = idata + 1
28993 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28994 2167011 : full_data(idata) = data_tmp
28995 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28996 2167011 : idata = idata + 1
28997 2167011 : data_tmp = ISHFT(pack_tmp, 18)
28998 2167011 : ipack = ipack + 1
28999 2167011 : pack_tmp = packed_data(ipack)
29000 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29001 2167011 : pack_tmp = ISHFT(pack_tmp, -18)
29002 2167011 : idata = idata + 1
29003 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29004 2167011 : full_data(idata) = data_tmp
29005 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29006 2167011 : idata = idata + 1
29007 2167011 : data_tmp = ISHFT(pack_tmp, 30)
29008 2167011 : ipack = ipack + 1
29009 2167011 : pack_tmp = packed_data(ipack)
29010 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29011 2167011 : pack_tmp = ISHFT(pack_tmp, -30)
29012 2167011 : idata = idata + 1
29013 2167011 : data_tmp = ISHFT(pack_tmp, 4)
29014 2167011 : ipack = ipack + 1
29015 2167011 : pack_tmp = packed_data(ipack)
29016 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29017 2167011 : pack_tmp = ISHFT(pack_tmp, -4)
29018 2167011 : idata = idata + 1
29019 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29020 2167011 : full_data(idata) = data_tmp
29021 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29022 2167011 : idata = idata + 1
29023 2167011 : data_tmp = ISHFT(pack_tmp, 16)
29024 2167011 : ipack = ipack + 1
29025 2167011 : pack_tmp = packed_data(ipack)
29026 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29027 2167011 : pack_tmp = ISHFT(pack_tmp, -16)
29028 2167011 : idata = idata + 1
29029 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29030 2167011 : full_data(idata) = data_tmp
29031 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29032 2167011 : idata = idata + 1
29033 2167011 : data_tmp = ISHFT(pack_tmp, 28)
29034 2167011 : ipack = ipack + 1
29035 2167011 : pack_tmp = packed_data(ipack)
29036 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29037 2167011 : pack_tmp = ISHFT(pack_tmp, -28)
29038 2167011 : idata = idata + 1
29039 2167011 : data_tmp = ISHFT(pack_tmp, 2)
29040 2167011 : ipack = ipack + 1
29041 2167011 : pack_tmp = packed_data(ipack)
29042 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29043 2167011 : pack_tmp = ISHFT(pack_tmp, -2)
29044 2167011 : idata = idata + 1
29045 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29046 2167011 : full_data(idata) = data_tmp
29047 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29048 2167011 : idata = idata + 1
29049 2167011 : data_tmp = ISHFT(pack_tmp, 14)
29050 2167011 : ipack = ipack + 1
29051 2167011 : pack_tmp = packed_data(ipack)
29052 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29053 2167011 : pack_tmp = ISHFT(pack_tmp, -14)
29054 2167011 : idata = idata + 1
29055 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29056 2167011 : full_data(idata) = data_tmp
29057 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29058 2167011 : idata = idata + 1
29059 2167011 : data_tmp = ISHFT(pack_tmp, 26)
29060 2167011 : ipack = ipack + 1
29061 2167011 : pack_tmp = packed_data(ipack)
29062 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29063 2167011 : pack_tmp = ISHFT(pack_tmp, -26)
29064 2167011 : idata = idata + 1
29065 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29066 2167011 : full_data(idata) = data_tmp
29067 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29068 2167011 : idata = idata + 1
29069 2167011 : data_tmp = ISHFT(pack_tmp, 38)
29070 2167011 : ipack = ipack + 1
29071 2167011 : pack_tmp = packed_data(ipack)
29072 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
29073 2167011 : pack_tmp = ISHFT(pack_tmp, -38)
29074 2167011 : idata = idata + 1
29075 2167011 : data_tmp = ISHFT(pack_tmp, 12)
29076 2167011 : ipack = ipack + 1
29077 2167011 : pack_tmp = packed_data(ipack)
29078 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29079 2167011 : pack_tmp = ISHFT(pack_tmp, -12)
29080 2167011 : idata = idata + 1
29081 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29082 2167011 : full_data(idata) = data_tmp
29083 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29084 2167011 : idata = idata + 1
29085 2167011 : data_tmp = ISHFT(pack_tmp, 24)
29086 2167011 : ipack = ipack + 1
29087 2167011 : pack_tmp = packed_data(ipack)
29088 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
29089 2167011 : pack_tmp = ISHFT(pack_tmp, -24)
29090 2167011 : idata = idata + 1
29091 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29092 2167011 : full_data(idata) = data_tmp
29093 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29094 2167011 : idata = idata + 1
29095 2167011 : data_tmp = ISHFT(pack_tmp, 36)
29096 2167011 : ipack = ipack + 1
29097 2167011 : pack_tmp = packed_data(ipack)
29098 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
29099 2167011 : pack_tmp = ISHFT(pack_tmp, -36)
29100 2167011 : idata = idata + 1
29101 2167011 : data_tmp = ISHFT(pack_tmp, 10)
29102 2167011 : ipack = ipack + 1
29103 2167011 : pack_tmp = packed_data(ipack)
29104 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
29105 2167011 : pack_tmp = ISHFT(pack_tmp, -10)
29106 2167011 : idata = idata + 1
29107 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29108 2167011 : full_data(idata) = data_tmp
29109 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29110 2167011 : idata = idata + 1
29111 2167011 : data_tmp = ISHFT(pack_tmp, 22)
29112 2167011 : ipack = ipack + 1
29113 2167011 : pack_tmp = packed_data(ipack)
29114 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
29115 2167011 : pack_tmp = ISHFT(pack_tmp, -22)
29116 2167011 : idata = idata + 1
29117 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29118 2167011 : full_data(idata) = data_tmp
29119 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29120 2167011 : idata = idata + 1
29121 2167011 : data_tmp = ISHFT(pack_tmp, 34)
29122 2167011 : ipack = ipack + 1
29123 2167011 : pack_tmp = packed_data(ipack)
29124 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29125 2167011 : pack_tmp = ISHFT(pack_tmp, -34)
29126 2167011 : idata = idata + 1
29127 2167011 : data_tmp = ISHFT(pack_tmp, 8)
29128 2167011 : ipack = ipack + 1
29129 2167011 : pack_tmp = packed_data(ipack)
29130 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
29131 2167011 : pack_tmp = ISHFT(pack_tmp, -8)
29132 2167011 : idata = idata + 1
29133 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29134 2167011 : full_data(idata) = data_tmp
29135 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29136 2167011 : idata = idata + 1
29137 2167011 : data_tmp = ISHFT(pack_tmp, 20)
29138 2167011 : ipack = ipack + 1
29139 2167011 : pack_tmp = packed_data(ipack)
29140 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29141 2167011 : pack_tmp = ISHFT(pack_tmp, -20)
29142 2167011 : idata = idata + 1
29143 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29144 2167011 : full_data(idata) = data_tmp
29145 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29146 2167011 : idata = idata + 1
29147 2167011 : data_tmp = ISHFT(pack_tmp, 32)
29148 2167011 : ipack = ipack + 1
29149 2167011 : pack_tmp = packed_data(ipack)
29150 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29151 2167011 : pack_tmp = ISHFT(pack_tmp, -32)
29152 2167011 : idata = idata + 1
29153 2167011 : data_tmp = ISHFT(pack_tmp, 6)
29154 2167011 : ipack = ipack + 1
29155 2167011 : pack_tmp = packed_data(ipack)
29156 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29157 2167011 : pack_tmp = ISHFT(pack_tmp, -6)
29158 2167011 : idata = idata + 1
29159 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29160 2167011 : full_data(idata) = data_tmp
29161 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29162 2167011 : idata = idata + 1
29163 2167011 : data_tmp = ISHFT(pack_tmp, 18)
29164 2167011 : ipack = ipack + 1
29165 2167011 : pack_tmp = packed_data(ipack)
29166 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29167 2167011 : pack_tmp = ISHFT(pack_tmp, -18)
29168 2167011 : idata = idata + 1
29169 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29170 2167011 : full_data(idata) = data_tmp
29171 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29172 2167011 : idata = idata + 1
29173 2167011 : data_tmp = ISHFT(pack_tmp, 30)
29174 2167011 : ipack = ipack + 1
29175 2167011 : pack_tmp = packed_data(ipack)
29176 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29177 2167011 : pack_tmp = ISHFT(pack_tmp, -30)
29178 2167011 : idata = idata + 1
29179 2167011 : data_tmp = ISHFT(pack_tmp, 4)
29180 2167011 : ipack = ipack + 1
29181 2167011 : pack_tmp = packed_data(ipack)
29182 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29183 2167011 : pack_tmp = ISHFT(pack_tmp, -4)
29184 2167011 : idata = idata + 1
29185 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29186 2167011 : full_data(idata) = data_tmp
29187 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29188 2167011 : idata = idata + 1
29189 2167011 : data_tmp = ISHFT(pack_tmp, 16)
29190 2167011 : ipack = ipack + 1
29191 2167011 : pack_tmp = packed_data(ipack)
29192 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29193 2167011 : pack_tmp = ISHFT(pack_tmp, -16)
29194 2167011 : idata = idata + 1
29195 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29196 2167011 : full_data(idata) = data_tmp
29197 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29198 2167011 : idata = idata + 1
29199 2167011 : data_tmp = ISHFT(pack_tmp, 28)
29200 2167011 : ipack = ipack + 1
29201 2167011 : pack_tmp = packed_data(ipack)
29202 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29203 2167011 : pack_tmp = ISHFT(pack_tmp, -28)
29204 2167011 : idata = idata + 1
29205 2167011 : data_tmp = ISHFT(pack_tmp, 2)
29206 2167011 : ipack = ipack + 1
29207 2167011 : pack_tmp = packed_data(ipack)
29208 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29209 2167011 : pack_tmp = ISHFT(pack_tmp, -2)
29210 2167011 : idata = idata + 1
29211 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29212 2167011 : full_data(idata) = data_tmp
29213 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29214 2167011 : idata = idata + 1
29215 2167011 : data_tmp = ISHFT(pack_tmp, 14)
29216 2167011 : ipack = ipack + 1
29217 2167011 : pack_tmp = packed_data(ipack)
29218 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29219 2167011 : pack_tmp = ISHFT(pack_tmp, -14)
29220 2167011 : idata = idata + 1
29221 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29222 2167011 : full_data(idata) = data_tmp
29223 2167011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29224 2167011 : idata = idata + 1
29225 2167011 : data_tmp = ISHFT(pack_tmp, 26)
29226 2167011 : ipack = ipack + 1
29227 2167011 : pack_tmp = packed_data(ipack)
29228 2167011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29229 2167011 : pack_tmp = ISHFT(pack_tmp, -26)
29230 2167011 : idata = idata + 1
29231 2167011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29232 2167011 : full_data(idata) = data_tmp
29233 2169935 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29234 : END DO
29235 162352 : IF (Ndata_rep < Ndata) THEN
29236 50362 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29237 : END IF
29238 162352 : END SUBROUTINE bits2ints_38
29239 :
29240 : ! **************************************************************************************************
29241 : !> \brief ...
29242 : !> \param Ndata ...
29243 : !> \param packed_data ...
29244 : !> \param full_data ...
29245 : ! **************************************************************************************************
29246 28448 : 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 28448 : idata = 0
29257 28448 : ipack = 0
29258 28448 : Ndata_rep = (Ndata/64)*64
29259 28448 : DO kdata = 1, Ndata_rep, 64
29260 419825 : pack_tmp = 0
29261 419825 : idata = idata + 1
29262 419825 : data_tmp = full_data(idata)
29263 419825 : data_tmp = ISHFT(data_tmp, 25)
29264 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29265 419825 : pack_tmp = ISHFT(pack_tmp, -25)
29266 419825 : idata = idata + 1
29267 419825 : data_tmp = full_data(idata)
29268 419825 : data_tmp = ISHFT(data_tmp, 25)
29269 419825 : data_tmp = IAND(data_tmp, mask_left(25))
29270 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29271 419825 : ipack = ipack + 1
29272 419825 : packed_data(ipack) = pack_tmp
29273 419825 : data_tmp = full_data(idata)
29274 419825 : pack_tmp = ISHFT(data_tmp, 50)
29275 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29276 419825 : idata = idata + 1
29277 419825 : data_tmp = full_data(idata)
29278 419825 : data_tmp = ISHFT(data_tmp, 25)
29279 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29280 419825 : pack_tmp = ISHFT(pack_tmp, -11)
29281 419825 : idata = idata + 1
29282 419825 : data_tmp = full_data(idata)
29283 419825 : data_tmp = ISHFT(data_tmp, 25)
29284 419825 : data_tmp = IAND(data_tmp, mask_left(11))
29285 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29286 419825 : ipack = ipack + 1
29287 419825 : packed_data(ipack) = pack_tmp
29288 419825 : data_tmp = full_data(idata)
29289 419825 : pack_tmp = ISHFT(data_tmp, 36)
29290 419825 : pack_tmp = ISHFT(pack_tmp, -36)
29291 419825 : idata = idata + 1
29292 419825 : data_tmp = full_data(idata)
29293 419825 : data_tmp = ISHFT(data_tmp, 25)
29294 419825 : data_tmp = IAND(data_tmp, mask_left(36))
29295 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29296 419825 : ipack = ipack + 1
29297 419825 : packed_data(ipack) = pack_tmp
29298 419825 : data_tmp = full_data(idata)
29299 419825 : pack_tmp = ISHFT(data_tmp, 61)
29300 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29301 419825 : idata = idata + 1
29302 419825 : data_tmp = full_data(idata)
29303 419825 : data_tmp = ISHFT(data_tmp, 25)
29304 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29305 419825 : pack_tmp = ISHFT(pack_tmp, -22)
29306 419825 : idata = idata + 1
29307 419825 : data_tmp = full_data(idata)
29308 419825 : data_tmp = ISHFT(data_tmp, 25)
29309 419825 : data_tmp = IAND(data_tmp, mask_left(22))
29310 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29311 419825 : ipack = ipack + 1
29312 419825 : packed_data(ipack) = pack_tmp
29313 419825 : data_tmp = full_data(idata)
29314 419825 : pack_tmp = ISHFT(data_tmp, 47)
29315 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29316 419825 : idata = idata + 1
29317 419825 : data_tmp = full_data(idata)
29318 419825 : data_tmp = ISHFT(data_tmp, 25)
29319 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29320 419825 : pack_tmp = ISHFT(pack_tmp, -8)
29321 419825 : idata = idata + 1
29322 419825 : data_tmp = full_data(idata)
29323 419825 : data_tmp = ISHFT(data_tmp, 25)
29324 419825 : data_tmp = IAND(data_tmp, mask_left(8))
29325 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29326 419825 : ipack = ipack + 1
29327 419825 : packed_data(ipack) = pack_tmp
29328 419825 : data_tmp = full_data(idata)
29329 419825 : pack_tmp = ISHFT(data_tmp, 33)
29330 419825 : pack_tmp = ISHFT(pack_tmp, -33)
29331 419825 : idata = idata + 1
29332 419825 : data_tmp = full_data(idata)
29333 419825 : data_tmp = ISHFT(data_tmp, 25)
29334 419825 : data_tmp = IAND(data_tmp, mask_left(33))
29335 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29336 419825 : ipack = ipack + 1
29337 419825 : packed_data(ipack) = pack_tmp
29338 419825 : data_tmp = full_data(idata)
29339 419825 : pack_tmp = ISHFT(data_tmp, 58)
29340 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29341 419825 : idata = idata + 1
29342 419825 : data_tmp = full_data(idata)
29343 419825 : data_tmp = ISHFT(data_tmp, 25)
29344 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29345 419825 : pack_tmp = ISHFT(pack_tmp, -19)
29346 419825 : idata = idata + 1
29347 419825 : data_tmp = full_data(idata)
29348 419825 : data_tmp = ISHFT(data_tmp, 25)
29349 419825 : data_tmp = IAND(data_tmp, mask_left(19))
29350 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29351 419825 : ipack = ipack + 1
29352 419825 : packed_data(ipack) = pack_tmp
29353 419825 : data_tmp = full_data(idata)
29354 419825 : pack_tmp = ISHFT(data_tmp, 44)
29355 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29356 419825 : idata = idata + 1
29357 419825 : data_tmp = full_data(idata)
29358 419825 : data_tmp = ISHFT(data_tmp, 25)
29359 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29360 419825 : pack_tmp = ISHFT(pack_tmp, -5)
29361 419825 : idata = idata + 1
29362 419825 : data_tmp = full_data(idata)
29363 419825 : data_tmp = ISHFT(data_tmp, 25)
29364 419825 : data_tmp = IAND(data_tmp, mask_left(5))
29365 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29366 419825 : ipack = ipack + 1
29367 419825 : packed_data(ipack) = pack_tmp
29368 419825 : data_tmp = full_data(idata)
29369 419825 : pack_tmp = ISHFT(data_tmp, 30)
29370 419825 : pack_tmp = ISHFT(pack_tmp, -30)
29371 419825 : idata = idata + 1
29372 419825 : data_tmp = full_data(idata)
29373 419825 : data_tmp = ISHFT(data_tmp, 25)
29374 419825 : data_tmp = IAND(data_tmp, mask_left(30))
29375 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29376 419825 : ipack = ipack + 1
29377 419825 : packed_data(ipack) = pack_tmp
29378 419825 : data_tmp = full_data(idata)
29379 419825 : pack_tmp = ISHFT(data_tmp, 55)
29380 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29381 419825 : idata = idata + 1
29382 419825 : data_tmp = full_data(idata)
29383 419825 : data_tmp = ISHFT(data_tmp, 25)
29384 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29385 419825 : pack_tmp = ISHFT(pack_tmp, -16)
29386 419825 : idata = idata + 1
29387 419825 : data_tmp = full_data(idata)
29388 419825 : data_tmp = ISHFT(data_tmp, 25)
29389 419825 : data_tmp = IAND(data_tmp, mask_left(16))
29390 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29391 419825 : ipack = ipack + 1
29392 419825 : packed_data(ipack) = pack_tmp
29393 419825 : data_tmp = full_data(idata)
29394 419825 : pack_tmp = ISHFT(data_tmp, 41)
29395 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29396 419825 : idata = idata + 1
29397 419825 : data_tmp = full_data(idata)
29398 419825 : data_tmp = ISHFT(data_tmp, 25)
29399 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29400 419825 : pack_tmp = ISHFT(pack_tmp, -2)
29401 419825 : idata = idata + 1
29402 419825 : data_tmp = full_data(idata)
29403 419825 : data_tmp = ISHFT(data_tmp, 25)
29404 419825 : data_tmp = IAND(data_tmp, mask_left(2))
29405 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29406 419825 : ipack = ipack + 1
29407 419825 : packed_data(ipack) = pack_tmp
29408 419825 : data_tmp = full_data(idata)
29409 419825 : pack_tmp = ISHFT(data_tmp, 27)
29410 419825 : pack_tmp = ISHFT(pack_tmp, -27)
29411 419825 : idata = idata + 1
29412 419825 : data_tmp = full_data(idata)
29413 419825 : data_tmp = ISHFT(data_tmp, 25)
29414 419825 : data_tmp = IAND(data_tmp, mask_left(27))
29415 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29416 419825 : ipack = ipack + 1
29417 419825 : packed_data(ipack) = pack_tmp
29418 419825 : data_tmp = full_data(idata)
29419 419825 : pack_tmp = ISHFT(data_tmp, 52)
29420 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29421 419825 : idata = idata + 1
29422 419825 : data_tmp = full_data(idata)
29423 419825 : data_tmp = ISHFT(data_tmp, 25)
29424 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29425 419825 : pack_tmp = ISHFT(pack_tmp, -13)
29426 419825 : idata = idata + 1
29427 419825 : data_tmp = full_data(idata)
29428 419825 : data_tmp = ISHFT(data_tmp, 25)
29429 419825 : data_tmp = IAND(data_tmp, mask_left(13))
29430 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29431 419825 : ipack = ipack + 1
29432 419825 : packed_data(ipack) = pack_tmp
29433 419825 : data_tmp = full_data(idata)
29434 419825 : pack_tmp = ISHFT(data_tmp, 38)
29435 419825 : pack_tmp = ISHFT(pack_tmp, -38)
29436 419825 : idata = idata + 1
29437 419825 : data_tmp = full_data(idata)
29438 419825 : data_tmp = ISHFT(data_tmp, 25)
29439 419825 : data_tmp = IAND(data_tmp, mask_left(38))
29440 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29441 419825 : ipack = ipack + 1
29442 419825 : packed_data(ipack) = pack_tmp
29443 419825 : data_tmp = full_data(idata)
29444 419825 : pack_tmp = ISHFT(data_tmp, 63)
29445 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29446 419825 : idata = idata + 1
29447 419825 : data_tmp = full_data(idata)
29448 419825 : data_tmp = ISHFT(data_tmp, 25)
29449 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29450 419825 : pack_tmp = ISHFT(pack_tmp, -24)
29451 419825 : idata = idata + 1
29452 419825 : data_tmp = full_data(idata)
29453 419825 : data_tmp = ISHFT(data_tmp, 25)
29454 419825 : data_tmp = IAND(data_tmp, mask_left(24))
29455 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29456 419825 : ipack = ipack + 1
29457 419825 : packed_data(ipack) = pack_tmp
29458 419825 : data_tmp = full_data(idata)
29459 419825 : pack_tmp = ISHFT(data_tmp, 49)
29460 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29461 419825 : idata = idata + 1
29462 419825 : data_tmp = full_data(idata)
29463 419825 : data_tmp = ISHFT(data_tmp, 25)
29464 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29465 419825 : pack_tmp = ISHFT(pack_tmp, -10)
29466 419825 : idata = idata + 1
29467 419825 : data_tmp = full_data(idata)
29468 419825 : data_tmp = ISHFT(data_tmp, 25)
29469 419825 : data_tmp = IAND(data_tmp, mask_left(10))
29470 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29471 419825 : ipack = ipack + 1
29472 419825 : packed_data(ipack) = pack_tmp
29473 419825 : data_tmp = full_data(idata)
29474 419825 : pack_tmp = ISHFT(data_tmp, 35)
29475 419825 : pack_tmp = ISHFT(pack_tmp, -35)
29476 419825 : idata = idata + 1
29477 419825 : data_tmp = full_data(idata)
29478 419825 : data_tmp = ISHFT(data_tmp, 25)
29479 419825 : data_tmp = IAND(data_tmp, mask_left(35))
29480 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29481 419825 : ipack = ipack + 1
29482 419825 : packed_data(ipack) = pack_tmp
29483 419825 : data_tmp = full_data(idata)
29484 419825 : pack_tmp = ISHFT(data_tmp, 60)
29485 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29486 419825 : idata = idata + 1
29487 419825 : data_tmp = full_data(idata)
29488 419825 : data_tmp = ISHFT(data_tmp, 25)
29489 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29490 419825 : pack_tmp = ISHFT(pack_tmp, -21)
29491 419825 : idata = idata + 1
29492 419825 : data_tmp = full_data(idata)
29493 419825 : data_tmp = ISHFT(data_tmp, 25)
29494 419825 : data_tmp = IAND(data_tmp, mask_left(21))
29495 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29496 419825 : ipack = ipack + 1
29497 419825 : packed_data(ipack) = pack_tmp
29498 419825 : data_tmp = full_data(idata)
29499 419825 : pack_tmp = ISHFT(data_tmp, 46)
29500 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29501 419825 : idata = idata + 1
29502 419825 : data_tmp = full_data(idata)
29503 419825 : data_tmp = ISHFT(data_tmp, 25)
29504 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29505 419825 : pack_tmp = ISHFT(pack_tmp, -7)
29506 419825 : idata = idata + 1
29507 419825 : data_tmp = full_data(idata)
29508 419825 : data_tmp = ISHFT(data_tmp, 25)
29509 419825 : data_tmp = IAND(data_tmp, mask_left(7))
29510 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29511 419825 : ipack = ipack + 1
29512 419825 : packed_data(ipack) = pack_tmp
29513 419825 : data_tmp = full_data(idata)
29514 419825 : pack_tmp = ISHFT(data_tmp, 32)
29515 419825 : pack_tmp = ISHFT(pack_tmp, -32)
29516 419825 : idata = idata + 1
29517 419825 : data_tmp = full_data(idata)
29518 419825 : data_tmp = ISHFT(data_tmp, 25)
29519 419825 : data_tmp = IAND(data_tmp, mask_left(32))
29520 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29521 419825 : ipack = ipack + 1
29522 419825 : packed_data(ipack) = pack_tmp
29523 419825 : data_tmp = full_data(idata)
29524 419825 : pack_tmp = ISHFT(data_tmp, 57)
29525 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29526 419825 : idata = idata + 1
29527 419825 : data_tmp = full_data(idata)
29528 419825 : data_tmp = ISHFT(data_tmp, 25)
29529 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29530 419825 : pack_tmp = ISHFT(pack_tmp, -18)
29531 419825 : idata = idata + 1
29532 419825 : data_tmp = full_data(idata)
29533 419825 : data_tmp = ISHFT(data_tmp, 25)
29534 419825 : data_tmp = IAND(data_tmp, mask_left(18))
29535 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29536 419825 : ipack = ipack + 1
29537 419825 : packed_data(ipack) = pack_tmp
29538 419825 : data_tmp = full_data(idata)
29539 419825 : pack_tmp = ISHFT(data_tmp, 43)
29540 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29541 419825 : idata = idata + 1
29542 419825 : data_tmp = full_data(idata)
29543 419825 : data_tmp = ISHFT(data_tmp, 25)
29544 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29545 419825 : pack_tmp = ISHFT(pack_tmp, -4)
29546 419825 : idata = idata + 1
29547 419825 : data_tmp = full_data(idata)
29548 419825 : data_tmp = ISHFT(data_tmp, 25)
29549 419825 : data_tmp = IAND(data_tmp, mask_left(4))
29550 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29551 419825 : ipack = ipack + 1
29552 419825 : packed_data(ipack) = pack_tmp
29553 419825 : data_tmp = full_data(idata)
29554 419825 : pack_tmp = ISHFT(data_tmp, 29)
29555 419825 : pack_tmp = ISHFT(pack_tmp, -29)
29556 419825 : idata = idata + 1
29557 419825 : data_tmp = full_data(idata)
29558 419825 : data_tmp = ISHFT(data_tmp, 25)
29559 419825 : data_tmp = IAND(data_tmp, mask_left(29))
29560 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29561 419825 : ipack = ipack + 1
29562 419825 : packed_data(ipack) = pack_tmp
29563 419825 : data_tmp = full_data(idata)
29564 419825 : pack_tmp = ISHFT(data_tmp, 54)
29565 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29566 419825 : idata = idata + 1
29567 419825 : data_tmp = full_data(idata)
29568 419825 : data_tmp = ISHFT(data_tmp, 25)
29569 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29570 419825 : pack_tmp = ISHFT(pack_tmp, -15)
29571 419825 : idata = idata + 1
29572 419825 : data_tmp = full_data(idata)
29573 419825 : data_tmp = ISHFT(data_tmp, 25)
29574 419825 : data_tmp = IAND(data_tmp, mask_left(15))
29575 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29576 419825 : ipack = ipack + 1
29577 419825 : packed_data(ipack) = pack_tmp
29578 419825 : data_tmp = full_data(idata)
29579 419825 : pack_tmp = ISHFT(data_tmp, 40)
29580 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29581 419825 : idata = idata + 1
29582 419825 : data_tmp = full_data(idata)
29583 419825 : data_tmp = ISHFT(data_tmp, 25)
29584 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29585 419825 : pack_tmp = ISHFT(pack_tmp, -1)
29586 419825 : idata = idata + 1
29587 419825 : data_tmp = full_data(idata)
29588 419825 : data_tmp = ISHFT(data_tmp, 25)
29589 419825 : data_tmp = IAND(data_tmp, mask_left(1))
29590 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29591 419825 : ipack = ipack + 1
29592 419825 : packed_data(ipack) = pack_tmp
29593 419825 : data_tmp = full_data(idata)
29594 419825 : pack_tmp = ISHFT(data_tmp, 26)
29595 419825 : pack_tmp = ISHFT(pack_tmp, -26)
29596 419825 : idata = idata + 1
29597 419825 : data_tmp = full_data(idata)
29598 419825 : data_tmp = ISHFT(data_tmp, 25)
29599 419825 : data_tmp = IAND(data_tmp, mask_left(26))
29600 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29601 419825 : ipack = ipack + 1
29602 419825 : packed_data(ipack) = pack_tmp
29603 419825 : data_tmp = full_data(idata)
29604 419825 : pack_tmp = ISHFT(data_tmp, 51)
29605 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29606 419825 : idata = idata + 1
29607 419825 : data_tmp = full_data(idata)
29608 419825 : data_tmp = ISHFT(data_tmp, 25)
29609 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29610 419825 : pack_tmp = ISHFT(pack_tmp, -12)
29611 419825 : idata = idata + 1
29612 419825 : data_tmp = full_data(idata)
29613 419825 : data_tmp = ISHFT(data_tmp, 25)
29614 419825 : data_tmp = IAND(data_tmp, mask_left(12))
29615 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29616 419825 : ipack = ipack + 1
29617 419825 : packed_data(ipack) = pack_tmp
29618 419825 : data_tmp = full_data(idata)
29619 419825 : pack_tmp = ISHFT(data_tmp, 37)
29620 419825 : pack_tmp = ISHFT(pack_tmp, -37)
29621 419825 : idata = idata + 1
29622 419825 : data_tmp = full_data(idata)
29623 419825 : data_tmp = ISHFT(data_tmp, 25)
29624 419825 : data_tmp = IAND(data_tmp, mask_left(37))
29625 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29626 419825 : ipack = ipack + 1
29627 419825 : packed_data(ipack) = pack_tmp
29628 419825 : data_tmp = full_data(idata)
29629 419825 : pack_tmp = ISHFT(data_tmp, 62)
29630 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29631 419825 : idata = idata + 1
29632 419825 : data_tmp = full_data(idata)
29633 419825 : data_tmp = ISHFT(data_tmp, 25)
29634 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29635 419825 : pack_tmp = ISHFT(pack_tmp, -23)
29636 419825 : idata = idata + 1
29637 419825 : data_tmp = full_data(idata)
29638 419825 : data_tmp = ISHFT(data_tmp, 25)
29639 419825 : data_tmp = IAND(data_tmp, mask_left(23))
29640 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29641 419825 : ipack = ipack + 1
29642 419825 : packed_data(ipack) = pack_tmp
29643 419825 : data_tmp = full_data(idata)
29644 419825 : pack_tmp = ISHFT(data_tmp, 48)
29645 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29646 419825 : idata = idata + 1
29647 419825 : data_tmp = full_data(idata)
29648 419825 : data_tmp = ISHFT(data_tmp, 25)
29649 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29650 419825 : pack_tmp = ISHFT(pack_tmp, -9)
29651 419825 : idata = idata + 1
29652 419825 : data_tmp = full_data(idata)
29653 419825 : data_tmp = ISHFT(data_tmp, 25)
29654 419825 : data_tmp = IAND(data_tmp, mask_left(9))
29655 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29656 419825 : ipack = ipack + 1
29657 419825 : packed_data(ipack) = pack_tmp
29658 419825 : data_tmp = full_data(idata)
29659 419825 : pack_tmp = ISHFT(data_tmp, 34)
29660 419825 : pack_tmp = ISHFT(pack_tmp, -34)
29661 419825 : idata = idata + 1
29662 419825 : data_tmp = full_data(idata)
29663 419825 : data_tmp = ISHFT(data_tmp, 25)
29664 419825 : data_tmp = IAND(data_tmp, mask_left(34))
29665 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29666 419825 : ipack = ipack + 1
29667 419825 : packed_data(ipack) = pack_tmp
29668 419825 : data_tmp = full_data(idata)
29669 419825 : pack_tmp = ISHFT(data_tmp, 59)
29670 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29671 419825 : idata = idata + 1
29672 419825 : data_tmp = full_data(idata)
29673 419825 : data_tmp = ISHFT(data_tmp, 25)
29674 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29675 419825 : pack_tmp = ISHFT(pack_tmp, -20)
29676 419825 : idata = idata + 1
29677 419825 : data_tmp = full_data(idata)
29678 419825 : data_tmp = ISHFT(data_tmp, 25)
29679 419825 : data_tmp = IAND(data_tmp, mask_left(20))
29680 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29681 419825 : ipack = ipack + 1
29682 419825 : packed_data(ipack) = pack_tmp
29683 419825 : data_tmp = full_data(idata)
29684 419825 : pack_tmp = ISHFT(data_tmp, 45)
29685 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29686 419825 : idata = idata + 1
29687 419825 : data_tmp = full_data(idata)
29688 419825 : data_tmp = ISHFT(data_tmp, 25)
29689 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29690 419825 : pack_tmp = ISHFT(pack_tmp, -6)
29691 419825 : idata = idata + 1
29692 419825 : data_tmp = full_data(idata)
29693 419825 : data_tmp = ISHFT(data_tmp, 25)
29694 419825 : data_tmp = IAND(data_tmp, mask_left(6))
29695 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29696 419825 : ipack = ipack + 1
29697 419825 : packed_data(ipack) = pack_tmp
29698 419825 : data_tmp = full_data(idata)
29699 419825 : pack_tmp = ISHFT(data_tmp, 31)
29700 419825 : pack_tmp = ISHFT(pack_tmp, -31)
29701 419825 : idata = idata + 1
29702 419825 : data_tmp = full_data(idata)
29703 419825 : data_tmp = ISHFT(data_tmp, 25)
29704 419825 : data_tmp = IAND(data_tmp, mask_left(31))
29705 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29706 419825 : ipack = ipack + 1
29707 419825 : packed_data(ipack) = pack_tmp
29708 419825 : data_tmp = full_data(idata)
29709 419825 : pack_tmp = ISHFT(data_tmp, 56)
29710 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29711 419825 : idata = idata + 1
29712 419825 : data_tmp = full_data(idata)
29713 419825 : data_tmp = ISHFT(data_tmp, 25)
29714 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29715 419825 : pack_tmp = ISHFT(pack_tmp, -17)
29716 419825 : idata = idata + 1
29717 419825 : data_tmp = full_data(idata)
29718 419825 : data_tmp = ISHFT(data_tmp, 25)
29719 419825 : data_tmp = IAND(data_tmp, mask_left(17))
29720 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29721 419825 : ipack = ipack + 1
29722 419825 : packed_data(ipack) = pack_tmp
29723 419825 : data_tmp = full_data(idata)
29724 419825 : pack_tmp = ISHFT(data_tmp, 42)
29725 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29726 419825 : idata = idata + 1
29727 419825 : data_tmp = full_data(idata)
29728 419825 : data_tmp = ISHFT(data_tmp, 25)
29729 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29730 419825 : pack_tmp = ISHFT(pack_tmp, -3)
29731 419825 : idata = idata + 1
29732 419825 : data_tmp = full_data(idata)
29733 419825 : data_tmp = ISHFT(data_tmp, 25)
29734 419825 : data_tmp = IAND(data_tmp, mask_left(3))
29735 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29736 419825 : ipack = ipack + 1
29737 419825 : packed_data(ipack) = pack_tmp
29738 419825 : data_tmp = full_data(idata)
29739 419825 : pack_tmp = ISHFT(data_tmp, 28)
29740 419825 : pack_tmp = ISHFT(pack_tmp, -28)
29741 419825 : idata = idata + 1
29742 419825 : data_tmp = full_data(idata)
29743 419825 : data_tmp = ISHFT(data_tmp, 25)
29744 419825 : data_tmp = IAND(data_tmp, mask_left(28))
29745 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29746 419825 : ipack = ipack + 1
29747 419825 : packed_data(ipack) = pack_tmp
29748 419825 : data_tmp = full_data(idata)
29749 419825 : pack_tmp = ISHFT(data_tmp, 53)
29750 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29751 419825 : idata = idata + 1
29752 419825 : data_tmp = full_data(idata)
29753 419825 : data_tmp = ISHFT(data_tmp, 25)
29754 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29755 419825 : pack_tmp = ISHFT(pack_tmp, -14)
29756 419825 : idata = idata + 1
29757 419825 : data_tmp = full_data(idata)
29758 419825 : data_tmp = ISHFT(data_tmp, 25)
29759 419825 : data_tmp = IAND(data_tmp, mask_left(14))
29760 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29761 419825 : ipack = ipack + 1
29762 419825 : packed_data(ipack) = pack_tmp
29763 419825 : data_tmp = full_data(idata)
29764 419825 : pack_tmp = ISHFT(data_tmp, 39)
29765 419825 : pack_tmp = ISHFT(pack_tmp, -39)
29766 419825 : idata = idata + 1
29767 419825 : data_tmp = full_data(idata)
29768 419825 : data_tmp = ISHFT(data_tmp, 25)
29769 419825 : pack_tmp = IOR(pack_tmp, data_tmp)
29770 : pack_tmp = ISHFT(pack_tmp, 0)
29771 419825 : pack_tmp = ISHFT(pack_tmp, 0)
29772 419825 : ipack = ipack + 1
29773 419825 : packed_data(ipack) = pack_tmp
29774 : END DO
29775 28448 : IF (Ndata_rep < Ndata) THEN
29776 4158 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29777 : END IF
29778 28448 : END SUBROUTINE ints2bits_39
29779 :
29780 : ! **************************************************************************************************
29781 : !> \brief ...
29782 : !> \param Ndata ...
29783 : !> \param packed_data ...
29784 : !> \param full_data ...
29785 : ! **************************************************************************************************
29786 125761 : 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 125761 : ipack = 0
29797 125761 : idata = 0
29798 125761 : pack_tmp = 0
29799 125761 : Ndata_rep = (Ndata/64)*64
29800 125761 : DO kdata = 1, Ndata_rep, 64
29801 1795290 : idata = idata + 1
29802 1795290 : data_tmp = ISHFT(pack_tmp, 39)
29803 1795290 : ipack = ipack + 1
29804 1795290 : pack_tmp = packed_data(ipack)
29805 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
29806 1795290 : pack_tmp = ISHFT(pack_tmp, -39)
29807 1795290 : idata = idata + 1
29808 1795290 : data_tmp = ISHFT(pack_tmp, 14)
29809 1795290 : ipack = ipack + 1
29810 1795290 : pack_tmp = packed_data(ipack)
29811 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29812 1795290 : pack_tmp = ISHFT(pack_tmp, -14)
29813 1795290 : idata = idata + 1
29814 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29815 1795290 : full_data(idata) = data_tmp
29816 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29817 1795290 : idata = idata + 1
29818 1795290 : data_tmp = ISHFT(pack_tmp, 28)
29819 1795290 : ipack = ipack + 1
29820 1795290 : pack_tmp = packed_data(ipack)
29821 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29822 1795290 : pack_tmp = ISHFT(pack_tmp, -28)
29823 1795290 : idata = idata + 1
29824 1795290 : data_tmp = ISHFT(pack_tmp, 3)
29825 1795290 : ipack = ipack + 1
29826 1795290 : pack_tmp = packed_data(ipack)
29827 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
29828 1795290 : pack_tmp = ISHFT(pack_tmp, -3)
29829 1795290 : idata = idata + 1
29830 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29831 1795290 : full_data(idata) = data_tmp
29832 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29833 1795290 : idata = idata + 1
29834 1795290 : data_tmp = ISHFT(pack_tmp, 17)
29835 1795290 : ipack = ipack + 1
29836 1795290 : pack_tmp = packed_data(ipack)
29837 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
29838 1795290 : pack_tmp = ISHFT(pack_tmp, -17)
29839 1795290 : idata = idata + 1
29840 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29841 1795290 : full_data(idata) = data_tmp
29842 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29843 1795290 : idata = idata + 1
29844 1795290 : data_tmp = ISHFT(pack_tmp, 31)
29845 1795290 : ipack = ipack + 1
29846 1795290 : pack_tmp = packed_data(ipack)
29847 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
29848 1795290 : pack_tmp = ISHFT(pack_tmp, -31)
29849 1795290 : idata = idata + 1
29850 1795290 : data_tmp = ISHFT(pack_tmp, 6)
29851 1795290 : ipack = ipack + 1
29852 1795290 : pack_tmp = packed_data(ipack)
29853 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29854 1795290 : pack_tmp = ISHFT(pack_tmp, -6)
29855 1795290 : idata = idata + 1
29856 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29857 1795290 : full_data(idata) = data_tmp
29858 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29859 1795290 : idata = idata + 1
29860 1795290 : data_tmp = ISHFT(pack_tmp, 20)
29861 1795290 : ipack = ipack + 1
29862 1795290 : pack_tmp = packed_data(ipack)
29863 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29864 1795290 : pack_tmp = ISHFT(pack_tmp, -20)
29865 1795290 : idata = idata + 1
29866 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29867 1795290 : full_data(idata) = data_tmp
29868 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29869 1795290 : idata = idata + 1
29870 1795290 : data_tmp = ISHFT(pack_tmp, 34)
29871 1795290 : ipack = ipack + 1
29872 1795290 : pack_tmp = packed_data(ipack)
29873 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29874 1795290 : pack_tmp = ISHFT(pack_tmp, -34)
29875 1795290 : idata = idata + 1
29876 1795290 : data_tmp = ISHFT(pack_tmp, 9)
29877 1795290 : ipack = ipack + 1
29878 1795290 : pack_tmp = packed_data(ipack)
29879 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
29880 1795290 : pack_tmp = ISHFT(pack_tmp, -9)
29881 1795290 : idata = idata + 1
29882 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29883 1795290 : full_data(idata) = data_tmp
29884 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29885 1795290 : idata = idata + 1
29886 1795290 : data_tmp = ISHFT(pack_tmp, 23)
29887 1795290 : ipack = ipack + 1
29888 1795290 : pack_tmp = packed_data(ipack)
29889 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
29890 1795290 : pack_tmp = ISHFT(pack_tmp, -23)
29891 1795290 : idata = idata + 1
29892 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29893 1795290 : full_data(idata) = data_tmp
29894 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29895 1795290 : idata = idata + 1
29896 1795290 : data_tmp = ISHFT(pack_tmp, 37)
29897 1795290 : ipack = ipack + 1
29898 1795290 : pack_tmp = packed_data(ipack)
29899 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
29900 1795290 : pack_tmp = ISHFT(pack_tmp, -37)
29901 1795290 : idata = idata + 1
29902 1795290 : data_tmp = ISHFT(pack_tmp, 12)
29903 1795290 : ipack = ipack + 1
29904 1795290 : pack_tmp = packed_data(ipack)
29905 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29906 1795290 : pack_tmp = ISHFT(pack_tmp, -12)
29907 1795290 : idata = idata + 1
29908 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29909 1795290 : full_data(idata) = data_tmp
29910 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29911 1795290 : idata = idata + 1
29912 1795290 : data_tmp = ISHFT(pack_tmp, 26)
29913 1795290 : ipack = ipack + 1
29914 1795290 : pack_tmp = packed_data(ipack)
29915 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29916 1795290 : pack_tmp = ISHFT(pack_tmp, -26)
29917 1795290 : idata = idata + 1
29918 1795290 : data_tmp = ISHFT(pack_tmp, 1)
29919 1795290 : ipack = ipack + 1
29920 1795290 : pack_tmp = packed_data(ipack)
29921 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
29922 1795290 : pack_tmp = ISHFT(pack_tmp, -1)
29923 1795290 : idata = idata + 1
29924 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29925 1795290 : full_data(idata) = data_tmp
29926 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29927 1795290 : idata = idata + 1
29928 1795290 : data_tmp = ISHFT(pack_tmp, 15)
29929 1795290 : ipack = ipack + 1
29930 1795290 : pack_tmp = packed_data(ipack)
29931 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
29932 1795290 : pack_tmp = ISHFT(pack_tmp, -15)
29933 1795290 : idata = idata + 1
29934 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29935 1795290 : full_data(idata) = data_tmp
29936 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29937 1795290 : idata = idata + 1
29938 1795290 : data_tmp = ISHFT(pack_tmp, 29)
29939 1795290 : ipack = ipack + 1
29940 1795290 : pack_tmp = packed_data(ipack)
29941 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
29942 1795290 : pack_tmp = ISHFT(pack_tmp, -29)
29943 1795290 : idata = idata + 1
29944 1795290 : data_tmp = ISHFT(pack_tmp, 4)
29945 1795290 : ipack = ipack + 1
29946 1795290 : pack_tmp = packed_data(ipack)
29947 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29948 1795290 : pack_tmp = ISHFT(pack_tmp, -4)
29949 1795290 : idata = idata + 1
29950 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29951 1795290 : full_data(idata) = data_tmp
29952 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29953 1795290 : idata = idata + 1
29954 1795290 : data_tmp = ISHFT(pack_tmp, 18)
29955 1795290 : ipack = ipack + 1
29956 1795290 : pack_tmp = packed_data(ipack)
29957 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29958 1795290 : pack_tmp = ISHFT(pack_tmp, -18)
29959 1795290 : idata = idata + 1
29960 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29961 1795290 : full_data(idata) = data_tmp
29962 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29963 1795290 : idata = idata + 1
29964 1795290 : data_tmp = ISHFT(pack_tmp, 32)
29965 1795290 : ipack = ipack + 1
29966 1795290 : pack_tmp = packed_data(ipack)
29967 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29968 1795290 : pack_tmp = ISHFT(pack_tmp, -32)
29969 1795290 : idata = idata + 1
29970 1795290 : data_tmp = ISHFT(pack_tmp, 7)
29971 1795290 : ipack = ipack + 1
29972 1795290 : pack_tmp = packed_data(ipack)
29973 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
29974 1795290 : pack_tmp = ISHFT(pack_tmp, -7)
29975 1795290 : idata = idata + 1
29976 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29977 1795290 : full_data(idata) = data_tmp
29978 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29979 1795290 : idata = idata + 1
29980 1795290 : data_tmp = ISHFT(pack_tmp, 21)
29981 1795290 : ipack = ipack + 1
29982 1795290 : pack_tmp = packed_data(ipack)
29983 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
29984 1795290 : pack_tmp = ISHFT(pack_tmp, -21)
29985 1795290 : idata = idata + 1
29986 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29987 1795290 : full_data(idata) = data_tmp
29988 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29989 1795290 : idata = idata + 1
29990 1795290 : data_tmp = ISHFT(pack_tmp, 35)
29991 1795290 : ipack = ipack + 1
29992 1795290 : pack_tmp = packed_data(ipack)
29993 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
29994 1795290 : pack_tmp = ISHFT(pack_tmp, -35)
29995 1795290 : idata = idata + 1
29996 1795290 : data_tmp = ISHFT(pack_tmp, 10)
29997 1795290 : ipack = ipack + 1
29998 1795290 : pack_tmp = packed_data(ipack)
29999 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
30000 1795290 : pack_tmp = ISHFT(pack_tmp, -10)
30001 1795290 : idata = idata + 1
30002 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30003 1795290 : full_data(idata) = data_tmp
30004 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30005 1795290 : idata = idata + 1
30006 1795290 : data_tmp = ISHFT(pack_tmp, 24)
30007 1795290 : ipack = ipack + 1
30008 1795290 : pack_tmp = packed_data(ipack)
30009 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30010 1795290 : pack_tmp = ISHFT(pack_tmp, -24)
30011 1795290 : idata = idata + 1
30012 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30013 1795290 : full_data(idata) = data_tmp
30014 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30015 1795290 : idata = idata + 1
30016 1795290 : data_tmp = ISHFT(pack_tmp, 38)
30017 1795290 : ipack = ipack + 1
30018 1795290 : pack_tmp = packed_data(ipack)
30019 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
30020 1795290 : pack_tmp = ISHFT(pack_tmp, -38)
30021 1795290 : idata = idata + 1
30022 1795290 : data_tmp = ISHFT(pack_tmp, 13)
30023 1795290 : ipack = ipack + 1
30024 1795290 : pack_tmp = packed_data(ipack)
30025 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
30026 1795290 : pack_tmp = ISHFT(pack_tmp, -13)
30027 1795290 : idata = idata + 1
30028 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30029 1795290 : full_data(idata) = data_tmp
30030 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30031 1795290 : idata = idata + 1
30032 1795290 : data_tmp = ISHFT(pack_tmp, 27)
30033 1795290 : ipack = ipack + 1
30034 1795290 : pack_tmp = packed_data(ipack)
30035 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
30036 1795290 : pack_tmp = ISHFT(pack_tmp, -27)
30037 1795290 : idata = idata + 1
30038 1795290 : data_tmp = ISHFT(pack_tmp, 2)
30039 1795290 : ipack = ipack + 1
30040 1795290 : pack_tmp = packed_data(ipack)
30041 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
30042 1795290 : pack_tmp = ISHFT(pack_tmp, -2)
30043 1795290 : idata = idata + 1
30044 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30045 1795290 : full_data(idata) = data_tmp
30046 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30047 1795290 : idata = idata + 1
30048 1795290 : data_tmp = ISHFT(pack_tmp, 16)
30049 1795290 : ipack = ipack + 1
30050 1795290 : pack_tmp = packed_data(ipack)
30051 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30052 1795290 : pack_tmp = ISHFT(pack_tmp, -16)
30053 1795290 : idata = idata + 1
30054 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30055 1795290 : full_data(idata) = data_tmp
30056 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30057 1795290 : idata = idata + 1
30058 1795290 : data_tmp = ISHFT(pack_tmp, 30)
30059 1795290 : ipack = ipack + 1
30060 1795290 : pack_tmp = packed_data(ipack)
30061 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
30062 1795290 : pack_tmp = ISHFT(pack_tmp, -30)
30063 1795290 : idata = idata + 1
30064 1795290 : data_tmp = ISHFT(pack_tmp, 5)
30065 1795290 : ipack = ipack + 1
30066 1795290 : pack_tmp = packed_data(ipack)
30067 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
30068 1795290 : pack_tmp = ISHFT(pack_tmp, -5)
30069 1795290 : idata = idata + 1
30070 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30071 1795290 : full_data(idata) = data_tmp
30072 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30073 1795290 : idata = idata + 1
30074 1795290 : data_tmp = ISHFT(pack_tmp, 19)
30075 1795290 : ipack = ipack + 1
30076 1795290 : pack_tmp = packed_data(ipack)
30077 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
30078 1795290 : pack_tmp = ISHFT(pack_tmp, -19)
30079 1795290 : idata = idata + 1
30080 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30081 1795290 : full_data(idata) = data_tmp
30082 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30083 1795290 : idata = idata + 1
30084 1795290 : data_tmp = ISHFT(pack_tmp, 33)
30085 1795290 : ipack = ipack + 1
30086 1795290 : pack_tmp = packed_data(ipack)
30087 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
30088 1795290 : pack_tmp = ISHFT(pack_tmp, -33)
30089 1795290 : idata = idata + 1
30090 1795290 : data_tmp = ISHFT(pack_tmp, 8)
30091 1795290 : ipack = ipack + 1
30092 1795290 : pack_tmp = packed_data(ipack)
30093 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30094 1795290 : pack_tmp = ISHFT(pack_tmp, -8)
30095 1795290 : idata = idata + 1
30096 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30097 1795290 : full_data(idata) = data_tmp
30098 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30099 1795290 : idata = idata + 1
30100 1795290 : data_tmp = ISHFT(pack_tmp, 22)
30101 1795290 : ipack = ipack + 1
30102 1795290 : pack_tmp = packed_data(ipack)
30103 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
30104 1795290 : pack_tmp = ISHFT(pack_tmp, -22)
30105 1795290 : idata = idata + 1
30106 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30107 1795290 : full_data(idata) = data_tmp
30108 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30109 1795290 : idata = idata + 1
30110 1795290 : data_tmp = ISHFT(pack_tmp, 36)
30111 1795290 : ipack = ipack + 1
30112 1795290 : pack_tmp = packed_data(ipack)
30113 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
30114 1795290 : pack_tmp = ISHFT(pack_tmp, -36)
30115 1795290 : idata = idata + 1
30116 1795290 : data_tmp = ISHFT(pack_tmp, 11)
30117 1795290 : ipack = ipack + 1
30118 1795290 : pack_tmp = packed_data(ipack)
30119 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
30120 1795290 : pack_tmp = ISHFT(pack_tmp, -11)
30121 1795290 : idata = idata + 1
30122 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30123 1795290 : full_data(idata) = data_tmp
30124 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30125 1795290 : idata = idata + 1
30126 1795290 : data_tmp = ISHFT(pack_tmp, 25)
30127 1795290 : ipack = ipack + 1
30128 1795290 : pack_tmp = packed_data(ipack)
30129 1795290 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
30130 1795290 : pack_tmp = ISHFT(pack_tmp, -25)
30131 1795290 : idata = idata + 1
30132 1795290 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30133 1795290 : full_data(idata) = data_tmp
30134 1795290 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30135 : END DO
30136 125761 : IF (Ndata_rep < Ndata) THEN
30137 25516 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
30138 : END IF
30139 125761 : END SUBROUTINE bits2ints_39
30140 :
30141 : ! **************************************************************************************************
30142 : !> \brief ...
30143 : !> \param Ndata ...
30144 : !> \param packed_data ...
30145 : !> \param full_data ...
30146 : ! **************************************************************************************************
30147 27201 : 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 27201 : idata = 0
30158 27201 : ipack = 0
30159 27201 : Ndata_rep = (Ndata/64)*64
30160 27201 : DO kdata = 1, Ndata_rep, 64
30161 409894 : pack_tmp = 0
30162 409894 : idata = idata + 1
30163 409894 : data_tmp = full_data(idata)
30164 409894 : data_tmp = ISHFT(data_tmp, 24)
30165 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30166 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30167 409894 : idata = idata + 1
30168 409894 : data_tmp = full_data(idata)
30169 409894 : data_tmp = ISHFT(data_tmp, 24)
30170 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30171 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30172 409894 : ipack = ipack + 1
30173 409894 : packed_data(ipack) = pack_tmp
30174 409894 : data_tmp = full_data(idata)
30175 409894 : pack_tmp = ISHFT(data_tmp, 48)
30176 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30177 409894 : idata = idata + 1
30178 409894 : data_tmp = full_data(idata)
30179 409894 : data_tmp = ISHFT(data_tmp, 24)
30180 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30181 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30182 409894 : idata = idata + 1
30183 409894 : data_tmp = full_data(idata)
30184 409894 : data_tmp = ISHFT(data_tmp, 24)
30185 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30186 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30187 409894 : ipack = ipack + 1
30188 409894 : packed_data(ipack) = pack_tmp
30189 409894 : data_tmp = full_data(idata)
30190 409894 : pack_tmp = ISHFT(data_tmp, 32)
30191 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30192 409894 : idata = idata + 1
30193 409894 : data_tmp = full_data(idata)
30194 409894 : data_tmp = ISHFT(data_tmp, 24)
30195 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30196 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30197 409894 : ipack = ipack + 1
30198 409894 : packed_data(ipack) = pack_tmp
30199 409894 : data_tmp = full_data(idata)
30200 409894 : pack_tmp = ISHFT(data_tmp, 56)
30201 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30202 409894 : idata = idata + 1
30203 409894 : data_tmp = full_data(idata)
30204 409894 : data_tmp = ISHFT(data_tmp, 24)
30205 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30206 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30207 409894 : idata = idata + 1
30208 409894 : data_tmp = full_data(idata)
30209 409894 : data_tmp = ISHFT(data_tmp, 24)
30210 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30211 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30212 409894 : ipack = ipack + 1
30213 409894 : packed_data(ipack) = pack_tmp
30214 409894 : data_tmp = full_data(idata)
30215 409894 : pack_tmp = ISHFT(data_tmp, 40)
30216 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30217 409894 : idata = idata + 1
30218 409894 : data_tmp = full_data(idata)
30219 409894 : data_tmp = ISHFT(data_tmp, 24)
30220 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30221 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30222 409894 : idata = idata + 1
30223 409894 : data_tmp = full_data(idata)
30224 : data_tmp = ISHFT(data_tmp, 24)
30225 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30226 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30227 409894 : ipack = ipack + 1
30228 409894 : packed_data(ipack) = pack_tmp
30229 409894 : data_tmp = full_data(idata)
30230 409894 : pack_tmp = ISHFT(data_tmp, 24)
30231 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30232 409894 : idata = idata + 1
30233 409894 : data_tmp = full_data(idata)
30234 409894 : data_tmp = ISHFT(data_tmp, 24)
30235 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30236 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30237 409894 : ipack = ipack + 1
30238 409894 : packed_data(ipack) = pack_tmp
30239 409894 : data_tmp = full_data(idata)
30240 409894 : pack_tmp = ISHFT(data_tmp, 48)
30241 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30242 409894 : idata = idata + 1
30243 409894 : data_tmp = full_data(idata)
30244 409894 : data_tmp = ISHFT(data_tmp, 24)
30245 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30246 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30247 409894 : idata = idata + 1
30248 409894 : data_tmp = full_data(idata)
30249 409894 : data_tmp = ISHFT(data_tmp, 24)
30250 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30251 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30252 409894 : ipack = ipack + 1
30253 409894 : packed_data(ipack) = pack_tmp
30254 409894 : data_tmp = full_data(idata)
30255 409894 : pack_tmp = ISHFT(data_tmp, 32)
30256 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30257 409894 : idata = idata + 1
30258 409894 : data_tmp = full_data(idata)
30259 409894 : data_tmp = ISHFT(data_tmp, 24)
30260 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30261 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30262 409894 : ipack = ipack + 1
30263 409894 : packed_data(ipack) = pack_tmp
30264 409894 : data_tmp = full_data(idata)
30265 409894 : pack_tmp = ISHFT(data_tmp, 56)
30266 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30267 409894 : idata = idata + 1
30268 409894 : data_tmp = full_data(idata)
30269 409894 : data_tmp = ISHFT(data_tmp, 24)
30270 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30271 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30272 409894 : idata = idata + 1
30273 409894 : data_tmp = full_data(idata)
30274 409894 : data_tmp = ISHFT(data_tmp, 24)
30275 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30276 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30277 409894 : ipack = ipack + 1
30278 409894 : packed_data(ipack) = pack_tmp
30279 409894 : data_tmp = full_data(idata)
30280 409894 : pack_tmp = ISHFT(data_tmp, 40)
30281 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30282 409894 : idata = idata + 1
30283 409894 : data_tmp = full_data(idata)
30284 409894 : data_tmp = ISHFT(data_tmp, 24)
30285 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30286 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30287 409894 : idata = idata + 1
30288 409894 : data_tmp = full_data(idata)
30289 : data_tmp = ISHFT(data_tmp, 24)
30290 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30291 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30292 409894 : ipack = ipack + 1
30293 409894 : packed_data(ipack) = pack_tmp
30294 409894 : data_tmp = full_data(idata)
30295 409894 : pack_tmp = ISHFT(data_tmp, 24)
30296 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30297 409894 : idata = idata + 1
30298 409894 : data_tmp = full_data(idata)
30299 409894 : data_tmp = ISHFT(data_tmp, 24)
30300 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30301 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30302 409894 : ipack = ipack + 1
30303 409894 : packed_data(ipack) = pack_tmp
30304 409894 : data_tmp = full_data(idata)
30305 409894 : pack_tmp = ISHFT(data_tmp, 48)
30306 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30307 409894 : idata = idata + 1
30308 409894 : data_tmp = full_data(idata)
30309 409894 : data_tmp = ISHFT(data_tmp, 24)
30310 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30311 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30312 409894 : idata = idata + 1
30313 409894 : data_tmp = full_data(idata)
30314 409894 : data_tmp = ISHFT(data_tmp, 24)
30315 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30316 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30317 409894 : ipack = ipack + 1
30318 409894 : packed_data(ipack) = pack_tmp
30319 409894 : data_tmp = full_data(idata)
30320 409894 : pack_tmp = ISHFT(data_tmp, 32)
30321 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30322 409894 : idata = idata + 1
30323 409894 : data_tmp = full_data(idata)
30324 409894 : data_tmp = ISHFT(data_tmp, 24)
30325 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30326 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30327 409894 : ipack = ipack + 1
30328 409894 : packed_data(ipack) = pack_tmp
30329 409894 : data_tmp = full_data(idata)
30330 409894 : pack_tmp = ISHFT(data_tmp, 56)
30331 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30332 409894 : idata = idata + 1
30333 409894 : data_tmp = full_data(idata)
30334 409894 : data_tmp = ISHFT(data_tmp, 24)
30335 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30336 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30337 409894 : idata = idata + 1
30338 409894 : data_tmp = full_data(idata)
30339 409894 : data_tmp = ISHFT(data_tmp, 24)
30340 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30341 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30342 409894 : ipack = ipack + 1
30343 409894 : packed_data(ipack) = pack_tmp
30344 409894 : data_tmp = full_data(idata)
30345 409894 : pack_tmp = ISHFT(data_tmp, 40)
30346 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30347 409894 : idata = idata + 1
30348 409894 : data_tmp = full_data(idata)
30349 409894 : data_tmp = ISHFT(data_tmp, 24)
30350 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30351 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30352 409894 : idata = idata + 1
30353 409894 : data_tmp = full_data(idata)
30354 : data_tmp = ISHFT(data_tmp, 24)
30355 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30356 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30357 409894 : ipack = ipack + 1
30358 409894 : packed_data(ipack) = pack_tmp
30359 409894 : data_tmp = full_data(idata)
30360 409894 : pack_tmp = ISHFT(data_tmp, 24)
30361 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30362 409894 : idata = idata + 1
30363 409894 : data_tmp = full_data(idata)
30364 409894 : data_tmp = ISHFT(data_tmp, 24)
30365 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30366 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30367 409894 : ipack = ipack + 1
30368 409894 : packed_data(ipack) = pack_tmp
30369 409894 : data_tmp = full_data(idata)
30370 409894 : pack_tmp = ISHFT(data_tmp, 48)
30371 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30372 409894 : idata = idata + 1
30373 409894 : data_tmp = full_data(idata)
30374 409894 : data_tmp = ISHFT(data_tmp, 24)
30375 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30376 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30377 409894 : idata = idata + 1
30378 409894 : data_tmp = full_data(idata)
30379 409894 : data_tmp = ISHFT(data_tmp, 24)
30380 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30381 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30382 409894 : ipack = ipack + 1
30383 409894 : packed_data(ipack) = pack_tmp
30384 409894 : data_tmp = full_data(idata)
30385 409894 : pack_tmp = ISHFT(data_tmp, 32)
30386 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30387 409894 : idata = idata + 1
30388 409894 : data_tmp = full_data(idata)
30389 409894 : data_tmp = ISHFT(data_tmp, 24)
30390 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30391 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30392 409894 : ipack = ipack + 1
30393 409894 : packed_data(ipack) = pack_tmp
30394 409894 : data_tmp = full_data(idata)
30395 409894 : pack_tmp = ISHFT(data_tmp, 56)
30396 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30397 409894 : idata = idata + 1
30398 409894 : data_tmp = full_data(idata)
30399 409894 : data_tmp = ISHFT(data_tmp, 24)
30400 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30401 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30402 409894 : idata = idata + 1
30403 409894 : data_tmp = full_data(idata)
30404 409894 : data_tmp = ISHFT(data_tmp, 24)
30405 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30406 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30407 409894 : ipack = ipack + 1
30408 409894 : packed_data(ipack) = pack_tmp
30409 409894 : data_tmp = full_data(idata)
30410 409894 : pack_tmp = ISHFT(data_tmp, 40)
30411 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30412 409894 : idata = idata + 1
30413 409894 : data_tmp = full_data(idata)
30414 409894 : data_tmp = ISHFT(data_tmp, 24)
30415 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30416 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30417 409894 : idata = idata + 1
30418 409894 : data_tmp = full_data(idata)
30419 : data_tmp = ISHFT(data_tmp, 24)
30420 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30421 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30422 409894 : ipack = ipack + 1
30423 409894 : packed_data(ipack) = pack_tmp
30424 409894 : data_tmp = full_data(idata)
30425 409894 : pack_tmp = ISHFT(data_tmp, 24)
30426 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30427 409894 : idata = idata + 1
30428 409894 : data_tmp = full_data(idata)
30429 409894 : data_tmp = ISHFT(data_tmp, 24)
30430 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30431 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30432 409894 : ipack = ipack + 1
30433 409894 : packed_data(ipack) = pack_tmp
30434 409894 : data_tmp = full_data(idata)
30435 409894 : pack_tmp = ISHFT(data_tmp, 48)
30436 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30437 409894 : idata = idata + 1
30438 409894 : data_tmp = full_data(idata)
30439 409894 : data_tmp = ISHFT(data_tmp, 24)
30440 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30441 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30442 409894 : idata = idata + 1
30443 409894 : data_tmp = full_data(idata)
30444 409894 : data_tmp = ISHFT(data_tmp, 24)
30445 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30446 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30447 409894 : ipack = ipack + 1
30448 409894 : packed_data(ipack) = pack_tmp
30449 409894 : data_tmp = full_data(idata)
30450 409894 : pack_tmp = ISHFT(data_tmp, 32)
30451 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30452 409894 : idata = idata + 1
30453 409894 : data_tmp = full_data(idata)
30454 409894 : data_tmp = ISHFT(data_tmp, 24)
30455 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30456 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30457 409894 : ipack = ipack + 1
30458 409894 : packed_data(ipack) = pack_tmp
30459 409894 : data_tmp = full_data(idata)
30460 409894 : pack_tmp = ISHFT(data_tmp, 56)
30461 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30462 409894 : idata = idata + 1
30463 409894 : data_tmp = full_data(idata)
30464 409894 : data_tmp = ISHFT(data_tmp, 24)
30465 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30466 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30467 409894 : idata = idata + 1
30468 409894 : data_tmp = full_data(idata)
30469 409894 : data_tmp = ISHFT(data_tmp, 24)
30470 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30471 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30472 409894 : ipack = ipack + 1
30473 409894 : packed_data(ipack) = pack_tmp
30474 409894 : data_tmp = full_data(idata)
30475 409894 : pack_tmp = ISHFT(data_tmp, 40)
30476 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30477 409894 : idata = idata + 1
30478 409894 : data_tmp = full_data(idata)
30479 409894 : data_tmp = ISHFT(data_tmp, 24)
30480 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30481 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30482 409894 : idata = idata + 1
30483 409894 : data_tmp = full_data(idata)
30484 : data_tmp = ISHFT(data_tmp, 24)
30485 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30486 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30487 409894 : ipack = ipack + 1
30488 409894 : packed_data(ipack) = pack_tmp
30489 409894 : data_tmp = full_data(idata)
30490 409894 : pack_tmp = ISHFT(data_tmp, 24)
30491 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30492 409894 : idata = idata + 1
30493 409894 : data_tmp = full_data(idata)
30494 409894 : data_tmp = ISHFT(data_tmp, 24)
30495 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30496 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30497 409894 : ipack = ipack + 1
30498 409894 : packed_data(ipack) = pack_tmp
30499 409894 : data_tmp = full_data(idata)
30500 409894 : pack_tmp = ISHFT(data_tmp, 48)
30501 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30502 409894 : idata = idata + 1
30503 409894 : data_tmp = full_data(idata)
30504 409894 : data_tmp = ISHFT(data_tmp, 24)
30505 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30506 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30507 409894 : idata = idata + 1
30508 409894 : data_tmp = full_data(idata)
30509 409894 : data_tmp = ISHFT(data_tmp, 24)
30510 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30511 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30512 409894 : ipack = ipack + 1
30513 409894 : packed_data(ipack) = pack_tmp
30514 409894 : data_tmp = full_data(idata)
30515 409894 : pack_tmp = ISHFT(data_tmp, 32)
30516 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30517 409894 : idata = idata + 1
30518 409894 : data_tmp = full_data(idata)
30519 409894 : data_tmp = ISHFT(data_tmp, 24)
30520 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30521 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30522 409894 : ipack = ipack + 1
30523 409894 : packed_data(ipack) = pack_tmp
30524 409894 : data_tmp = full_data(idata)
30525 409894 : pack_tmp = ISHFT(data_tmp, 56)
30526 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30527 409894 : idata = idata + 1
30528 409894 : data_tmp = full_data(idata)
30529 409894 : data_tmp = ISHFT(data_tmp, 24)
30530 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30531 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30532 409894 : idata = idata + 1
30533 409894 : data_tmp = full_data(idata)
30534 409894 : data_tmp = ISHFT(data_tmp, 24)
30535 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30536 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30537 409894 : ipack = ipack + 1
30538 409894 : packed_data(ipack) = pack_tmp
30539 409894 : data_tmp = full_data(idata)
30540 409894 : pack_tmp = ISHFT(data_tmp, 40)
30541 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30542 409894 : idata = idata + 1
30543 409894 : data_tmp = full_data(idata)
30544 409894 : data_tmp = ISHFT(data_tmp, 24)
30545 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30546 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30547 409894 : idata = idata + 1
30548 409894 : data_tmp = full_data(idata)
30549 : data_tmp = ISHFT(data_tmp, 24)
30550 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30551 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30552 409894 : ipack = ipack + 1
30553 409894 : packed_data(ipack) = pack_tmp
30554 409894 : data_tmp = full_data(idata)
30555 409894 : pack_tmp = ISHFT(data_tmp, 24)
30556 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30557 409894 : idata = idata + 1
30558 409894 : data_tmp = full_data(idata)
30559 409894 : data_tmp = ISHFT(data_tmp, 24)
30560 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30561 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30562 409894 : ipack = ipack + 1
30563 409894 : packed_data(ipack) = pack_tmp
30564 409894 : data_tmp = full_data(idata)
30565 409894 : pack_tmp = ISHFT(data_tmp, 48)
30566 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30567 409894 : idata = idata + 1
30568 409894 : data_tmp = full_data(idata)
30569 409894 : data_tmp = ISHFT(data_tmp, 24)
30570 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30571 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30572 409894 : idata = idata + 1
30573 409894 : data_tmp = full_data(idata)
30574 409894 : data_tmp = ISHFT(data_tmp, 24)
30575 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30576 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30577 409894 : ipack = ipack + 1
30578 409894 : packed_data(ipack) = pack_tmp
30579 409894 : data_tmp = full_data(idata)
30580 409894 : pack_tmp = ISHFT(data_tmp, 32)
30581 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30582 409894 : idata = idata + 1
30583 409894 : data_tmp = full_data(idata)
30584 409894 : data_tmp = ISHFT(data_tmp, 24)
30585 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30586 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30587 409894 : ipack = ipack + 1
30588 409894 : packed_data(ipack) = pack_tmp
30589 409894 : data_tmp = full_data(idata)
30590 409894 : pack_tmp = ISHFT(data_tmp, 56)
30591 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30592 409894 : idata = idata + 1
30593 409894 : data_tmp = full_data(idata)
30594 409894 : data_tmp = ISHFT(data_tmp, 24)
30595 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30596 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30597 409894 : idata = idata + 1
30598 409894 : data_tmp = full_data(idata)
30599 409894 : data_tmp = ISHFT(data_tmp, 24)
30600 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30601 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30602 409894 : ipack = ipack + 1
30603 409894 : packed_data(ipack) = pack_tmp
30604 409894 : data_tmp = full_data(idata)
30605 409894 : pack_tmp = ISHFT(data_tmp, 40)
30606 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30607 409894 : idata = idata + 1
30608 409894 : data_tmp = full_data(idata)
30609 409894 : data_tmp = ISHFT(data_tmp, 24)
30610 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30611 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30612 409894 : idata = idata + 1
30613 409894 : data_tmp = full_data(idata)
30614 : data_tmp = ISHFT(data_tmp, 24)
30615 409894 : data_tmp = IAND(data_tmp, mask_left(0))
30616 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30617 409894 : ipack = ipack + 1
30618 409894 : packed_data(ipack) = pack_tmp
30619 409894 : data_tmp = full_data(idata)
30620 409894 : pack_tmp = ISHFT(data_tmp, 24)
30621 409894 : pack_tmp = ISHFT(pack_tmp, -24)
30622 409894 : idata = idata + 1
30623 409894 : data_tmp = full_data(idata)
30624 409894 : data_tmp = ISHFT(data_tmp, 24)
30625 409894 : data_tmp = IAND(data_tmp, mask_left(24))
30626 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30627 409894 : ipack = ipack + 1
30628 409894 : packed_data(ipack) = pack_tmp
30629 409894 : data_tmp = full_data(idata)
30630 409894 : pack_tmp = ISHFT(data_tmp, 48)
30631 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30632 409894 : idata = idata + 1
30633 409894 : data_tmp = full_data(idata)
30634 409894 : data_tmp = ISHFT(data_tmp, 24)
30635 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30636 409894 : pack_tmp = ISHFT(pack_tmp, -8)
30637 409894 : idata = idata + 1
30638 409894 : data_tmp = full_data(idata)
30639 409894 : data_tmp = ISHFT(data_tmp, 24)
30640 409894 : data_tmp = IAND(data_tmp, mask_left(8))
30641 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30642 409894 : ipack = ipack + 1
30643 409894 : packed_data(ipack) = pack_tmp
30644 409894 : data_tmp = full_data(idata)
30645 409894 : pack_tmp = ISHFT(data_tmp, 32)
30646 409894 : pack_tmp = ISHFT(pack_tmp, -32)
30647 409894 : idata = idata + 1
30648 409894 : data_tmp = full_data(idata)
30649 409894 : data_tmp = ISHFT(data_tmp, 24)
30650 409894 : data_tmp = IAND(data_tmp, mask_left(32))
30651 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30652 409894 : ipack = ipack + 1
30653 409894 : packed_data(ipack) = pack_tmp
30654 409894 : data_tmp = full_data(idata)
30655 409894 : pack_tmp = ISHFT(data_tmp, 56)
30656 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30657 409894 : idata = idata + 1
30658 409894 : data_tmp = full_data(idata)
30659 409894 : data_tmp = ISHFT(data_tmp, 24)
30660 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30661 409894 : pack_tmp = ISHFT(pack_tmp, -16)
30662 409894 : idata = idata + 1
30663 409894 : data_tmp = full_data(idata)
30664 409894 : data_tmp = ISHFT(data_tmp, 24)
30665 409894 : data_tmp = IAND(data_tmp, mask_left(16))
30666 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30667 409894 : ipack = ipack + 1
30668 409894 : packed_data(ipack) = pack_tmp
30669 409894 : data_tmp = full_data(idata)
30670 409894 : pack_tmp = ISHFT(data_tmp, 40)
30671 409894 : pack_tmp = ISHFT(pack_tmp, -40)
30672 409894 : idata = idata + 1
30673 409894 : data_tmp = full_data(idata)
30674 409894 : data_tmp = ISHFT(data_tmp, 24)
30675 409894 : pack_tmp = IOR(pack_tmp, data_tmp)
30676 : pack_tmp = ISHFT(pack_tmp, 0)
30677 409894 : pack_tmp = ISHFT(pack_tmp, 0)
30678 409894 : ipack = ipack + 1
30679 409920 : packed_data(ipack) = pack_tmp
30680 : END DO
30681 27201 : IF (Ndata_rep < Ndata) THEN
30682 2964 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
30683 : END IF
30684 27201 : END SUBROUTINE ints2bits_40
30685 :
30686 : ! **************************************************************************************************
30687 : !> \brief ...
30688 : !> \param Ndata ...
30689 : !> \param packed_data ...
30690 : !> \param full_data ...
30691 : ! **************************************************************************************************
30692 126699 : 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 126699 : ipack = 0
30703 126699 : idata = 0
30704 126699 : pack_tmp = 0
30705 126699 : Ndata_rep = (Ndata/64)*64
30706 126699 : DO kdata = 1, Ndata_rep, 64
30707 1809337 : idata = idata + 1
30708 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30709 1809337 : ipack = ipack + 1
30710 1809337 : pack_tmp = packed_data(ipack)
30711 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30712 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30713 1809337 : idata = idata + 1
30714 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30715 1809337 : ipack = ipack + 1
30716 1809337 : pack_tmp = packed_data(ipack)
30717 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30718 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30719 1809337 : idata = idata + 1
30720 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30721 1809337 : full_data(idata) = data_tmp
30722 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30723 1809337 : idata = idata + 1
30724 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30725 1809337 : ipack = ipack + 1
30726 1809337 : pack_tmp = packed_data(ipack)
30727 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30728 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30729 1809337 : idata = idata + 1
30730 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30731 1809337 : ipack = ipack + 1
30732 1809337 : pack_tmp = packed_data(ipack)
30733 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30734 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30735 1809337 : idata = idata + 1
30736 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30737 1809337 : full_data(idata) = data_tmp
30738 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30739 1809337 : idata = idata + 1
30740 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30741 1809337 : ipack = ipack + 1
30742 1809337 : pack_tmp = packed_data(ipack)
30743 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30744 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30745 1809337 : idata = idata + 1
30746 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30747 1809337 : full_data(idata) = data_tmp
30748 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30749 1809337 : idata = idata + 1
30750 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30751 1809337 : ipack = ipack + 1
30752 1809337 : pack_tmp = packed_data(ipack)
30753 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30754 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30755 1809337 : idata = idata + 1
30756 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30757 1809337 : ipack = ipack + 1
30758 1809337 : pack_tmp = packed_data(ipack)
30759 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30760 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30761 1809337 : idata = idata + 1
30762 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30763 1809337 : full_data(idata) = data_tmp
30764 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30765 1809337 : idata = idata + 1
30766 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30767 1809337 : ipack = ipack + 1
30768 1809337 : pack_tmp = packed_data(ipack)
30769 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30770 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30771 1809337 : idata = idata + 1
30772 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30773 1809337 : ipack = ipack + 1
30774 1809337 : pack_tmp = packed_data(ipack)
30775 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30776 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30777 1809337 : idata = idata + 1
30778 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30779 1809337 : full_data(idata) = data_tmp
30780 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30781 1809337 : idata = idata + 1
30782 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30783 1809337 : ipack = ipack + 1
30784 1809337 : pack_tmp = packed_data(ipack)
30785 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30786 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30787 1809337 : idata = idata + 1
30788 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30789 1809337 : full_data(idata) = data_tmp
30790 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30791 1809337 : idata = idata + 1
30792 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30793 1809337 : ipack = ipack + 1
30794 1809337 : pack_tmp = packed_data(ipack)
30795 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30796 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30797 1809337 : idata = idata + 1
30798 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30799 1809337 : ipack = ipack + 1
30800 1809337 : pack_tmp = packed_data(ipack)
30801 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30802 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30803 1809337 : idata = idata + 1
30804 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30805 1809337 : full_data(idata) = data_tmp
30806 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30807 1809337 : idata = idata + 1
30808 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30809 1809337 : ipack = ipack + 1
30810 1809337 : pack_tmp = packed_data(ipack)
30811 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30812 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30813 1809337 : idata = idata + 1
30814 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30815 1809337 : ipack = ipack + 1
30816 1809337 : pack_tmp = packed_data(ipack)
30817 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30818 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30819 1809337 : idata = idata + 1
30820 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30821 1809337 : full_data(idata) = data_tmp
30822 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30823 1809337 : idata = idata + 1
30824 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30825 1809337 : ipack = ipack + 1
30826 1809337 : pack_tmp = packed_data(ipack)
30827 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30828 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30829 1809337 : idata = idata + 1
30830 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30831 1809337 : full_data(idata) = data_tmp
30832 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30833 1809337 : idata = idata + 1
30834 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30835 1809337 : ipack = ipack + 1
30836 1809337 : pack_tmp = packed_data(ipack)
30837 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30838 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30839 1809337 : idata = idata + 1
30840 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30841 1809337 : ipack = ipack + 1
30842 1809337 : pack_tmp = packed_data(ipack)
30843 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30844 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30845 1809337 : idata = idata + 1
30846 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30847 1809337 : full_data(idata) = data_tmp
30848 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30849 1809337 : idata = idata + 1
30850 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30851 1809337 : ipack = ipack + 1
30852 1809337 : pack_tmp = packed_data(ipack)
30853 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30854 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30855 1809337 : idata = idata + 1
30856 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30857 1809337 : ipack = ipack + 1
30858 1809337 : pack_tmp = packed_data(ipack)
30859 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30860 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30861 1809337 : idata = idata + 1
30862 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30863 1809337 : full_data(idata) = data_tmp
30864 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30865 1809337 : idata = idata + 1
30866 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30867 1809337 : ipack = ipack + 1
30868 1809337 : pack_tmp = packed_data(ipack)
30869 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30870 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30871 1809337 : idata = idata + 1
30872 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30873 1809337 : full_data(idata) = data_tmp
30874 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30875 1809337 : idata = idata + 1
30876 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30877 1809337 : ipack = ipack + 1
30878 1809337 : pack_tmp = packed_data(ipack)
30879 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30880 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30881 1809337 : idata = idata + 1
30882 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30883 1809337 : ipack = ipack + 1
30884 1809337 : pack_tmp = packed_data(ipack)
30885 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30886 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30887 1809337 : idata = idata + 1
30888 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30889 1809337 : full_data(idata) = data_tmp
30890 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30891 1809337 : idata = idata + 1
30892 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30893 1809337 : ipack = ipack + 1
30894 1809337 : pack_tmp = packed_data(ipack)
30895 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30896 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30897 1809337 : idata = idata + 1
30898 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30899 1809337 : ipack = ipack + 1
30900 1809337 : pack_tmp = packed_data(ipack)
30901 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30902 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30903 1809337 : idata = idata + 1
30904 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30905 1809337 : full_data(idata) = data_tmp
30906 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30907 1809337 : idata = idata + 1
30908 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30909 1809337 : ipack = ipack + 1
30910 1809337 : pack_tmp = packed_data(ipack)
30911 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30912 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30913 1809337 : idata = idata + 1
30914 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30915 1809337 : full_data(idata) = data_tmp
30916 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30917 1809337 : idata = idata + 1
30918 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30919 1809337 : ipack = ipack + 1
30920 1809337 : pack_tmp = packed_data(ipack)
30921 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30922 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30923 1809337 : idata = idata + 1
30924 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30925 1809337 : ipack = ipack + 1
30926 1809337 : pack_tmp = packed_data(ipack)
30927 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30928 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30929 1809337 : idata = idata + 1
30930 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30931 1809337 : full_data(idata) = data_tmp
30932 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30933 1809337 : idata = idata + 1
30934 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30935 1809337 : ipack = ipack + 1
30936 1809337 : pack_tmp = packed_data(ipack)
30937 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30938 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30939 1809337 : idata = idata + 1
30940 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30941 1809337 : ipack = ipack + 1
30942 1809337 : pack_tmp = packed_data(ipack)
30943 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30944 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30945 1809337 : idata = idata + 1
30946 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30947 1809337 : full_data(idata) = data_tmp
30948 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30949 1809337 : idata = idata + 1
30950 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30951 1809337 : ipack = ipack + 1
30952 1809337 : pack_tmp = packed_data(ipack)
30953 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30954 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30955 1809337 : idata = idata + 1
30956 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30957 1809337 : full_data(idata) = data_tmp
30958 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30959 1809337 : idata = idata + 1
30960 1809337 : data_tmp = ISHFT(pack_tmp, 40)
30961 1809337 : ipack = ipack + 1
30962 1809337 : pack_tmp = packed_data(ipack)
30963 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30964 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
30965 1809337 : idata = idata + 1
30966 1809337 : data_tmp = ISHFT(pack_tmp, 16)
30967 1809337 : ipack = ipack + 1
30968 1809337 : pack_tmp = packed_data(ipack)
30969 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30970 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
30971 1809337 : idata = idata + 1
30972 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30973 1809337 : full_data(idata) = data_tmp
30974 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30975 1809337 : idata = idata + 1
30976 1809337 : data_tmp = ISHFT(pack_tmp, 32)
30977 1809337 : ipack = ipack + 1
30978 1809337 : pack_tmp = packed_data(ipack)
30979 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30980 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
30981 1809337 : idata = idata + 1
30982 1809337 : data_tmp = ISHFT(pack_tmp, 8)
30983 1809337 : ipack = ipack + 1
30984 1809337 : pack_tmp = packed_data(ipack)
30985 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30986 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
30987 1809337 : idata = idata + 1
30988 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30989 1809337 : full_data(idata) = data_tmp
30990 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30991 1809337 : idata = idata + 1
30992 1809337 : data_tmp = ISHFT(pack_tmp, 24)
30993 1809337 : ipack = ipack + 1
30994 1809337 : pack_tmp = packed_data(ipack)
30995 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30996 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
30997 1809337 : idata = idata + 1
30998 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30999 1809337 : full_data(idata) = data_tmp
31000 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31001 1809337 : idata = idata + 1
31002 1809337 : data_tmp = ISHFT(pack_tmp, 40)
31003 1809337 : ipack = ipack + 1
31004 1809337 : pack_tmp = packed_data(ipack)
31005 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
31006 1809337 : pack_tmp = ISHFT(pack_tmp, -40)
31007 1809337 : idata = idata + 1
31008 1809337 : data_tmp = ISHFT(pack_tmp, 16)
31009 1809337 : ipack = ipack + 1
31010 1809337 : pack_tmp = packed_data(ipack)
31011 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
31012 1809337 : pack_tmp = ISHFT(pack_tmp, -16)
31013 1809337 : idata = idata + 1
31014 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31015 1809337 : full_data(idata) = data_tmp
31016 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31017 1809337 : idata = idata + 1
31018 1809337 : data_tmp = ISHFT(pack_tmp, 32)
31019 1809337 : ipack = ipack + 1
31020 1809337 : pack_tmp = packed_data(ipack)
31021 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
31022 1809337 : pack_tmp = ISHFT(pack_tmp, -32)
31023 1809337 : idata = idata + 1
31024 1809337 : data_tmp = ISHFT(pack_tmp, 8)
31025 1809337 : ipack = ipack + 1
31026 1809337 : pack_tmp = packed_data(ipack)
31027 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
31028 1809337 : pack_tmp = ISHFT(pack_tmp, -8)
31029 1809337 : idata = idata + 1
31030 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31031 1809337 : full_data(idata) = data_tmp
31032 1809337 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31033 1809337 : idata = idata + 1
31034 1809337 : data_tmp = ISHFT(pack_tmp, 24)
31035 1809337 : ipack = ipack + 1
31036 1809337 : pack_tmp = packed_data(ipack)
31037 1809337 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
31038 1809337 : pack_tmp = ISHFT(pack_tmp, -24)
31039 1809337 : idata = idata + 1
31040 1809337 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31041 1809337 : full_data(idata) = data_tmp
31042 1809516 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31043 : END DO
31044 126699 : IF (Ndata_rep < Ndata) THEN
31045 25614 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31046 : END IF
31047 126699 : END SUBROUTINE bits2ints_40
31048 :
31049 : ! **************************************************************************************************
31050 : !> \brief ...
31051 : !> \param Ndata ...
31052 : !> \param packed_data ...
31053 : !> \param full_data ...
31054 : ! **************************************************************************************************
31055 27001 : 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 27001 : idata = 0
31066 27001 : ipack = 0
31067 27001 : Ndata_rep = (Ndata/64)*64
31068 27001 : DO kdata = 1, Ndata_rep, 64
31069 407895 : pack_tmp = 0
31070 407895 : idata = idata + 1
31071 407895 : data_tmp = full_data(idata)
31072 407895 : data_tmp = ISHFT(data_tmp, 23)
31073 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31074 407895 : pack_tmp = ISHFT(pack_tmp, -23)
31075 407895 : idata = idata + 1
31076 407895 : data_tmp = full_data(idata)
31077 407895 : data_tmp = ISHFT(data_tmp, 23)
31078 407895 : data_tmp = IAND(data_tmp, mask_left(23))
31079 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31080 407895 : ipack = ipack + 1
31081 407895 : packed_data(ipack) = pack_tmp
31082 407895 : data_tmp = full_data(idata)
31083 407895 : pack_tmp = ISHFT(data_tmp, 46)
31084 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31085 407895 : idata = idata + 1
31086 407895 : data_tmp = full_data(idata)
31087 407895 : data_tmp = ISHFT(data_tmp, 23)
31088 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31089 407895 : pack_tmp = ISHFT(pack_tmp, -5)
31090 407895 : idata = idata + 1
31091 407895 : data_tmp = full_data(idata)
31092 407895 : data_tmp = ISHFT(data_tmp, 23)
31093 407895 : data_tmp = IAND(data_tmp, mask_left(5))
31094 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31095 407895 : ipack = ipack + 1
31096 407895 : packed_data(ipack) = pack_tmp
31097 407895 : data_tmp = full_data(idata)
31098 407895 : pack_tmp = ISHFT(data_tmp, 28)
31099 407895 : pack_tmp = ISHFT(pack_tmp, -28)
31100 407895 : idata = idata + 1
31101 407895 : data_tmp = full_data(idata)
31102 407895 : data_tmp = ISHFT(data_tmp, 23)
31103 407895 : data_tmp = IAND(data_tmp, mask_left(28))
31104 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31105 407895 : ipack = ipack + 1
31106 407895 : packed_data(ipack) = pack_tmp
31107 407895 : data_tmp = full_data(idata)
31108 407895 : pack_tmp = ISHFT(data_tmp, 51)
31109 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31110 407895 : idata = idata + 1
31111 407895 : data_tmp = full_data(idata)
31112 407895 : data_tmp = ISHFT(data_tmp, 23)
31113 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31114 407895 : pack_tmp = ISHFT(pack_tmp, -10)
31115 407895 : idata = idata + 1
31116 407895 : data_tmp = full_data(idata)
31117 407895 : data_tmp = ISHFT(data_tmp, 23)
31118 407895 : data_tmp = IAND(data_tmp, mask_left(10))
31119 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31120 407895 : ipack = ipack + 1
31121 407895 : packed_data(ipack) = pack_tmp
31122 407895 : data_tmp = full_data(idata)
31123 407895 : pack_tmp = ISHFT(data_tmp, 33)
31124 407895 : pack_tmp = ISHFT(pack_tmp, -33)
31125 407895 : idata = idata + 1
31126 407895 : data_tmp = full_data(idata)
31127 407895 : data_tmp = ISHFT(data_tmp, 23)
31128 407895 : data_tmp = IAND(data_tmp, mask_left(33))
31129 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31130 407895 : ipack = ipack + 1
31131 407895 : packed_data(ipack) = pack_tmp
31132 407895 : data_tmp = full_data(idata)
31133 407895 : pack_tmp = ISHFT(data_tmp, 56)
31134 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31135 407895 : idata = idata + 1
31136 407895 : data_tmp = full_data(idata)
31137 407895 : data_tmp = ISHFT(data_tmp, 23)
31138 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31139 407895 : pack_tmp = ISHFT(pack_tmp, -15)
31140 407895 : idata = idata + 1
31141 407895 : data_tmp = full_data(idata)
31142 407895 : data_tmp = ISHFT(data_tmp, 23)
31143 407895 : data_tmp = IAND(data_tmp, mask_left(15))
31144 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31145 407895 : ipack = ipack + 1
31146 407895 : packed_data(ipack) = pack_tmp
31147 407895 : data_tmp = full_data(idata)
31148 407895 : pack_tmp = ISHFT(data_tmp, 38)
31149 407895 : pack_tmp = ISHFT(pack_tmp, -38)
31150 407895 : idata = idata + 1
31151 407895 : data_tmp = full_data(idata)
31152 407895 : data_tmp = ISHFT(data_tmp, 23)
31153 407895 : data_tmp = IAND(data_tmp, mask_left(38))
31154 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31155 407895 : ipack = ipack + 1
31156 407895 : packed_data(ipack) = pack_tmp
31157 407895 : data_tmp = full_data(idata)
31158 407895 : pack_tmp = ISHFT(data_tmp, 61)
31159 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31160 407895 : idata = idata + 1
31161 407895 : data_tmp = full_data(idata)
31162 407895 : data_tmp = ISHFT(data_tmp, 23)
31163 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31164 407895 : pack_tmp = ISHFT(pack_tmp, -20)
31165 407895 : idata = idata + 1
31166 407895 : data_tmp = full_data(idata)
31167 407895 : data_tmp = ISHFT(data_tmp, 23)
31168 407895 : data_tmp = IAND(data_tmp, mask_left(20))
31169 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31170 407895 : ipack = ipack + 1
31171 407895 : packed_data(ipack) = pack_tmp
31172 407895 : data_tmp = full_data(idata)
31173 407895 : pack_tmp = ISHFT(data_tmp, 43)
31174 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31175 407895 : idata = idata + 1
31176 407895 : data_tmp = full_data(idata)
31177 407895 : data_tmp = ISHFT(data_tmp, 23)
31178 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31179 407895 : pack_tmp = ISHFT(pack_tmp, -2)
31180 407895 : idata = idata + 1
31181 407895 : data_tmp = full_data(idata)
31182 407895 : data_tmp = ISHFT(data_tmp, 23)
31183 407895 : data_tmp = IAND(data_tmp, mask_left(2))
31184 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31185 407895 : ipack = ipack + 1
31186 407895 : packed_data(ipack) = pack_tmp
31187 407895 : data_tmp = full_data(idata)
31188 407895 : pack_tmp = ISHFT(data_tmp, 25)
31189 407895 : pack_tmp = ISHFT(pack_tmp, -25)
31190 407895 : idata = idata + 1
31191 407895 : data_tmp = full_data(idata)
31192 407895 : data_tmp = ISHFT(data_tmp, 23)
31193 407895 : data_tmp = IAND(data_tmp, mask_left(25))
31194 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31195 407895 : ipack = ipack + 1
31196 407895 : packed_data(ipack) = pack_tmp
31197 407895 : data_tmp = full_data(idata)
31198 407895 : pack_tmp = ISHFT(data_tmp, 48)
31199 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31200 407895 : idata = idata + 1
31201 407895 : data_tmp = full_data(idata)
31202 407895 : data_tmp = ISHFT(data_tmp, 23)
31203 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31204 407895 : pack_tmp = ISHFT(pack_tmp, -7)
31205 407895 : idata = idata + 1
31206 407895 : data_tmp = full_data(idata)
31207 407895 : data_tmp = ISHFT(data_tmp, 23)
31208 407895 : data_tmp = IAND(data_tmp, mask_left(7))
31209 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31210 407895 : ipack = ipack + 1
31211 407895 : packed_data(ipack) = pack_tmp
31212 407895 : data_tmp = full_data(idata)
31213 407895 : pack_tmp = ISHFT(data_tmp, 30)
31214 407895 : pack_tmp = ISHFT(pack_tmp, -30)
31215 407895 : idata = idata + 1
31216 407895 : data_tmp = full_data(idata)
31217 407895 : data_tmp = ISHFT(data_tmp, 23)
31218 407895 : data_tmp = IAND(data_tmp, mask_left(30))
31219 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31220 407895 : ipack = ipack + 1
31221 407895 : packed_data(ipack) = pack_tmp
31222 407895 : data_tmp = full_data(idata)
31223 407895 : pack_tmp = ISHFT(data_tmp, 53)
31224 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31225 407895 : idata = idata + 1
31226 407895 : data_tmp = full_data(idata)
31227 407895 : data_tmp = ISHFT(data_tmp, 23)
31228 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31229 407895 : pack_tmp = ISHFT(pack_tmp, -12)
31230 407895 : idata = idata + 1
31231 407895 : data_tmp = full_data(idata)
31232 407895 : data_tmp = ISHFT(data_tmp, 23)
31233 407895 : data_tmp = IAND(data_tmp, mask_left(12))
31234 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31235 407895 : ipack = ipack + 1
31236 407895 : packed_data(ipack) = pack_tmp
31237 407895 : data_tmp = full_data(idata)
31238 407895 : pack_tmp = ISHFT(data_tmp, 35)
31239 407895 : pack_tmp = ISHFT(pack_tmp, -35)
31240 407895 : idata = idata + 1
31241 407895 : data_tmp = full_data(idata)
31242 407895 : data_tmp = ISHFT(data_tmp, 23)
31243 407895 : data_tmp = IAND(data_tmp, mask_left(35))
31244 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31245 407895 : ipack = ipack + 1
31246 407895 : packed_data(ipack) = pack_tmp
31247 407895 : data_tmp = full_data(idata)
31248 407895 : pack_tmp = ISHFT(data_tmp, 58)
31249 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31250 407895 : idata = idata + 1
31251 407895 : data_tmp = full_data(idata)
31252 407895 : data_tmp = ISHFT(data_tmp, 23)
31253 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31254 407895 : pack_tmp = ISHFT(pack_tmp, -17)
31255 407895 : idata = idata + 1
31256 407895 : data_tmp = full_data(idata)
31257 407895 : data_tmp = ISHFT(data_tmp, 23)
31258 407895 : data_tmp = IAND(data_tmp, mask_left(17))
31259 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31260 407895 : ipack = ipack + 1
31261 407895 : packed_data(ipack) = pack_tmp
31262 407895 : data_tmp = full_data(idata)
31263 407895 : pack_tmp = ISHFT(data_tmp, 40)
31264 407895 : pack_tmp = ISHFT(pack_tmp, -40)
31265 407895 : idata = idata + 1
31266 407895 : data_tmp = full_data(idata)
31267 407895 : data_tmp = ISHFT(data_tmp, 23)
31268 407895 : data_tmp = IAND(data_tmp, mask_left(40))
31269 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31270 407895 : ipack = ipack + 1
31271 407895 : packed_data(ipack) = pack_tmp
31272 407895 : data_tmp = full_data(idata)
31273 407895 : pack_tmp = ISHFT(data_tmp, 63)
31274 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31275 407895 : idata = idata + 1
31276 407895 : data_tmp = full_data(idata)
31277 407895 : data_tmp = ISHFT(data_tmp, 23)
31278 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31279 407895 : pack_tmp = ISHFT(pack_tmp, -22)
31280 407895 : idata = idata + 1
31281 407895 : data_tmp = full_data(idata)
31282 407895 : data_tmp = ISHFT(data_tmp, 23)
31283 407895 : data_tmp = IAND(data_tmp, mask_left(22))
31284 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31285 407895 : ipack = ipack + 1
31286 407895 : packed_data(ipack) = pack_tmp
31287 407895 : data_tmp = full_data(idata)
31288 407895 : pack_tmp = ISHFT(data_tmp, 45)
31289 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31290 407895 : idata = idata + 1
31291 407895 : data_tmp = full_data(idata)
31292 407895 : data_tmp = ISHFT(data_tmp, 23)
31293 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31294 407895 : pack_tmp = ISHFT(pack_tmp, -4)
31295 407895 : idata = idata + 1
31296 407895 : data_tmp = full_data(idata)
31297 407895 : data_tmp = ISHFT(data_tmp, 23)
31298 407895 : data_tmp = IAND(data_tmp, mask_left(4))
31299 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31300 407895 : ipack = ipack + 1
31301 407895 : packed_data(ipack) = pack_tmp
31302 407895 : data_tmp = full_data(idata)
31303 407895 : pack_tmp = ISHFT(data_tmp, 27)
31304 407895 : pack_tmp = ISHFT(pack_tmp, -27)
31305 407895 : idata = idata + 1
31306 407895 : data_tmp = full_data(idata)
31307 407895 : data_tmp = ISHFT(data_tmp, 23)
31308 407895 : data_tmp = IAND(data_tmp, mask_left(27))
31309 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31310 407895 : ipack = ipack + 1
31311 407895 : packed_data(ipack) = pack_tmp
31312 407895 : data_tmp = full_data(idata)
31313 407895 : pack_tmp = ISHFT(data_tmp, 50)
31314 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31315 407895 : idata = idata + 1
31316 407895 : data_tmp = full_data(idata)
31317 407895 : data_tmp = ISHFT(data_tmp, 23)
31318 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31319 407895 : pack_tmp = ISHFT(pack_tmp, -9)
31320 407895 : idata = idata + 1
31321 407895 : data_tmp = full_data(idata)
31322 407895 : data_tmp = ISHFT(data_tmp, 23)
31323 407895 : data_tmp = IAND(data_tmp, mask_left(9))
31324 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31325 407895 : ipack = ipack + 1
31326 407895 : packed_data(ipack) = pack_tmp
31327 407895 : data_tmp = full_data(idata)
31328 407895 : pack_tmp = ISHFT(data_tmp, 32)
31329 407895 : pack_tmp = ISHFT(pack_tmp, -32)
31330 407895 : idata = idata + 1
31331 407895 : data_tmp = full_data(idata)
31332 407895 : data_tmp = ISHFT(data_tmp, 23)
31333 407895 : data_tmp = IAND(data_tmp, mask_left(32))
31334 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31335 407895 : ipack = ipack + 1
31336 407895 : packed_data(ipack) = pack_tmp
31337 407895 : data_tmp = full_data(idata)
31338 407895 : pack_tmp = ISHFT(data_tmp, 55)
31339 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31340 407895 : idata = idata + 1
31341 407895 : data_tmp = full_data(idata)
31342 407895 : data_tmp = ISHFT(data_tmp, 23)
31343 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31344 407895 : pack_tmp = ISHFT(pack_tmp, -14)
31345 407895 : idata = idata + 1
31346 407895 : data_tmp = full_data(idata)
31347 407895 : data_tmp = ISHFT(data_tmp, 23)
31348 407895 : data_tmp = IAND(data_tmp, mask_left(14))
31349 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31350 407895 : ipack = ipack + 1
31351 407895 : packed_data(ipack) = pack_tmp
31352 407895 : data_tmp = full_data(idata)
31353 407895 : pack_tmp = ISHFT(data_tmp, 37)
31354 407895 : pack_tmp = ISHFT(pack_tmp, -37)
31355 407895 : idata = idata + 1
31356 407895 : data_tmp = full_data(idata)
31357 407895 : data_tmp = ISHFT(data_tmp, 23)
31358 407895 : data_tmp = IAND(data_tmp, mask_left(37))
31359 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31360 407895 : ipack = ipack + 1
31361 407895 : packed_data(ipack) = pack_tmp
31362 407895 : data_tmp = full_data(idata)
31363 407895 : pack_tmp = ISHFT(data_tmp, 60)
31364 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31365 407895 : idata = idata + 1
31366 407895 : data_tmp = full_data(idata)
31367 407895 : data_tmp = ISHFT(data_tmp, 23)
31368 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31369 407895 : pack_tmp = ISHFT(pack_tmp, -19)
31370 407895 : idata = idata + 1
31371 407895 : data_tmp = full_data(idata)
31372 407895 : data_tmp = ISHFT(data_tmp, 23)
31373 407895 : data_tmp = IAND(data_tmp, mask_left(19))
31374 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31375 407895 : ipack = ipack + 1
31376 407895 : packed_data(ipack) = pack_tmp
31377 407895 : data_tmp = full_data(idata)
31378 407895 : pack_tmp = ISHFT(data_tmp, 42)
31379 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31380 407895 : idata = idata + 1
31381 407895 : data_tmp = full_data(idata)
31382 407895 : data_tmp = ISHFT(data_tmp, 23)
31383 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31384 407895 : pack_tmp = ISHFT(pack_tmp, -1)
31385 407895 : idata = idata + 1
31386 407895 : data_tmp = full_data(idata)
31387 407895 : data_tmp = ISHFT(data_tmp, 23)
31388 407895 : data_tmp = IAND(data_tmp, mask_left(1))
31389 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31390 407895 : ipack = ipack + 1
31391 407895 : packed_data(ipack) = pack_tmp
31392 407895 : data_tmp = full_data(idata)
31393 407895 : pack_tmp = ISHFT(data_tmp, 24)
31394 407895 : pack_tmp = ISHFT(pack_tmp, -24)
31395 407895 : idata = idata + 1
31396 407895 : data_tmp = full_data(idata)
31397 407895 : data_tmp = ISHFT(data_tmp, 23)
31398 407895 : data_tmp = IAND(data_tmp, mask_left(24))
31399 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31400 407895 : ipack = ipack + 1
31401 407895 : packed_data(ipack) = pack_tmp
31402 407895 : data_tmp = full_data(idata)
31403 407895 : pack_tmp = ISHFT(data_tmp, 47)
31404 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31405 407895 : idata = idata + 1
31406 407895 : data_tmp = full_data(idata)
31407 407895 : data_tmp = ISHFT(data_tmp, 23)
31408 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31409 407895 : pack_tmp = ISHFT(pack_tmp, -6)
31410 407895 : idata = idata + 1
31411 407895 : data_tmp = full_data(idata)
31412 407895 : data_tmp = ISHFT(data_tmp, 23)
31413 407895 : data_tmp = IAND(data_tmp, mask_left(6))
31414 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31415 407895 : ipack = ipack + 1
31416 407895 : packed_data(ipack) = pack_tmp
31417 407895 : data_tmp = full_data(idata)
31418 407895 : pack_tmp = ISHFT(data_tmp, 29)
31419 407895 : pack_tmp = ISHFT(pack_tmp, -29)
31420 407895 : idata = idata + 1
31421 407895 : data_tmp = full_data(idata)
31422 407895 : data_tmp = ISHFT(data_tmp, 23)
31423 407895 : data_tmp = IAND(data_tmp, mask_left(29))
31424 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31425 407895 : ipack = ipack + 1
31426 407895 : packed_data(ipack) = pack_tmp
31427 407895 : data_tmp = full_data(idata)
31428 407895 : pack_tmp = ISHFT(data_tmp, 52)
31429 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31430 407895 : idata = idata + 1
31431 407895 : data_tmp = full_data(idata)
31432 407895 : data_tmp = ISHFT(data_tmp, 23)
31433 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31434 407895 : pack_tmp = ISHFT(pack_tmp, -11)
31435 407895 : idata = idata + 1
31436 407895 : data_tmp = full_data(idata)
31437 407895 : data_tmp = ISHFT(data_tmp, 23)
31438 407895 : data_tmp = IAND(data_tmp, mask_left(11))
31439 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31440 407895 : ipack = ipack + 1
31441 407895 : packed_data(ipack) = pack_tmp
31442 407895 : data_tmp = full_data(idata)
31443 407895 : pack_tmp = ISHFT(data_tmp, 34)
31444 407895 : pack_tmp = ISHFT(pack_tmp, -34)
31445 407895 : idata = idata + 1
31446 407895 : data_tmp = full_data(idata)
31447 407895 : data_tmp = ISHFT(data_tmp, 23)
31448 407895 : data_tmp = IAND(data_tmp, mask_left(34))
31449 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31450 407895 : ipack = ipack + 1
31451 407895 : packed_data(ipack) = pack_tmp
31452 407895 : data_tmp = full_data(idata)
31453 407895 : pack_tmp = ISHFT(data_tmp, 57)
31454 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31455 407895 : idata = idata + 1
31456 407895 : data_tmp = full_data(idata)
31457 407895 : data_tmp = ISHFT(data_tmp, 23)
31458 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31459 407895 : pack_tmp = ISHFT(pack_tmp, -16)
31460 407895 : idata = idata + 1
31461 407895 : data_tmp = full_data(idata)
31462 407895 : data_tmp = ISHFT(data_tmp, 23)
31463 407895 : data_tmp = IAND(data_tmp, mask_left(16))
31464 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31465 407895 : ipack = ipack + 1
31466 407895 : packed_data(ipack) = pack_tmp
31467 407895 : data_tmp = full_data(idata)
31468 407895 : pack_tmp = ISHFT(data_tmp, 39)
31469 407895 : pack_tmp = ISHFT(pack_tmp, -39)
31470 407895 : idata = idata + 1
31471 407895 : data_tmp = full_data(idata)
31472 407895 : data_tmp = ISHFT(data_tmp, 23)
31473 407895 : data_tmp = IAND(data_tmp, mask_left(39))
31474 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31475 407895 : ipack = ipack + 1
31476 407895 : packed_data(ipack) = pack_tmp
31477 407895 : data_tmp = full_data(idata)
31478 407895 : pack_tmp = ISHFT(data_tmp, 62)
31479 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31480 407895 : idata = idata + 1
31481 407895 : data_tmp = full_data(idata)
31482 407895 : data_tmp = ISHFT(data_tmp, 23)
31483 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31484 407895 : pack_tmp = ISHFT(pack_tmp, -21)
31485 407895 : idata = idata + 1
31486 407895 : data_tmp = full_data(idata)
31487 407895 : data_tmp = ISHFT(data_tmp, 23)
31488 407895 : data_tmp = IAND(data_tmp, mask_left(21))
31489 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31490 407895 : ipack = ipack + 1
31491 407895 : packed_data(ipack) = pack_tmp
31492 407895 : data_tmp = full_data(idata)
31493 407895 : pack_tmp = ISHFT(data_tmp, 44)
31494 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31495 407895 : idata = idata + 1
31496 407895 : data_tmp = full_data(idata)
31497 407895 : data_tmp = ISHFT(data_tmp, 23)
31498 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31499 407895 : pack_tmp = ISHFT(pack_tmp, -3)
31500 407895 : idata = idata + 1
31501 407895 : data_tmp = full_data(idata)
31502 407895 : data_tmp = ISHFT(data_tmp, 23)
31503 407895 : data_tmp = IAND(data_tmp, mask_left(3))
31504 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31505 407895 : ipack = ipack + 1
31506 407895 : packed_data(ipack) = pack_tmp
31507 407895 : data_tmp = full_data(idata)
31508 407895 : pack_tmp = ISHFT(data_tmp, 26)
31509 407895 : pack_tmp = ISHFT(pack_tmp, -26)
31510 407895 : idata = idata + 1
31511 407895 : data_tmp = full_data(idata)
31512 407895 : data_tmp = ISHFT(data_tmp, 23)
31513 407895 : data_tmp = IAND(data_tmp, mask_left(26))
31514 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31515 407895 : ipack = ipack + 1
31516 407895 : packed_data(ipack) = pack_tmp
31517 407895 : data_tmp = full_data(idata)
31518 407895 : pack_tmp = ISHFT(data_tmp, 49)
31519 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31520 407895 : idata = idata + 1
31521 407895 : data_tmp = full_data(idata)
31522 407895 : data_tmp = ISHFT(data_tmp, 23)
31523 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31524 407895 : pack_tmp = ISHFT(pack_tmp, -8)
31525 407895 : idata = idata + 1
31526 407895 : data_tmp = full_data(idata)
31527 407895 : data_tmp = ISHFT(data_tmp, 23)
31528 407895 : data_tmp = IAND(data_tmp, mask_left(8))
31529 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31530 407895 : ipack = ipack + 1
31531 407895 : packed_data(ipack) = pack_tmp
31532 407895 : data_tmp = full_data(idata)
31533 407895 : pack_tmp = ISHFT(data_tmp, 31)
31534 407895 : pack_tmp = ISHFT(pack_tmp, -31)
31535 407895 : idata = idata + 1
31536 407895 : data_tmp = full_data(idata)
31537 407895 : data_tmp = ISHFT(data_tmp, 23)
31538 407895 : data_tmp = IAND(data_tmp, mask_left(31))
31539 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31540 407895 : ipack = ipack + 1
31541 407895 : packed_data(ipack) = pack_tmp
31542 407895 : data_tmp = full_data(idata)
31543 407895 : pack_tmp = ISHFT(data_tmp, 54)
31544 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31545 407895 : idata = idata + 1
31546 407895 : data_tmp = full_data(idata)
31547 407895 : data_tmp = ISHFT(data_tmp, 23)
31548 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31549 407895 : pack_tmp = ISHFT(pack_tmp, -13)
31550 407895 : idata = idata + 1
31551 407895 : data_tmp = full_data(idata)
31552 407895 : data_tmp = ISHFT(data_tmp, 23)
31553 407895 : data_tmp = IAND(data_tmp, mask_left(13))
31554 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31555 407895 : ipack = ipack + 1
31556 407895 : packed_data(ipack) = pack_tmp
31557 407895 : data_tmp = full_data(idata)
31558 407895 : pack_tmp = ISHFT(data_tmp, 36)
31559 407895 : pack_tmp = ISHFT(pack_tmp, -36)
31560 407895 : idata = idata + 1
31561 407895 : data_tmp = full_data(idata)
31562 407895 : data_tmp = ISHFT(data_tmp, 23)
31563 407895 : data_tmp = IAND(data_tmp, mask_left(36))
31564 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31565 407895 : ipack = ipack + 1
31566 407895 : packed_data(ipack) = pack_tmp
31567 407895 : data_tmp = full_data(idata)
31568 407895 : pack_tmp = ISHFT(data_tmp, 59)
31569 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31570 407895 : idata = idata + 1
31571 407895 : data_tmp = full_data(idata)
31572 407895 : data_tmp = ISHFT(data_tmp, 23)
31573 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31574 407895 : pack_tmp = ISHFT(pack_tmp, -18)
31575 407895 : idata = idata + 1
31576 407895 : data_tmp = full_data(idata)
31577 407895 : data_tmp = ISHFT(data_tmp, 23)
31578 407895 : data_tmp = IAND(data_tmp, mask_left(18))
31579 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31580 407895 : ipack = ipack + 1
31581 407895 : packed_data(ipack) = pack_tmp
31582 407895 : data_tmp = full_data(idata)
31583 407895 : pack_tmp = ISHFT(data_tmp, 41)
31584 407895 : pack_tmp = ISHFT(pack_tmp, -41)
31585 407895 : idata = idata + 1
31586 407895 : data_tmp = full_data(idata)
31587 407895 : data_tmp = ISHFT(data_tmp, 23)
31588 407895 : pack_tmp = IOR(pack_tmp, data_tmp)
31589 : pack_tmp = ISHFT(pack_tmp, 0)
31590 407895 : pack_tmp = ISHFT(pack_tmp, 0)
31591 407895 : ipack = ipack + 1
31592 407952 : packed_data(ipack) = pack_tmp
31593 : END DO
31594 27001 : IF (Ndata_rep < Ndata) THEN
31595 2802 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31596 : END IF
31597 27001 : END SUBROUTINE ints2bits_41
31598 :
31599 : ! **************************************************************************************************
31600 : !> \brief ...
31601 : !> \param Ndata ...
31602 : !> \param packed_data ...
31603 : !> \param full_data ...
31604 : ! **************************************************************************************************
31605 131175 : 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 131175 : ipack = 0
31616 131175 : idata = 0
31617 131175 : pack_tmp = 0
31618 131175 : Ndata_rep = (Ndata/64)*64
31619 131175 : DO kdata = 1, Ndata_rep, 64
31620 1850627 : idata = idata + 1
31621 1850627 : data_tmp = ISHFT(pack_tmp, 41)
31622 1850627 : ipack = ipack + 1
31623 1850627 : pack_tmp = packed_data(ipack)
31624 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
31625 1850627 : pack_tmp = ISHFT(pack_tmp, -41)
31626 1850627 : idata = idata + 1
31627 1850627 : data_tmp = ISHFT(pack_tmp, 18)
31628 1850627 : ipack = ipack + 1
31629 1850627 : pack_tmp = packed_data(ipack)
31630 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
31631 1850627 : pack_tmp = ISHFT(pack_tmp, -18)
31632 1850627 : idata = idata + 1
31633 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31634 1850627 : full_data(idata) = data_tmp
31635 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31636 1850627 : idata = idata + 1
31637 1850627 : data_tmp = ISHFT(pack_tmp, 36)
31638 1850627 : ipack = ipack + 1
31639 1850627 : pack_tmp = packed_data(ipack)
31640 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
31641 1850627 : pack_tmp = ISHFT(pack_tmp, -36)
31642 1850627 : idata = idata + 1
31643 1850627 : data_tmp = ISHFT(pack_tmp, 13)
31644 1850627 : ipack = ipack + 1
31645 1850627 : pack_tmp = packed_data(ipack)
31646 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
31647 1850627 : pack_tmp = ISHFT(pack_tmp, -13)
31648 1850627 : idata = idata + 1
31649 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31650 1850627 : full_data(idata) = data_tmp
31651 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31652 1850627 : idata = idata + 1
31653 1850627 : data_tmp = ISHFT(pack_tmp, 31)
31654 1850627 : ipack = ipack + 1
31655 1850627 : pack_tmp = packed_data(ipack)
31656 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
31657 1850627 : pack_tmp = ISHFT(pack_tmp, -31)
31658 1850627 : idata = idata + 1
31659 1850627 : data_tmp = ISHFT(pack_tmp, 8)
31660 1850627 : ipack = ipack + 1
31661 1850627 : pack_tmp = packed_data(ipack)
31662 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
31663 1850627 : pack_tmp = ISHFT(pack_tmp, -8)
31664 1850627 : idata = idata + 1
31665 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31666 1850627 : full_data(idata) = data_tmp
31667 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31668 1850627 : idata = idata + 1
31669 1850627 : data_tmp = ISHFT(pack_tmp, 26)
31670 1850627 : ipack = ipack + 1
31671 1850627 : pack_tmp = packed_data(ipack)
31672 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
31673 1850627 : pack_tmp = ISHFT(pack_tmp, -26)
31674 1850627 : idata = idata + 1
31675 1850627 : data_tmp = ISHFT(pack_tmp, 3)
31676 1850627 : ipack = ipack + 1
31677 1850627 : pack_tmp = packed_data(ipack)
31678 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
31679 1850627 : pack_tmp = ISHFT(pack_tmp, -3)
31680 1850627 : idata = idata + 1
31681 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31682 1850627 : full_data(idata) = data_tmp
31683 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31684 1850627 : idata = idata + 1
31685 1850627 : data_tmp = ISHFT(pack_tmp, 21)
31686 1850627 : ipack = ipack + 1
31687 1850627 : pack_tmp = packed_data(ipack)
31688 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
31689 1850627 : pack_tmp = ISHFT(pack_tmp, -21)
31690 1850627 : idata = idata + 1
31691 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31692 1850627 : full_data(idata) = data_tmp
31693 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31694 1850627 : idata = idata + 1
31695 1850627 : data_tmp = ISHFT(pack_tmp, 39)
31696 1850627 : ipack = ipack + 1
31697 1850627 : pack_tmp = packed_data(ipack)
31698 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
31699 1850627 : pack_tmp = ISHFT(pack_tmp, -39)
31700 1850627 : idata = idata + 1
31701 1850627 : data_tmp = ISHFT(pack_tmp, 16)
31702 1850627 : ipack = ipack + 1
31703 1850627 : pack_tmp = packed_data(ipack)
31704 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
31705 1850627 : pack_tmp = ISHFT(pack_tmp, -16)
31706 1850627 : idata = idata + 1
31707 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31708 1850627 : full_data(idata) = data_tmp
31709 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31710 1850627 : idata = idata + 1
31711 1850627 : data_tmp = ISHFT(pack_tmp, 34)
31712 1850627 : ipack = ipack + 1
31713 1850627 : pack_tmp = packed_data(ipack)
31714 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
31715 1850627 : pack_tmp = ISHFT(pack_tmp, -34)
31716 1850627 : idata = idata + 1
31717 1850627 : data_tmp = ISHFT(pack_tmp, 11)
31718 1850627 : ipack = ipack + 1
31719 1850627 : pack_tmp = packed_data(ipack)
31720 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
31721 1850627 : pack_tmp = ISHFT(pack_tmp, -11)
31722 1850627 : idata = idata + 1
31723 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31724 1850627 : full_data(idata) = data_tmp
31725 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31726 1850627 : idata = idata + 1
31727 1850627 : data_tmp = ISHFT(pack_tmp, 29)
31728 1850627 : ipack = ipack + 1
31729 1850627 : pack_tmp = packed_data(ipack)
31730 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
31731 1850627 : pack_tmp = ISHFT(pack_tmp, -29)
31732 1850627 : idata = idata + 1
31733 1850627 : data_tmp = ISHFT(pack_tmp, 6)
31734 1850627 : ipack = ipack + 1
31735 1850627 : pack_tmp = packed_data(ipack)
31736 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
31737 1850627 : pack_tmp = ISHFT(pack_tmp, -6)
31738 1850627 : idata = idata + 1
31739 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31740 1850627 : full_data(idata) = data_tmp
31741 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31742 1850627 : idata = idata + 1
31743 1850627 : data_tmp = ISHFT(pack_tmp, 24)
31744 1850627 : ipack = ipack + 1
31745 1850627 : pack_tmp = packed_data(ipack)
31746 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
31747 1850627 : pack_tmp = ISHFT(pack_tmp, -24)
31748 1850627 : idata = idata + 1
31749 1850627 : data_tmp = ISHFT(pack_tmp, 1)
31750 1850627 : ipack = ipack + 1
31751 1850627 : pack_tmp = packed_data(ipack)
31752 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
31753 1850627 : pack_tmp = ISHFT(pack_tmp, -1)
31754 1850627 : idata = idata + 1
31755 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31756 1850627 : full_data(idata) = data_tmp
31757 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31758 1850627 : idata = idata + 1
31759 1850627 : data_tmp = ISHFT(pack_tmp, 19)
31760 1850627 : ipack = ipack + 1
31761 1850627 : pack_tmp = packed_data(ipack)
31762 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
31763 1850627 : pack_tmp = ISHFT(pack_tmp, -19)
31764 1850627 : idata = idata + 1
31765 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31766 1850627 : full_data(idata) = data_tmp
31767 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31768 1850627 : idata = idata + 1
31769 1850627 : data_tmp = ISHFT(pack_tmp, 37)
31770 1850627 : ipack = ipack + 1
31771 1850627 : pack_tmp = packed_data(ipack)
31772 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
31773 1850627 : pack_tmp = ISHFT(pack_tmp, -37)
31774 1850627 : idata = idata + 1
31775 1850627 : data_tmp = ISHFT(pack_tmp, 14)
31776 1850627 : ipack = ipack + 1
31777 1850627 : pack_tmp = packed_data(ipack)
31778 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
31779 1850627 : pack_tmp = ISHFT(pack_tmp, -14)
31780 1850627 : idata = idata + 1
31781 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31782 1850627 : full_data(idata) = data_tmp
31783 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31784 1850627 : idata = idata + 1
31785 1850627 : data_tmp = ISHFT(pack_tmp, 32)
31786 1850627 : ipack = ipack + 1
31787 1850627 : pack_tmp = packed_data(ipack)
31788 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
31789 1850627 : pack_tmp = ISHFT(pack_tmp, -32)
31790 1850627 : idata = idata + 1
31791 1850627 : data_tmp = ISHFT(pack_tmp, 9)
31792 1850627 : ipack = ipack + 1
31793 1850627 : pack_tmp = packed_data(ipack)
31794 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
31795 1850627 : pack_tmp = ISHFT(pack_tmp, -9)
31796 1850627 : idata = idata + 1
31797 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31798 1850627 : full_data(idata) = data_tmp
31799 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31800 1850627 : idata = idata + 1
31801 1850627 : data_tmp = ISHFT(pack_tmp, 27)
31802 1850627 : ipack = ipack + 1
31803 1850627 : pack_tmp = packed_data(ipack)
31804 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
31805 1850627 : pack_tmp = ISHFT(pack_tmp, -27)
31806 1850627 : idata = idata + 1
31807 1850627 : data_tmp = ISHFT(pack_tmp, 4)
31808 1850627 : ipack = ipack + 1
31809 1850627 : pack_tmp = packed_data(ipack)
31810 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
31811 1850627 : pack_tmp = ISHFT(pack_tmp, -4)
31812 1850627 : idata = idata + 1
31813 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31814 1850627 : full_data(idata) = data_tmp
31815 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31816 1850627 : idata = idata + 1
31817 1850627 : data_tmp = ISHFT(pack_tmp, 22)
31818 1850627 : ipack = ipack + 1
31819 1850627 : pack_tmp = packed_data(ipack)
31820 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
31821 1850627 : pack_tmp = ISHFT(pack_tmp, -22)
31822 1850627 : idata = idata + 1
31823 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31824 1850627 : full_data(idata) = data_tmp
31825 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31826 1850627 : idata = idata + 1
31827 1850627 : data_tmp = ISHFT(pack_tmp, 40)
31828 1850627 : ipack = ipack + 1
31829 1850627 : pack_tmp = packed_data(ipack)
31830 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
31831 1850627 : pack_tmp = ISHFT(pack_tmp, -40)
31832 1850627 : idata = idata + 1
31833 1850627 : data_tmp = ISHFT(pack_tmp, 17)
31834 1850627 : ipack = ipack + 1
31835 1850627 : pack_tmp = packed_data(ipack)
31836 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
31837 1850627 : pack_tmp = ISHFT(pack_tmp, -17)
31838 1850627 : idata = idata + 1
31839 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31840 1850627 : full_data(idata) = data_tmp
31841 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31842 1850627 : idata = idata + 1
31843 1850627 : data_tmp = ISHFT(pack_tmp, 35)
31844 1850627 : ipack = ipack + 1
31845 1850627 : pack_tmp = packed_data(ipack)
31846 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
31847 1850627 : pack_tmp = ISHFT(pack_tmp, -35)
31848 1850627 : idata = idata + 1
31849 1850627 : data_tmp = ISHFT(pack_tmp, 12)
31850 1850627 : ipack = ipack + 1
31851 1850627 : pack_tmp = packed_data(ipack)
31852 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
31853 1850627 : pack_tmp = ISHFT(pack_tmp, -12)
31854 1850627 : idata = idata + 1
31855 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31856 1850627 : full_data(idata) = data_tmp
31857 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31858 1850627 : idata = idata + 1
31859 1850627 : data_tmp = ISHFT(pack_tmp, 30)
31860 1850627 : ipack = ipack + 1
31861 1850627 : pack_tmp = packed_data(ipack)
31862 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
31863 1850627 : pack_tmp = ISHFT(pack_tmp, -30)
31864 1850627 : idata = idata + 1
31865 1850627 : data_tmp = ISHFT(pack_tmp, 7)
31866 1850627 : ipack = ipack + 1
31867 1850627 : pack_tmp = packed_data(ipack)
31868 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
31869 1850627 : pack_tmp = ISHFT(pack_tmp, -7)
31870 1850627 : idata = idata + 1
31871 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31872 1850627 : full_data(idata) = data_tmp
31873 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31874 1850627 : idata = idata + 1
31875 1850627 : data_tmp = ISHFT(pack_tmp, 25)
31876 1850627 : ipack = ipack + 1
31877 1850627 : pack_tmp = packed_data(ipack)
31878 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
31879 1850627 : pack_tmp = ISHFT(pack_tmp, -25)
31880 1850627 : idata = idata + 1
31881 1850627 : data_tmp = ISHFT(pack_tmp, 2)
31882 1850627 : ipack = ipack + 1
31883 1850627 : pack_tmp = packed_data(ipack)
31884 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
31885 1850627 : pack_tmp = ISHFT(pack_tmp, -2)
31886 1850627 : idata = idata + 1
31887 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31888 1850627 : full_data(idata) = data_tmp
31889 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31890 1850627 : idata = idata + 1
31891 1850627 : data_tmp = ISHFT(pack_tmp, 20)
31892 1850627 : ipack = ipack + 1
31893 1850627 : pack_tmp = packed_data(ipack)
31894 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
31895 1850627 : pack_tmp = ISHFT(pack_tmp, -20)
31896 1850627 : idata = idata + 1
31897 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31898 1850627 : full_data(idata) = data_tmp
31899 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31900 1850627 : idata = idata + 1
31901 1850627 : data_tmp = ISHFT(pack_tmp, 38)
31902 1850627 : ipack = ipack + 1
31903 1850627 : pack_tmp = packed_data(ipack)
31904 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
31905 1850627 : pack_tmp = ISHFT(pack_tmp, -38)
31906 1850627 : idata = idata + 1
31907 1850627 : data_tmp = ISHFT(pack_tmp, 15)
31908 1850627 : ipack = ipack + 1
31909 1850627 : pack_tmp = packed_data(ipack)
31910 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
31911 1850627 : pack_tmp = ISHFT(pack_tmp, -15)
31912 1850627 : idata = idata + 1
31913 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31914 1850627 : full_data(idata) = data_tmp
31915 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31916 1850627 : idata = idata + 1
31917 1850627 : data_tmp = ISHFT(pack_tmp, 33)
31918 1850627 : ipack = ipack + 1
31919 1850627 : pack_tmp = packed_data(ipack)
31920 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
31921 1850627 : pack_tmp = ISHFT(pack_tmp, -33)
31922 1850627 : idata = idata + 1
31923 1850627 : data_tmp = ISHFT(pack_tmp, 10)
31924 1850627 : ipack = ipack + 1
31925 1850627 : pack_tmp = packed_data(ipack)
31926 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
31927 1850627 : pack_tmp = ISHFT(pack_tmp, -10)
31928 1850627 : idata = idata + 1
31929 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31930 1850627 : full_data(idata) = data_tmp
31931 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31932 1850627 : idata = idata + 1
31933 1850627 : data_tmp = ISHFT(pack_tmp, 28)
31934 1850627 : ipack = ipack + 1
31935 1850627 : pack_tmp = packed_data(ipack)
31936 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
31937 1850627 : pack_tmp = ISHFT(pack_tmp, -28)
31938 1850627 : idata = idata + 1
31939 1850627 : data_tmp = ISHFT(pack_tmp, 5)
31940 1850627 : ipack = ipack + 1
31941 1850627 : pack_tmp = packed_data(ipack)
31942 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
31943 1850627 : pack_tmp = ISHFT(pack_tmp, -5)
31944 1850627 : idata = idata + 1
31945 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31946 1850627 : full_data(idata) = data_tmp
31947 1850627 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31948 1850627 : idata = idata + 1
31949 1850627 : data_tmp = ISHFT(pack_tmp, 23)
31950 1850627 : ipack = ipack + 1
31951 1850627 : pack_tmp = packed_data(ipack)
31952 1850627 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
31953 1850627 : pack_tmp = ISHFT(pack_tmp, -23)
31954 1850627 : idata = idata + 1
31955 1850627 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31956 1850627 : full_data(idata) = data_tmp
31957 1851116 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31958 : END DO
31959 131175 : IF (Ndata_rep < Ndata) THEN
31960 28890 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31961 : END IF
31962 131175 : END SUBROUTINE bits2ints_41
31963 :
31964 : ! **************************************************************************************************
31965 : !> \brief ...
31966 : !> \param Ndata ...
31967 : !> \param packed_data ...
31968 : !> \param full_data ...
31969 : ! **************************************************************************************************
31970 25381 : 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 25381 : idata = 0
31981 25381 : ipack = 0
31982 25381 : Ndata_rep = (Ndata/64)*64
31983 25381 : DO kdata = 1, Ndata_rep, 64
31984 393006 : pack_tmp = 0
31985 393006 : idata = idata + 1
31986 393006 : data_tmp = full_data(idata)
31987 393006 : data_tmp = ISHFT(data_tmp, 22)
31988 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
31989 393006 : pack_tmp = ISHFT(pack_tmp, -22)
31990 393006 : idata = idata + 1
31991 393006 : data_tmp = full_data(idata)
31992 393006 : data_tmp = ISHFT(data_tmp, 22)
31993 393006 : data_tmp = IAND(data_tmp, mask_left(22))
31994 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
31995 393006 : ipack = ipack + 1
31996 393006 : packed_data(ipack) = pack_tmp
31997 393006 : data_tmp = full_data(idata)
31998 393006 : pack_tmp = ISHFT(data_tmp, 44)
31999 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32000 393006 : idata = idata + 1
32001 393006 : data_tmp = full_data(idata)
32002 393006 : data_tmp = ISHFT(data_tmp, 22)
32003 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32004 393006 : pack_tmp = ISHFT(pack_tmp, -2)
32005 393006 : idata = idata + 1
32006 393006 : data_tmp = full_data(idata)
32007 393006 : data_tmp = ISHFT(data_tmp, 22)
32008 393006 : data_tmp = IAND(data_tmp, mask_left(2))
32009 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32010 393006 : ipack = ipack + 1
32011 393006 : packed_data(ipack) = pack_tmp
32012 393006 : data_tmp = full_data(idata)
32013 393006 : pack_tmp = ISHFT(data_tmp, 24)
32014 393006 : pack_tmp = ISHFT(pack_tmp, -24)
32015 393006 : idata = idata + 1
32016 393006 : data_tmp = full_data(idata)
32017 393006 : data_tmp = ISHFT(data_tmp, 22)
32018 393006 : data_tmp = IAND(data_tmp, mask_left(24))
32019 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32020 393006 : ipack = ipack + 1
32021 393006 : packed_data(ipack) = pack_tmp
32022 393006 : data_tmp = full_data(idata)
32023 393006 : pack_tmp = ISHFT(data_tmp, 46)
32024 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32025 393006 : idata = idata + 1
32026 393006 : data_tmp = full_data(idata)
32027 393006 : data_tmp = ISHFT(data_tmp, 22)
32028 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32029 393006 : pack_tmp = ISHFT(pack_tmp, -4)
32030 393006 : idata = idata + 1
32031 393006 : data_tmp = full_data(idata)
32032 393006 : data_tmp = ISHFT(data_tmp, 22)
32033 393006 : data_tmp = IAND(data_tmp, mask_left(4))
32034 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32035 393006 : ipack = ipack + 1
32036 393006 : packed_data(ipack) = pack_tmp
32037 393006 : data_tmp = full_data(idata)
32038 393006 : pack_tmp = ISHFT(data_tmp, 26)
32039 393006 : pack_tmp = ISHFT(pack_tmp, -26)
32040 393006 : idata = idata + 1
32041 393006 : data_tmp = full_data(idata)
32042 393006 : data_tmp = ISHFT(data_tmp, 22)
32043 393006 : data_tmp = IAND(data_tmp, mask_left(26))
32044 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32045 393006 : ipack = ipack + 1
32046 393006 : packed_data(ipack) = pack_tmp
32047 393006 : data_tmp = full_data(idata)
32048 393006 : pack_tmp = ISHFT(data_tmp, 48)
32049 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32050 393006 : idata = idata + 1
32051 393006 : data_tmp = full_data(idata)
32052 393006 : data_tmp = ISHFT(data_tmp, 22)
32053 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32054 393006 : pack_tmp = ISHFT(pack_tmp, -6)
32055 393006 : idata = idata + 1
32056 393006 : data_tmp = full_data(idata)
32057 393006 : data_tmp = ISHFT(data_tmp, 22)
32058 393006 : data_tmp = IAND(data_tmp, mask_left(6))
32059 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32060 393006 : ipack = ipack + 1
32061 393006 : packed_data(ipack) = pack_tmp
32062 393006 : data_tmp = full_data(idata)
32063 393006 : pack_tmp = ISHFT(data_tmp, 28)
32064 393006 : pack_tmp = ISHFT(pack_tmp, -28)
32065 393006 : idata = idata + 1
32066 393006 : data_tmp = full_data(idata)
32067 393006 : data_tmp = ISHFT(data_tmp, 22)
32068 393006 : data_tmp = IAND(data_tmp, mask_left(28))
32069 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32070 393006 : ipack = ipack + 1
32071 393006 : packed_data(ipack) = pack_tmp
32072 393006 : data_tmp = full_data(idata)
32073 393006 : pack_tmp = ISHFT(data_tmp, 50)
32074 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32075 393006 : idata = idata + 1
32076 393006 : data_tmp = full_data(idata)
32077 393006 : data_tmp = ISHFT(data_tmp, 22)
32078 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32079 393006 : pack_tmp = ISHFT(pack_tmp, -8)
32080 393006 : idata = idata + 1
32081 393006 : data_tmp = full_data(idata)
32082 393006 : data_tmp = ISHFT(data_tmp, 22)
32083 393006 : data_tmp = IAND(data_tmp, mask_left(8))
32084 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32085 393006 : ipack = ipack + 1
32086 393006 : packed_data(ipack) = pack_tmp
32087 393006 : data_tmp = full_data(idata)
32088 393006 : pack_tmp = ISHFT(data_tmp, 30)
32089 393006 : pack_tmp = ISHFT(pack_tmp, -30)
32090 393006 : idata = idata + 1
32091 393006 : data_tmp = full_data(idata)
32092 393006 : data_tmp = ISHFT(data_tmp, 22)
32093 393006 : data_tmp = IAND(data_tmp, mask_left(30))
32094 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32095 393006 : ipack = ipack + 1
32096 393006 : packed_data(ipack) = pack_tmp
32097 393006 : data_tmp = full_data(idata)
32098 393006 : pack_tmp = ISHFT(data_tmp, 52)
32099 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32100 393006 : idata = idata + 1
32101 393006 : data_tmp = full_data(idata)
32102 393006 : data_tmp = ISHFT(data_tmp, 22)
32103 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32104 393006 : pack_tmp = ISHFT(pack_tmp, -10)
32105 393006 : idata = idata + 1
32106 393006 : data_tmp = full_data(idata)
32107 393006 : data_tmp = ISHFT(data_tmp, 22)
32108 393006 : data_tmp = IAND(data_tmp, mask_left(10))
32109 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32110 393006 : ipack = ipack + 1
32111 393006 : packed_data(ipack) = pack_tmp
32112 393006 : data_tmp = full_data(idata)
32113 393006 : pack_tmp = ISHFT(data_tmp, 32)
32114 393006 : pack_tmp = ISHFT(pack_tmp, -32)
32115 393006 : idata = idata + 1
32116 393006 : data_tmp = full_data(idata)
32117 393006 : data_tmp = ISHFT(data_tmp, 22)
32118 393006 : data_tmp = IAND(data_tmp, mask_left(32))
32119 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32120 393006 : ipack = ipack + 1
32121 393006 : packed_data(ipack) = pack_tmp
32122 393006 : data_tmp = full_data(idata)
32123 393006 : pack_tmp = ISHFT(data_tmp, 54)
32124 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32125 393006 : idata = idata + 1
32126 393006 : data_tmp = full_data(idata)
32127 393006 : data_tmp = ISHFT(data_tmp, 22)
32128 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32129 393006 : pack_tmp = ISHFT(pack_tmp, -12)
32130 393006 : idata = idata + 1
32131 393006 : data_tmp = full_data(idata)
32132 393006 : data_tmp = ISHFT(data_tmp, 22)
32133 393006 : data_tmp = IAND(data_tmp, mask_left(12))
32134 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32135 393006 : ipack = ipack + 1
32136 393006 : packed_data(ipack) = pack_tmp
32137 393006 : data_tmp = full_data(idata)
32138 393006 : pack_tmp = ISHFT(data_tmp, 34)
32139 393006 : pack_tmp = ISHFT(pack_tmp, -34)
32140 393006 : idata = idata + 1
32141 393006 : data_tmp = full_data(idata)
32142 393006 : data_tmp = ISHFT(data_tmp, 22)
32143 393006 : data_tmp = IAND(data_tmp, mask_left(34))
32144 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32145 393006 : ipack = ipack + 1
32146 393006 : packed_data(ipack) = pack_tmp
32147 393006 : data_tmp = full_data(idata)
32148 393006 : pack_tmp = ISHFT(data_tmp, 56)
32149 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32150 393006 : idata = idata + 1
32151 393006 : data_tmp = full_data(idata)
32152 393006 : data_tmp = ISHFT(data_tmp, 22)
32153 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32154 393006 : pack_tmp = ISHFT(pack_tmp, -14)
32155 393006 : idata = idata + 1
32156 393006 : data_tmp = full_data(idata)
32157 393006 : data_tmp = ISHFT(data_tmp, 22)
32158 393006 : data_tmp = IAND(data_tmp, mask_left(14))
32159 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32160 393006 : ipack = ipack + 1
32161 393006 : packed_data(ipack) = pack_tmp
32162 393006 : data_tmp = full_data(idata)
32163 393006 : pack_tmp = ISHFT(data_tmp, 36)
32164 393006 : pack_tmp = ISHFT(pack_tmp, -36)
32165 393006 : idata = idata + 1
32166 393006 : data_tmp = full_data(idata)
32167 393006 : data_tmp = ISHFT(data_tmp, 22)
32168 393006 : data_tmp = IAND(data_tmp, mask_left(36))
32169 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32170 393006 : ipack = ipack + 1
32171 393006 : packed_data(ipack) = pack_tmp
32172 393006 : data_tmp = full_data(idata)
32173 393006 : pack_tmp = ISHFT(data_tmp, 58)
32174 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32175 393006 : idata = idata + 1
32176 393006 : data_tmp = full_data(idata)
32177 393006 : data_tmp = ISHFT(data_tmp, 22)
32178 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32179 393006 : pack_tmp = ISHFT(pack_tmp, -16)
32180 393006 : idata = idata + 1
32181 393006 : data_tmp = full_data(idata)
32182 393006 : data_tmp = ISHFT(data_tmp, 22)
32183 393006 : data_tmp = IAND(data_tmp, mask_left(16))
32184 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32185 393006 : ipack = ipack + 1
32186 393006 : packed_data(ipack) = pack_tmp
32187 393006 : data_tmp = full_data(idata)
32188 393006 : pack_tmp = ISHFT(data_tmp, 38)
32189 393006 : pack_tmp = ISHFT(pack_tmp, -38)
32190 393006 : idata = idata + 1
32191 393006 : data_tmp = full_data(idata)
32192 393006 : data_tmp = ISHFT(data_tmp, 22)
32193 393006 : data_tmp = IAND(data_tmp, mask_left(38))
32194 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32195 393006 : ipack = ipack + 1
32196 393006 : packed_data(ipack) = pack_tmp
32197 393006 : data_tmp = full_data(idata)
32198 393006 : pack_tmp = ISHFT(data_tmp, 60)
32199 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32200 393006 : idata = idata + 1
32201 393006 : data_tmp = full_data(idata)
32202 393006 : data_tmp = ISHFT(data_tmp, 22)
32203 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32204 393006 : pack_tmp = ISHFT(pack_tmp, -18)
32205 393006 : idata = idata + 1
32206 393006 : data_tmp = full_data(idata)
32207 393006 : data_tmp = ISHFT(data_tmp, 22)
32208 393006 : data_tmp = IAND(data_tmp, mask_left(18))
32209 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32210 393006 : ipack = ipack + 1
32211 393006 : packed_data(ipack) = pack_tmp
32212 393006 : data_tmp = full_data(idata)
32213 393006 : pack_tmp = ISHFT(data_tmp, 40)
32214 393006 : pack_tmp = ISHFT(pack_tmp, -40)
32215 393006 : idata = idata + 1
32216 393006 : data_tmp = full_data(idata)
32217 393006 : data_tmp = ISHFT(data_tmp, 22)
32218 393006 : data_tmp = IAND(data_tmp, mask_left(40))
32219 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32220 393006 : ipack = ipack + 1
32221 393006 : packed_data(ipack) = pack_tmp
32222 393006 : data_tmp = full_data(idata)
32223 393006 : pack_tmp = ISHFT(data_tmp, 62)
32224 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32225 393006 : idata = idata + 1
32226 393006 : data_tmp = full_data(idata)
32227 393006 : data_tmp = ISHFT(data_tmp, 22)
32228 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32229 393006 : pack_tmp = ISHFT(pack_tmp, -20)
32230 393006 : idata = idata + 1
32231 393006 : data_tmp = full_data(idata)
32232 393006 : data_tmp = ISHFT(data_tmp, 22)
32233 393006 : data_tmp = IAND(data_tmp, mask_left(20))
32234 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32235 393006 : ipack = ipack + 1
32236 393006 : packed_data(ipack) = pack_tmp
32237 393006 : data_tmp = full_data(idata)
32238 393006 : pack_tmp = ISHFT(data_tmp, 42)
32239 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32240 393006 : idata = idata + 1
32241 393006 : data_tmp = full_data(idata)
32242 393006 : data_tmp = ISHFT(data_tmp, 22)
32243 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32244 393006 : pack_tmp = ISHFT(pack_tmp, 0)
32245 393006 : idata = idata + 1
32246 393006 : data_tmp = full_data(idata)
32247 : data_tmp = ISHFT(data_tmp, 22)
32248 393006 : data_tmp = IAND(data_tmp, mask_left(0))
32249 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32250 393006 : ipack = ipack + 1
32251 393006 : packed_data(ipack) = pack_tmp
32252 393006 : data_tmp = full_data(idata)
32253 393006 : pack_tmp = ISHFT(data_tmp, 22)
32254 393006 : pack_tmp = ISHFT(pack_tmp, -22)
32255 393006 : idata = idata + 1
32256 393006 : data_tmp = full_data(idata)
32257 393006 : data_tmp = ISHFT(data_tmp, 22)
32258 393006 : data_tmp = IAND(data_tmp, mask_left(22))
32259 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32260 393006 : ipack = ipack + 1
32261 393006 : packed_data(ipack) = pack_tmp
32262 393006 : data_tmp = full_data(idata)
32263 393006 : pack_tmp = ISHFT(data_tmp, 44)
32264 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32265 393006 : idata = idata + 1
32266 393006 : data_tmp = full_data(idata)
32267 393006 : data_tmp = ISHFT(data_tmp, 22)
32268 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32269 393006 : pack_tmp = ISHFT(pack_tmp, -2)
32270 393006 : idata = idata + 1
32271 393006 : data_tmp = full_data(idata)
32272 393006 : data_tmp = ISHFT(data_tmp, 22)
32273 393006 : data_tmp = IAND(data_tmp, mask_left(2))
32274 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32275 393006 : ipack = ipack + 1
32276 393006 : packed_data(ipack) = pack_tmp
32277 393006 : data_tmp = full_data(idata)
32278 393006 : pack_tmp = ISHFT(data_tmp, 24)
32279 393006 : pack_tmp = ISHFT(pack_tmp, -24)
32280 393006 : idata = idata + 1
32281 393006 : data_tmp = full_data(idata)
32282 393006 : data_tmp = ISHFT(data_tmp, 22)
32283 393006 : data_tmp = IAND(data_tmp, mask_left(24))
32284 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32285 393006 : ipack = ipack + 1
32286 393006 : packed_data(ipack) = pack_tmp
32287 393006 : data_tmp = full_data(idata)
32288 393006 : pack_tmp = ISHFT(data_tmp, 46)
32289 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32290 393006 : idata = idata + 1
32291 393006 : data_tmp = full_data(idata)
32292 393006 : data_tmp = ISHFT(data_tmp, 22)
32293 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32294 393006 : pack_tmp = ISHFT(pack_tmp, -4)
32295 393006 : idata = idata + 1
32296 393006 : data_tmp = full_data(idata)
32297 393006 : data_tmp = ISHFT(data_tmp, 22)
32298 393006 : data_tmp = IAND(data_tmp, mask_left(4))
32299 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32300 393006 : ipack = ipack + 1
32301 393006 : packed_data(ipack) = pack_tmp
32302 393006 : data_tmp = full_data(idata)
32303 393006 : pack_tmp = ISHFT(data_tmp, 26)
32304 393006 : pack_tmp = ISHFT(pack_tmp, -26)
32305 393006 : idata = idata + 1
32306 393006 : data_tmp = full_data(idata)
32307 393006 : data_tmp = ISHFT(data_tmp, 22)
32308 393006 : data_tmp = IAND(data_tmp, mask_left(26))
32309 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32310 393006 : ipack = ipack + 1
32311 393006 : packed_data(ipack) = pack_tmp
32312 393006 : data_tmp = full_data(idata)
32313 393006 : pack_tmp = ISHFT(data_tmp, 48)
32314 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32315 393006 : idata = idata + 1
32316 393006 : data_tmp = full_data(idata)
32317 393006 : data_tmp = ISHFT(data_tmp, 22)
32318 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32319 393006 : pack_tmp = ISHFT(pack_tmp, -6)
32320 393006 : idata = idata + 1
32321 393006 : data_tmp = full_data(idata)
32322 393006 : data_tmp = ISHFT(data_tmp, 22)
32323 393006 : data_tmp = IAND(data_tmp, mask_left(6))
32324 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32325 393006 : ipack = ipack + 1
32326 393006 : packed_data(ipack) = pack_tmp
32327 393006 : data_tmp = full_data(idata)
32328 393006 : pack_tmp = ISHFT(data_tmp, 28)
32329 393006 : pack_tmp = ISHFT(pack_tmp, -28)
32330 393006 : idata = idata + 1
32331 393006 : data_tmp = full_data(idata)
32332 393006 : data_tmp = ISHFT(data_tmp, 22)
32333 393006 : data_tmp = IAND(data_tmp, mask_left(28))
32334 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32335 393006 : ipack = ipack + 1
32336 393006 : packed_data(ipack) = pack_tmp
32337 393006 : data_tmp = full_data(idata)
32338 393006 : pack_tmp = ISHFT(data_tmp, 50)
32339 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32340 393006 : idata = idata + 1
32341 393006 : data_tmp = full_data(idata)
32342 393006 : data_tmp = ISHFT(data_tmp, 22)
32343 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32344 393006 : pack_tmp = ISHFT(pack_tmp, -8)
32345 393006 : idata = idata + 1
32346 393006 : data_tmp = full_data(idata)
32347 393006 : data_tmp = ISHFT(data_tmp, 22)
32348 393006 : data_tmp = IAND(data_tmp, mask_left(8))
32349 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32350 393006 : ipack = ipack + 1
32351 393006 : packed_data(ipack) = pack_tmp
32352 393006 : data_tmp = full_data(idata)
32353 393006 : pack_tmp = ISHFT(data_tmp, 30)
32354 393006 : pack_tmp = ISHFT(pack_tmp, -30)
32355 393006 : idata = idata + 1
32356 393006 : data_tmp = full_data(idata)
32357 393006 : data_tmp = ISHFT(data_tmp, 22)
32358 393006 : data_tmp = IAND(data_tmp, mask_left(30))
32359 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32360 393006 : ipack = ipack + 1
32361 393006 : packed_data(ipack) = pack_tmp
32362 393006 : data_tmp = full_data(idata)
32363 393006 : pack_tmp = ISHFT(data_tmp, 52)
32364 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32365 393006 : idata = idata + 1
32366 393006 : data_tmp = full_data(idata)
32367 393006 : data_tmp = ISHFT(data_tmp, 22)
32368 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32369 393006 : pack_tmp = ISHFT(pack_tmp, -10)
32370 393006 : idata = idata + 1
32371 393006 : data_tmp = full_data(idata)
32372 393006 : data_tmp = ISHFT(data_tmp, 22)
32373 393006 : data_tmp = IAND(data_tmp, mask_left(10))
32374 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32375 393006 : ipack = ipack + 1
32376 393006 : packed_data(ipack) = pack_tmp
32377 393006 : data_tmp = full_data(idata)
32378 393006 : pack_tmp = ISHFT(data_tmp, 32)
32379 393006 : pack_tmp = ISHFT(pack_tmp, -32)
32380 393006 : idata = idata + 1
32381 393006 : data_tmp = full_data(idata)
32382 393006 : data_tmp = ISHFT(data_tmp, 22)
32383 393006 : data_tmp = IAND(data_tmp, mask_left(32))
32384 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32385 393006 : ipack = ipack + 1
32386 393006 : packed_data(ipack) = pack_tmp
32387 393006 : data_tmp = full_data(idata)
32388 393006 : pack_tmp = ISHFT(data_tmp, 54)
32389 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32390 393006 : idata = idata + 1
32391 393006 : data_tmp = full_data(idata)
32392 393006 : data_tmp = ISHFT(data_tmp, 22)
32393 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32394 393006 : pack_tmp = ISHFT(pack_tmp, -12)
32395 393006 : idata = idata + 1
32396 393006 : data_tmp = full_data(idata)
32397 393006 : data_tmp = ISHFT(data_tmp, 22)
32398 393006 : data_tmp = IAND(data_tmp, mask_left(12))
32399 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32400 393006 : ipack = ipack + 1
32401 393006 : packed_data(ipack) = pack_tmp
32402 393006 : data_tmp = full_data(idata)
32403 393006 : pack_tmp = ISHFT(data_tmp, 34)
32404 393006 : pack_tmp = ISHFT(pack_tmp, -34)
32405 393006 : idata = idata + 1
32406 393006 : data_tmp = full_data(idata)
32407 393006 : data_tmp = ISHFT(data_tmp, 22)
32408 393006 : data_tmp = IAND(data_tmp, mask_left(34))
32409 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32410 393006 : ipack = ipack + 1
32411 393006 : packed_data(ipack) = pack_tmp
32412 393006 : data_tmp = full_data(idata)
32413 393006 : pack_tmp = ISHFT(data_tmp, 56)
32414 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32415 393006 : idata = idata + 1
32416 393006 : data_tmp = full_data(idata)
32417 393006 : data_tmp = ISHFT(data_tmp, 22)
32418 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32419 393006 : pack_tmp = ISHFT(pack_tmp, -14)
32420 393006 : idata = idata + 1
32421 393006 : data_tmp = full_data(idata)
32422 393006 : data_tmp = ISHFT(data_tmp, 22)
32423 393006 : data_tmp = IAND(data_tmp, mask_left(14))
32424 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32425 393006 : ipack = ipack + 1
32426 393006 : packed_data(ipack) = pack_tmp
32427 393006 : data_tmp = full_data(idata)
32428 393006 : pack_tmp = ISHFT(data_tmp, 36)
32429 393006 : pack_tmp = ISHFT(pack_tmp, -36)
32430 393006 : idata = idata + 1
32431 393006 : data_tmp = full_data(idata)
32432 393006 : data_tmp = ISHFT(data_tmp, 22)
32433 393006 : data_tmp = IAND(data_tmp, mask_left(36))
32434 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32435 393006 : ipack = ipack + 1
32436 393006 : packed_data(ipack) = pack_tmp
32437 393006 : data_tmp = full_data(idata)
32438 393006 : pack_tmp = ISHFT(data_tmp, 58)
32439 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32440 393006 : idata = idata + 1
32441 393006 : data_tmp = full_data(idata)
32442 393006 : data_tmp = ISHFT(data_tmp, 22)
32443 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32444 393006 : pack_tmp = ISHFT(pack_tmp, -16)
32445 393006 : idata = idata + 1
32446 393006 : data_tmp = full_data(idata)
32447 393006 : data_tmp = ISHFT(data_tmp, 22)
32448 393006 : data_tmp = IAND(data_tmp, mask_left(16))
32449 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32450 393006 : ipack = ipack + 1
32451 393006 : packed_data(ipack) = pack_tmp
32452 393006 : data_tmp = full_data(idata)
32453 393006 : pack_tmp = ISHFT(data_tmp, 38)
32454 393006 : pack_tmp = ISHFT(pack_tmp, -38)
32455 393006 : idata = idata + 1
32456 393006 : data_tmp = full_data(idata)
32457 393006 : data_tmp = ISHFT(data_tmp, 22)
32458 393006 : data_tmp = IAND(data_tmp, mask_left(38))
32459 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32460 393006 : ipack = ipack + 1
32461 393006 : packed_data(ipack) = pack_tmp
32462 393006 : data_tmp = full_data(idata)
32463 393006 : pack_tmp = ISHFT(data_tmp, 60)
32464 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32465 393006 : idata = idata + 1
32466 393006 : data_tmp = full_data(idata)
32467 393006 : data_tmp = ISHFT(data_tmp, 22)
32468 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32469 393006 : pack_tmp = ISHFT(pack_tmp, -18)
32470 393006 : idata = idata + 1
32471 393006 : data_tmp = full_data(idata)
32472 393006 : data_tmp = ISHFT(data_tmp, 22)
32473 393006 : data_tmp = IAND(data_tmp, mask_left(18))
32474 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32475 393006 : ipack = ipack + 1
32476 393006 : packed_data(ipack) = pack_tmp
32477 393006 : data_tmp = full_data(idata)
32478 393006 : pack_tmp = ISHFT(data_tmp, 40)
32479 393006 : pack_tmp = ISHFT(pack_tmp, -40)
32480 393006 : idata = idata + 1
32481 393006 : data_tmp = full_data(idata)
32482 393006 : data_tmp = ISHFT(data_tmp, 22)
32483 393006 : data_tmp = IAND(data_tmp, mask_left(40))
32484 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32485 393006 : ipack = ipack + 1
32486 393006 : packed_data(ipack) = pack_tmp
32487 393006 : data_tmp = full_data(idata)
32488 393006 : pack_tmp = ISHFT(data_tmp, 62)
32489 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32490 393006 : idata = idata + 1
32491 393006 : data_tmp = full_data(idata)
32492 393006 : data_tmp = ISHFT(data_tmp, 22)
32493 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32494 393006 : pack_tmp = ISHFT(pack_tmp, -20)
32495 393006 : idata = idata + 1
32496 393006 : data_tmp = full_data(idata)
32497 393006 : data_tmp = ISHFT(data_tmp, 22)
32498 393006 : data_tmp = IAND(data_tmp, mask_left(20))
32499 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32500 393006 : ipack = ipack + 1
32501 393006 : packed_data(ipack) = pack_tmp
32502 393006 : data_tmp = full_data(idata)
32503 393006 : pack_tmp = ISHFT(data_tmp, 42)
32504 393006 : pack_tmp = ISHFT(pack_tmp, -42)
32505 393006 : idata = idata + 1
32506 393006 : data_tmp = full_data(idata)
32507 393006 : data_tmp = ISHFT(data_tmp, 22)
32508 393006 : pack_tmp = IOR(pack_tmp, data_tmp)
32509 : pack_tmp = ISHFT(pack_tmp, 0)
32510 393006 : pack_tmp = ISHFT(pack_tmp, 0)
32511 393006 : ipack = ipack + 1
32512 393108 : packed_data(ipack) = pack_tmp
32513 : END DO
32514 25381 : IF (Ndata_rep < Ndata) THEN
32515 1540 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32516 : END IF
32517 25381 : END SUBROUTINE ints2bits_42
32518 :
32519 : ! **************************************************************************************************
32520 : !> \brief ...
32521 : !> \param Ndata ...
32522 : !> \param packed_data ...
32523 : !> \param full_data ...
32524 : ! **************************************************************************************************
32525 116082 : 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 116082 : ipack = 0
32536 116082 : idata = 0
32537 116082 : pack_tmp = 0
32538 116082 : Ndata_rep = (Ndata/64)*64
32539 116082 : DO kdata = 1, Ndata_rep, 64
32540 1713747 : idata = idata + 1
32541 1713747 : data_tmp = ISHFT(pack_tmp, 42)
32542 1713747 : ipack = ipack + 1
32543 1713747 : pack_tmp = packed_data(ipack)
32544 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32545 1713747 : pack_tmp = ISHFT(pack_tmp, -42)
32546 1713747 : idata = idata + 1
32547 1713747 : data_tmp = ISHFT(pack_tmp, 20)
32548 1713747 : ipack = ipack + 1
32549 1713747 : pack_tmp = packed_data(ipack)
32550 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32551 1713747 : pack_tmp = ISHFT(pack_tmp, -20)
32552 1713747 : idata = idata + 1
32553 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32554 1713747 : full_data(idata) = data_tmp
32555 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32556 1713747 : idata = idata + 1
32557 1713747 : data_tmp = ISHFT(pack_tmp, 40)
32558 1713747 : ipack = ipack + 1
32559 1713747 : pack_tmp = packed_data(ipack)
32560 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32561 1713747 : pack_tmp = ISHFT(pack_tmp, -40)
32562 1713747 : idata = idata + 1
32563 1713747 : data_tmp = ISHFT(pack_tmp, 18)
32564 1713747 : ipack = ipack + 1
32565 1713747 : pack_tmp = packed_data(ipack)
32566 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32567 1713747 : pack_tmp = ISHFT(pack_tmp, -18)
32568 1713747 : idata = idata + 1
32569 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32570 1713747 : full_data(idata) = data_tmp
32571 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32572 1713747 : idata = idata + 1
32573 1713747 : data_tmp = ISHFT(pack_tmp, 38)
32574 1713747 : ipack = ipack + 1
32575 1713747 : pack_tmp = packed_data(ipack)
32576 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32577 1713747 : pack_tmp = ISHFT(pack_tmp, -38)
32578 1713747 : idata = idata + 1
32579 1713747 : data_tmp = ISHFT(pack_tmp, 16)
32580 1713747 : ipack = ipack + 1
32581 1713747 : pack_tmp = packed_data(ipack)
32582 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32583 1713747 : pack_tmp = ISHFT(pack_tmp, -16)
32584 1713747 : idata = idata + 1
32585 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32586 1713747 : full_data(idata) = data_tmp
32587 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32588 1713747 : idata = idata + 1
32589 1713747 : data_tmp = ISHFT(pack_tmp, 36)
32590 1713747 : ipack = ipack + 1
32591 1713747 : pack_tmp = packed_data(ipack)
32592 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32593 1713747 : pack_tmp = ISHFT(pack_tmp, -36)
32594 1713747 : idata = idata + 1
32595 1713747 : data_tmp = ISHFT(pack_tmp, 14)
32596 1713747 : ipack = ipack + 1
32597 1713747 : pack_tmp = packed_data(ipack)
32598 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32599 1713747 : pack_tmp = ISHFT(pack_tmp, -14)
32600 1713747 : idata = idata + 1
32601 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32602 1713747 : full_data(idata) = data_tmp
32603 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32604 1713747 : idata = idata + 1
32605 1713747 : data_tmp = ISHFT(pack_tmp, 34)
32606 1713747 : ipack = ipack + 1
32607 1713747 : pack_tmp = packed_data(ipack)
32608 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32609 1713747 : pack_tmp = ISHFT(pack_tmp, -34)
32610 1713747 : idata = idata + 1
32611 1713747 : data_tmp = ISHFT(pack_tmp, 12)
32612 1713747 : ipack = ipack + 1
32613 1713747 : pack_tmp = packed_data(ipack)
32614 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32615 1713747 : pack_tmp = ISHFT(pack_tmp, -12)
32616 1713747 : idata = idata + 1
32617 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32618 1713747 : full_data(idata) = data_tmp
32619 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32620 1713747 : idata = idata + 1
32621 1713747 : data_tmp = ISHFT(pack_tmp, 32)
32622 1713747 : ipack = ipack + 1
32623 1713747 : pack_tmp = packed_data(ipack)
32624 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32625 1713747 : pack_tmp = ISHFT(pack_tmp, -32)
32626 1713747 : idata = idata + 1
32627 1713747 : data_tmp = ISHFT(pack_tmp, 10)
32628 1713747 : ipack = ipack + 1
32629 1713747 : pack_tmp = packed_data(ipack)
32630 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32631 1713747 : pack_tmp = ISHFT(pack_tmp, -10)
32632 1713747 : idata = idata + 1
32633 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32634 1713747 : full_data(idata) = data_tmp
32635 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32636 1713747 : idata = idata + 1
32637 1713747 : data_tmp = ISHFT(pack_tmp, 30)
32638 1713747 : ipack = ipack + 1
32639 1713747 : pack_tmp = packed_data(ipack)
32640 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32641 1713747 : pack_tmp = ISHFT(pack_tmp, -30)
32642 1713747 : idata = idata + 1
32643 1713747 : data_tmp = ISHFT(pack_tmp, 8)
32644 1713747 : ipack = ipack + 1
32645 1713747 : pack_tmp = packed_data(ipack)
32646 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32647 1713747 : pack_tmp = ISHFT(pack_tmp, -8)
32648 1713747 : idata = idata + 1
32649 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32650 1713747 : full_data(idata) = data_tmp
32651 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32652 1713747 : idata = idata + 1
32653 1713747 : data_tmp = ISHFT(pack_tmp, 28)
32654 1713747 : ipack = ipack + 1
32655 1713747 : pack_tmp = packed_data(ipack)
32656 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32657 1713747 : pack_tmp = ISHFT(pack_tmp, -28)
32658 1713747 : idata = idata + 1
32659 1713747 : data_tmp = ISHFT(pack_tmp, 6)
32660 1713747 : ipack = ipack + 1
32661 1713747 : pack_tmp = packed_data(ipack)
32662 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32663 1713747 : pack_tmp = ISHFT(pack_tmp, -6)
32664 1713747 : idata = idata + 1
32665 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32666 1713747 : full_data(idata) = data_tmp
32667 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32668 1713747 : idata = idata + 1
32669 1713747 : data_tmp = ISHFT(pack_tmp, 26)
32670 1713747 : ipack = ipack + 1
32671 1713747 : pack_tmp = packed_data(ipack)
32672 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32673 1713747 : pack_tmp = ISHFT(pack_tmp, -26)
32674 1713747 : idata = idata + 1
32675 1713747 : data_tmp = ISHFT(pack_tmp, 4)
32676 1713747 : ipack = ipack + 1
32677 1713747 : pack_tmp = packed_data(ipack)
32678 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32679 1713747 : pack_tmp = ISHFT(pack_tmp, -4)
32680 1713747 : idata = idata + 1
32681 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32682 1713747 : full_data(idata) = data_tmp
32683 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32684 1713747 : idata = idata + 1
32685 1713747 : data_tmp = ISHFT(pack_tmp, 24)
32686 1713747 : ipack = ipack + 1
32687 1713747 : pack_tmp = packed_data(ipack)
32688 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32689 1713747 : pack_tmp = ISHFT(pack_tmp, -24)
32690 1713747 : idata = idata + 1
32691 1713747 : data_tmp = ISHFT(pack_tmp, 2)
32692 1713747 : ipack = ipack + 1
32693 1713747 : pack_tmp = packed_data(ipack)
32694 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32695 1713747 : pack_tmp = ISHFT(pack_tmp, -2)
32696 1713747 : idata = idata + 1
32697 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32698 1713747 : full_data(idata) = data_tmp
32699 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32700 1713747 : idata = idata + 1
32701 1713747 : data_tmp = ISHFT(pack_tmp, 22)
32702 1713747 : ipack = ipack + 1
32703 1713747 : pack_tmp = packed_data(ipack)
32704 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32705 1713747 : pack_tmp = ISHFT(pack_tmp, -22)
32706 1713747 : idata = idata + 1
32707 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32708 1713747 : full_data(idata) = data_tmp
32709 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32710 1713747 : idata = idata + 1
32711 1713747 : data_tmp = ISHFT(pack_tmp, 42)
32712 1713747 : ipack = ipack + 1
32713 1713747 : pack_tmp = packed_data(ipack)
32714 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32715 1713747 : pack_tmp = ISHFT(pack_tmp, -42)
32716 1713747 : idata = idata + 1
32717 1713747 : data_tmp = ISHFT(pack_tmp, 20)
32718 1713747 : ipack = ipack + 1
32719 1713747 : pack_tmp = packed_data(ipack)
32720 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32721 1713747 : pack_tmp = ISHFT(pack_tmp, -20)
32722 1713747 : idata = idata + 1
32723 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32724 1713747 : full_data(idata) = data_tmp
32725 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32726 1713747 : idata = idata + 1
32727 1713747 : data_tmp = ISHFT(pack_tmp, 40)
32728 1713747 : ipack = ipack + 1
32729 1713747 : pack_tmp = packed_data(ipack)
32730 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32731 1713747 : pack_tmp = ISHFT(pack_tmp, -40)
32732 1713747 : idata = idata + 1
32733 1713747 : data_tmp = ISHFT(pack_tmp, 18)
32734 1713747 : ipack = ipack + 1
32735 1713747 : pack_tmp = packed_data(ipack)
32736 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32737 1713747 : pack_tmp = ISHFT(pack_tmp, -18)
32738 1713747 : idata = idata + 1
32739 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32740 1713747 : full_data(idata) = data_tmp
32741 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32742 1713747 : idata = idata + 1
32743 1713747 : data_tmp = ISHFT(pack_tmp, 38)
32744 1713747 : ipack = ipack + 1
32745 1713747 : pack_tmp = packed_data(ipack)
32746 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32747 1713747 : pack_tmp = ISHFT(pack_tmp, -38)
32748 1713747 : idata = idata + 1
32749 1713747 : data_tmp = ISHFT(pack_tmp, 16)
32750 1713747 : ipack = ipack + 1
32751 1713747 : pack_tmp = packed_data(ipack)
32752 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32753 1713747 : pack_tmp = ISHFT(pack_tmp, -16)
32754 1713747 : idata = idata + 1
32755 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32756 1713747 : full_data(idata) = data_tmp
32757 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32758 1713747 : idata = idata + 1
32759 1713747 : data_tmp = ISHFT(pack_tmp, 36)
32760 1713747 : ipack = ipack + 1
32761 1713747 : pack_tmp = packed_data(ipack)
32762 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32763 1713747 : pack_tmp = ISHFT(pack_tmp, -36)
32764 1713747 : idata = idata + 1
32765 1713747 : data_tmp = ISHFT(pack_tmp, 14)
32766 1713747 : ipack = ipack + 1
32767 1713747 : pack_tmp = packed_data(ipack)
32768 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32769 1713747 : pack_tmp = ISHFT(pack_tmp, -14)
32770 1713747 : idata = idata + 1
32771 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32772 1713747 : full_data(idata) = data_tmp
32773 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32774 1713747 : idata = idata + 1
32775 1713747 : data_tmp = ISHFT(pack_tmp, 34)
32776 1713747 : ipack = ipack + 1
32777 1713747 : pack_tmp = packed_data(ipack)
32778 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32779 1713747 : pack_tmp = ISHFT(pack_tmp, -34)
32780 1713747 : idata = idata + 1
32781 1713747 : data_tmp = ISHFT(pack_tmp, 12)
32782 1713747 : ipack = ipack + 1
32783 1713747 : pack_tmp = packed_data(ipack)
32784 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32785 1713747 : pack_tmp = ISHFT(pack_tmp, -12)
32786 1713747 : idata = idata + 1
32787 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32788 1713747 : full_data(idata) = data_tmp
32789 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32790 1713747 : idata = idata + 1
32791 1713747 : data_tmp = ISHFT(pack_tmp, 32)
32792 1713747 : ipack = ipack + 1
32793 1713747 : pack_tmp = packed_data(ipack)
32794 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32795 1713747 : pack_tmp = ISHFT(pack_tmp, -32)
32796 1713747 : idata = idata + 1
32797 1713747 : data_tmp = ISHFT(pack_tmp, 10)
32798 1713747 : ipack = ipack + 1
32799 1713747 : pack_tmp = packed_data(ipack)
32800 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32801 1713747 : pack_tmp = ISHFT(pack_tmp, -10)
32802 1713747 : idata = idata + 1
32803 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32804 1713747 : full_data(idata) = data_tmp
32805 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32806 1713747 : idata = idata + 1
32807 1713747 : data_tmp = ISHFT(pack_tmp, 30)
32808 1713747 : ipack = ipack + 1
32809 1713747 : pack_tmp = packed_data(ipack)
32810 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32811 1713747 : pack_tmp = ISHFT(pack_tmp, -30)
32812 1713747 : idata = idata + 1
32813 1713747 : data_tmp = ISHFT(pack_tmp, 8)
32814 1713747 : ipack = ipack + 1
32815 1713747 : pack_tmp = packed_data(ipack)
32816 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32817 1713747 : pack_tmp = ISHFT(pack_tmp, -8)
32818 1713747 : idata = idata + 1
32819 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32820 1713747 : full_data(idata) = data_tmp
32821 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32822 1713747 : idata = idata + 1
32823 1713747 : data_tmp = ISHFT(pack_tmp, 28)
32824 1713747 : ipack = ipack + 1
32825 1713747 : pack_tmp = packed_data(ipack)
32826 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32827 1713747 : pack_tmp = ISHFT(pack_tmp, -28)
32828 1713747 : idata = idata + 1
32829 1713747 : data_tmp = ISHFT(pack_tmp, 6)
32830 1713747 : ipack = ipack + 1
32831 1713747 : pack_tmp = packed_data(ipack)
32832 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32833 1713747 : pack_tmp = ISHFT(pack_tmp, -6)
32834 1713747 : idata = idata + 1
32835 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32836 1713747 : full_data(idata) = data_tmp
32837 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32838 1713747 : idata = idata + 1
32839 1713747 : data_tmp = ISHFT(pack_tmp, 26)
32840 1713747 : ipack = ipack + 1
32841 1713747 : pack_tmp = packed_data(ipack)
32842 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32843 1713747 : pack_tmp = ISHFT(pack_tmp, -26)
32844 1713747 : idata = idata + 1
32845 1713747 : data_tmp = ISHFT(pack_tmp, 4)
32846 1713747 : ipack = ipack + 1
32847 1713747 : pack_tmp = packed_data(ipack)
32848 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32849 1713747 : pack_tmp = ISHFT(pack_tmp, -4)
32850 1713747 : idata = idata + 1
32851 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32852 1713747 : full_data(idata) = data_tmp
32853 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32854 1713747 : idata = idata + 1
32855 1713747 : data_tmp = ISHFT(pack_tmp, 24)
32856 1713747 : ipack = ipack + 1
32857 1713747 : pack_tmp = packed_data(ipack)
32858 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32859 1713747 : pack_tmp = ISHFT(pack_tmp, -24)
32860 1713747 : idata = idata + 1
32861 1713747 : data_tmp = ISHFT(pack_tmp, 2)
32862 1713747 : ipack = ipack + 1
32863 1713747 : pack_tmp = packed_data(ipack)
32864 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32865 1713747 : pack_tmp = ISHFT(pack_tmp, -2)
32866 1713747 : idata = idata + 1
32867 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32868 1713747 : full_data(idata) = data_tmp
32869 1713747 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32870 1713747 : idata = idata + 1
32871 1713747 : data_tmp = ISHFT(pack_tmp, 22)
32872 1713747 : ipack = ipack + 1
32873 1713747 : pack_tmp = packed_data(ipack)
32874 1713747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32875 1713747 : pack_tmp = ISHFT(pack_tmp, -22)
32876 1713747 : idata = idata + 1
32877 1713747 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32878 1713747 : full_data(idata) = data_tmp
32879 1715276 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32880 : END DO
32881 116082 : IF (Ndata_rep < Ndata) THEN
32882 16890 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32883 : END IF
32884 116082 : END SUBROUTINE bits2ints_42
32885 :
32886 : ! **************************************************************************************************
32887 : !> \brief ...
32888 : !> \param Ndata ...
32889 : !> \param packed_data ...
32890 : !> \param full_data ...
32891 : ! **************************************************************************************************
32892 26037 : 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 26037 : idata = 0
32903 26037 : ipack = 0
32904 26037 : Ndata_rep = (Ndata/64)*64
32905 26037 : DO kdata = 1, Ndata_rep, 64
32906 397535 : pack_tmp = 0
32907 397535 : idata = idata + 1
32908 397535 : data_tmp = full_data(idata)
32909 397535 : data_tmp = ISHFT(data_tmp, 21)
32910 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32911 397535 : pack_tmp = ISHFT(pack_tmp, -21)
32912 397535 : idata = idata + 1
32913 397535 : data_tmp = full_data(idata)
32914 397535 : data_tmp = ISHFT(data_tmp, 21)
32915 397535 : data_tmp = IAND(data_tmp, mask_left(21))
32916 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32917 397535 : ipack = ipack + 1
32918 397535 : packed_data(ipack) = pack_tmp
32919 397535 : data_tmp = full_data(idata)
32920 397535 : pack_tmp = ISHFT(data_tmp, 42)
32921 397535 : pack_tmp = ISHFT(pack_tmp, -42)
32922 397535 : idata = idata + 1
32923 397535 : data_tmp = full_data(idata)
32924 397535 : data_tmp = ISHFT(data_tmp, 21)
32925 397535 : data_tmp = IAND(data_tmp, mask_left(42))
32926 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32927 397535 : ipack = ipack + 1
32928 397535 : packed_data(ipack) = pack_tmp
32929 397535 : data_tmp = full_data(idata)
32930 397535 : pack_tmp = ISHFT(data_tmp, 63)
32931 397535 : pack_tmp = ISHFT(pack_tmp, -43)
32932 397535 : idata = idata + 1
32933 397535 : data_tmp = full_data(idata)
32934 397535 : data_tmp = ISHFT(data_tmp, 21)
32935 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32936 397535 : pack_tmp = ISHFT(pack_tmp, -20)
32937 397535 : idata = idata + 1
32938 397535 : data_tmp = full_data(idata)
32939 397535 : data_tmp = ISHFT(data_tmp, 21)
32940 397535 : data_tmp = IAND(data_tmp, mask_left(20))
32941 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32942 397535 : ipack = ipack + 1
32943 397535 : packed_data(ipack) = pack_tmp
32944 397535 : data_tmp = full_data(idata)
32945 397535 : pack_tmp = ISHFT(data_tmp, 41)
32946 397535 : pack_tmp = ISHFT(pack_tmp, -41)
32947 397535 : idata = idata + 1
32948 397535 : data_tmp = full_data(idata)
32949 397535 : data_tmp = ISHFT(data_tmp, 21)
32950 397535 : data_tmp = IAND(data_tmp, mask_left(41))
32951 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32952 397535 : ipack = ipack + 1
32953 397535 : packed_data(ipack) = pack_tmp
32954 397535 : data_tmp = full_data(idata)
32955 397535 : pack_tmp = ISHFT(data_tmp, 62)
32956 397535 : pack_tmp = ISHFT(pack_tmp, -43)
32957 397535 : idata = idata + 1
32958 397535 : data_tmp = full_data(idata)
32959 397535 : data_tmp = ISHFT(data_tmp, 21)
32960 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32961 397535 : pack_tmp = ISHFT(pack_tmp, -19)
32962 397535 : idata = idata + 1
32963 397535 : data_tmp = full_data(idata)
32964 397535 : data_tmp = ISHFT(data_tmp, 21)
32965 397535 : data_tmp = IAND(data_tmp, mask_left(19))
32966 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32967 397535 : ipack = ipack + 1
32968 397535 : packed_data(ipack) = pack_tmp
32969 397535 : data_tmp = full_data(idata)
32970 397535 : pack_tmp = ISHFT(data_tmp, 40)
32971 397535 : pack_tmp = ISHFT(pack_tmp, -40)
32972 397535 : idata = idata + 1
32973 397535 : data_tmp = full_data(idata)
32974 397535 : data_tmp = ISHFT(data_tmp, 21)
32975 397535 : data_tmp = IAND(data_tmp, mask_left(40))
32976 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32977 397535 : ipack = ipack + 1
32978 397535 : packed_data(ipack) = pack_tmp
32979 397535 : data_tmp = full_data(idata)
32980 397535 : pack_tmp = ISHFT(data_tmp, 61)
32981 397535 : pack_tmp = ISHFT(pack_tmp, -43)
32982 397535 : idata = idata + 1
32983 397535 : data_tmp = full_data(idata)
32984 397535 : data_tmp = ISHFT(data_tmp, 21)
32985 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32986 397535 : pack_tmp = ISHFT(pack_tmp, -18)
32987 397535 : idata = idata + 1
32988 397535 : data_tmp = full_data(idata)
32989 397535 : data_tmp = ISHFT(data_tmp, 21)
32990 397535 : data_tmp = IAND(data_tmp, mask_left(18))
32991 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
32992 397535 : ipack = ipack + 1
32993 397535 : packed_data(ipack) = pack_tmp
32994 397535 : data_tmp = full_data(idata)
32995 397535 : pack_tmp = ISHFT(data_tmp, 39)
32996 397535 : pack_tmp = ISHFT(pack_tmp, -39)
32997 397535 : idata = idata + 1
32998 397535 : data_tmp = full_data(idata)
32999 397535 : data_tmp = ISHFT(data_tmp, 21)
33000 397535 : data_tmp = IAND(data_tmp, mask_left(39))
33001 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33002 397535 : ipack = ipack + 1
33003 397535 : packed_data(ipack) = pack_tmp
33004 397535 : data_tmp = full_data(idata)
33005 397535 : pack_tmp = ISHFT(data_tmp, 60)
33006 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33007 397535 : idata = idata + 1
33008 397535 : data_tmp = full_data(idata)
33009 397535 : data_tmp = ISHFT(data_tmp, 21)
33010 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33011 397535 : pack_tmp = ISHFT(pack_tmp, -17)
33012 397535 : idata = idata + 1
33013 397535 : data_tmp = full_data(idata)
33014 397535 : data_tmp = ISHFT(data_tmp, 21)
33015 397535 : data_tmp = IAND(data_tmp, mask_left(17))
33016 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33017 397535 : ipack = ipack + 1
33018 397535 : packed_data(ipack) = pack_tmp
33019 397535 : data_tmp = full_data(idata)
33020 397535 : pack_tmp = ISHFT(data_tmp, 38)
33021 397535 : pack_tmp = ISHFT(pack_tmp, -38)
33022 397535 : idata = idata + 1
33023 397535 : data_tmp = full_data(idata)
33024 397535 : data_tmp = ISHFT(data_tmp, 21)
33025 397535 : data_tmp = IAND(data_tmp, mask_left(38))
33026 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33027 397535 : ipack = ipack + 1
33028 397535 : packed_data(ipack) = pack_tmp
33029 397535 : data_tmp = full_data(idata)
33030 397535 : pack_tmp = ISHFT(data_tmp, 59)
33031 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33032 397535 : idata = idata + 1
33033 397535 : data_tmp = full_data(idata)
33034 397535 : data_tmp = ISHFT(data_tmp, 21)
33035 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33036 397535 : pack_tmp = ISHFT(pack_tmp, -16)
33037 397535 : idata = idata + 1
33038 397535 : data_tmp = full_data(idata)
33039 397535 : data_tmp = ISHFT(data_tmp, 21)
33040 397535 : data_tmp = IAND(data_tmp, mask_left(16))
33041 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33042 397535 : ipack = ipack + 1
33043 397535 : packed_data(ipack) = pack_tmp
33044 397535 : data_tmp = full_data(idata)
33045 397535 : pack_tmp = ISHFT(data_tmp, 37)
33046 397535 : pack_tmp = ISHFT(pack_tmp, -37)
33047 397535 : idata = idata + 1
33048 397535 : data_tmp = full_data(idata)
33049 397535 : data_tmp = ISHFT(data_tmp, 21)
33050 397535 : data_tmp = IAND(data_tmp, mask_left(37))
33051 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33052 397535 : ipack = ipack + 1
33053 397535 : packed_data(ipack) = pack_tmp
33054 397535 : data_tmp = full_data(idata)
33055 397535 : pack_tmp = ISHFT(data_tmp, 58)
33056 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33057 397535 : idata = idata + 1
33058 397535 : data_tmp = full_data(idata)
33059 397535 : data_tmp = ISHFT(data_tmp, 21)
33060 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33061 397535 : pack_tmp = ISHFT(pack_tmp, -15)
33062 397535 : idata = idata + 1
33063 397535 : data_tmp = full_data(idata)
33064 397535 : data_tmp = ISHFT(data_tmp, 21)
33065 397535 : data_tmp = IAND(data_tmp, mask_left(15))
33066 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33067 397535 : ipack = ipack + 1
33068 397535 : packed_data(ipack) = pack_tmp
33069 397535 : data_tmp = full_data(idata)
33070 397535 : pack_tmp = ISHFT(data_tmp, 36)
33071 397535 : pack_tmp = ISHFT(pack_tmp, -36)
33072 397535 : idata = idata + 1
33073 397535 : data_tmp = full_data(idata)
33074 397535 : data_tmp = ISHFT(data_tmp, 21)
33075 397535 : data_tmp = IAND(data_tmp, mask_left(36))
33076 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33077 397535 : ipack = ipack + 1
33078 397535 : packed_data(ipack) = pack_tmp
33079 397535 : data_tmp = full_data(idata)
33080 397535 : pack_tmp = ISHFT(data_tmp, 57)
33081 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33082 397535 : idata = idata + 1
33083 397535 : data_tmp = full_data(idata)
33084 397535 : data_tmp = ISHFT(data_tmp, 21)
33085 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33086 397535 : pack_tmp = ISHFT(pack_tmp, -14)
33087 397535 : idata = idata + 1
33088 397535 : data_tmp = full_data(idata)
33089 397535 : data_tmp = ISHFT(data_tmp, 21)
33090 397535 : data_tmp = IAND(data_tmp, mask_left(14))
33091 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33092 397535 : ipack = ipack + 1
33093 397535 : packed_data(ipack) = pack_tmp
33094 397535 : data_tmp = full_data(idata)
33095 397535 : pack_tmp = ISHFT(data_tmp, 35)
33096 397535 : pack_tmp = ISHFT(pack_tmp, -35)
33097 397535 : idata = idata + 1
33098 397535 : data_tmp = full_data(idata)
33099 397535 : data_tmp = ISHFT(data_tmp, 21)
33100 397535 : data_tmp = IAND(data_tmp, mask_left(35))
33101 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33102 397535 : ipack = ipack + 1
33103 397535 : packed_data(ipack) = pack_tmp
33104 397535 : data_tmp = full_data(idata)
33105 397535 : pack_tmp = ISHFT(data_tmp, 56)
33106 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33107 397535 : idata = idata + 1
33108 397535 : data_tmp = full_data(idata)
33109 397535 : data_tmp = ISHFT(data_tmp, 21)
33110 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33111 397535 : pack_tmp = ISHFT(pack_tmp, -13)
33112 397535 : idata = idata + 1
33113 397535 : data_tmp = full_data(idata)
33114 397535 : data_tmp = ISHFT(data_tmp, 21)
33115 397535 : data_tmp = IAND(data_tmp, mask_left(13))
33116 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33117 397535 : ipack = ipack + 1
33118 397535 : packed_data(ipack) = pack_tmp
33119 397535 : data_tmp = full_data(idata)
33120 397535 : pack_tmp = ISHFT(data_tmp, 34)
33121 397535 : pack_tmp = ISHFT(pack_tmp, -34)
33122 397535 : idata = idata + 1
33123 397535 : data_tmp = full_data(idata)
33124 397535 : data_tmp = ISHFT(data_tmp, 21)
33125 397535 : data_tmp = IAND(data_tmp, mask_left(34))
33126 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33127 397535 : ipack = ipack + 1
33128 397535 : packed_data(ipack) = pack_tmp
33129 397535 : data_tmp = full_data(idata)
33130 397535 : pack_tmp = ISHFT(data_tmp, 55)
33131 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33132 397535 : idata = idata + 1
33133 397535 : data_tmp = full_data(idata)
33134 397535 : data_tmp = ISHFT(data_tmp, 21)
33135 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33136 397535 : pack_tmp = ISHFT(pack_tmp, -12)
33137 397535 : idata = idata + 1
33138 397535 : data_tmp = full_data(idata)
33139 397535 : data_tmp = ISHFT(data_tmp, 21)
33140 397535 : data_tmp = IAND(data_tmp, mask_left(12))
33141 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33142 397535 : ipack = ipack + 1
33143 397535 : packed_data(ipack) = pack_tmp
33144 397535 : data_tmp = full_data(idata)
33145 397535 : pack_tmp = ISHFT(data_tmp, 33)
33146 397535 : pack_tmp = ISHFT(pack_tmp, -33)
33147 397535 : idata = idata + 1
33148 397535 : data_tmp = full_data(idata)
33149 397535 : data_tmp = ISHFT(data_tmp, 21)
33150 397535 : data_tmp = IAND(data_tmp, mask_left(33))
33151 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33152 397535 : ipack = ipack + 1
33153 397535 : packed_data(ipack) = pack_tmp
33154 397535 : data_tmp = full_data(idata)
33155 397535 : pack_tmp = ISHFT(data_tmp, 54)
33156 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33157 397535 : idata = idata + 1
33158 397535 : data_tmp = full_data(idata)
33159 397535 : data_tmp = ISHFT(data_tmp, 21)
33160 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33161 397535 : pack_tmp = ISHFT(pack_tmp, -11)
33162 397535 : idata = idata + 1
33163 397535 : data_tmp = full_data(idata)
33164 397535 : data_tmp = ISHFT(data_tmp, 21)
33165 397535 : data_tmp = IAND(data_tmp, mask_left(11))
33166 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33167 397535 : ipack = ipack + 1
33168 397535 : packed_data(ipack) = pack_tmp
33169 397535 : data_tmp = full_data(idata)
33170 397535 : pack_tmp = ISHFT(data_tmp, 32)
33171 397535 : pack_tmp = ISHFT(pack_tmp, -32)
33172 397535 : idata = idata + 1
33173 397535 : data_tmp = full_data(idata)
33174 397535 : data_tmp = ISHFT(data_tmp, 21)
33175 397535 : data_tmp = IAND(data_tmp, mask_left(32))
33176 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33177 397535 : ipack = ipack + 1
33178 397535 : packed_data(ipack) = pack_tmp
33179 397535 : data_tmp = full_data(idata)
33180 397535 : pack_tmp = ISHFT(data_tmp, 53)
33181 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33182 397535 : idata = idata + 1
33183 397535 : data_tmp = full_data(idata)
33184 397535 : data_tmp = ISHFT(data_tmp, 21)
33185 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33186 397535 : pack_tmp = ISHFT(pack_tmp, -10)
33187 397535 : idata = idata + 1
33188 397535 : data_tmp = full_data(idata)
33189 397535 : data_tmp = ISHFT(data_tmp, 21)
33190 397535 : data_tmp = IAND(data_tmp, mask_left(10))
33191 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33192 397535 : ipack = ipack + 1
33193 397535 : packed_data(ipack) = pack_tmp
33194 397535 : data_tmp = full_data(idata)
33195 397535 : pack_tmp = ISHFT(data_tmp, 31)
33196 397535 : pack_tmp = ISHFT(pack_tmp, -31)
33197 397535 : idata = idata + 1
33198 397535 : data_tmp = full_data(idata)
33199 397535 : data_tmp = ISHFT(data_tmp, 21)
33200 397535 : data_tmp = IAND(data_tmp, mask_left(31))
33201 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33202 397535 : ipack = ipack + 1
33203 397535 : packed_data(ipack) = pack_tmp
33204 397535 : data_tmp = full_data(idata)
33205 397535 : pack_tmp = ISHFT(data_tmp, 52)
33206 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33207 397535 : idata = idata + 1
33208 397535 : data_tmp = full_data(idata)
33209 397535 : data_tmp = ISHFT(data_tmp, 21)
33210 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33211 397535 : pack_tmp = ISHFT(pack_tmp, -9)
33212 397535 : idata = idata + 1
33213 397535 : data_tmp = full_data(idata)
33214 397535 : data_tmp = ISHFT(data_tmp, 21)
33215 397535 : data_tmp = IAND(data_tmp, mask_left(9))
33216 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33217 397535 : ipack = ipack + 1
33218 397535 : packed_data(ipack) = pack_tmp
33219 397535 : data_tmp = full_data(idata)
33220 397535 : pack_tmp = ISHFT(data_tmp, 30)
33221 397535 : pack_tmp = ISHFT(pack_tmp, -30)
33222 397535 : idata = idata + 1
33223 397535 : data_tmp = full_data(idata)
33224 397535 : data_tmp = ISHFT(data_tmp, 21)
33225 397535 : data_tmp = IAND(data_tmp, mask_left(30))
33226 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33227 397535 : ipack = ipack + 1
33228 397535 : packed_data(ipack) = pack_tmp
33229 397535 : data_tmp = full_data(idata)
33230 397535 : pack_tmp = ISHFT(data_tmp, 51)
33231 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33232 397535 : idata = idata + 1
33233 397535 : data_tmp = full_data(idata)
33234 397535 : data_tmp = ISHFT(data_tmp, 21)
33235 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33236 397535 : pack_tmp = ISHFT(pack_tmp, -8)
33237 397535 : idata = idata + 1
33238 397535 : data_tmp = full_data(idata)
33239 397535 : data_tmp = ISHFT(data_tmp, 21)
33240 397535 : data_tmp = IAND(data_tmp, mask_left(8))
33241 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33242 397535 : ipack = ipack + 1
33243 397535 : packed_data(ipack) = pack_tmp
33244 397535 : data_tmp = full_data(idata)
33245 397535 : pack_tmp = ISHFT(data_tmp, 29)
33246 397535 : pack_tmp = ISHFT(pack_tmp, -29)
33247 397535 : idata = idata + 1
33248 397535 : data_tmp = full_data(idata)
33249 397535 : data_tmp = ISHFT(data_tmp, 21)
33250 397535 : data_tmp = IAND(data_tmp, mask_left(29))
33251 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33252 397535 : ipack = ipack + 1
33253 397535 : packed_data(ipack) = pack_tmp
33254 397535 : data_tmp = full_data(idata)
33255 397535 : pack_tmp = ISHFT(data_tmp, 50)
33256 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33257 397535 : idata = idata + 1
33258 397535 : data_tmp = full_data(idata)
33259 397535 : data_tmp = ISHFT(data_tmp, 21)
33260 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33261 397535 : pack_tmp = ISHFT(pack_tmp, -7)
33262 397535 : idata = idata + 1
33263 397535 : data_tmp = full_data(idata)
33264 397535 : data_tmp = ISHFT(data_tmp, 21)
33265 397535 : data_tmp = IAND(data_tmp, mask_left(7))
33266 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33267 397535 : ipack = ipack + 1
33268 397535 : packed_data(ipack) = pack_tmp
33269 397535 : data_tmp = full_data(idata)
33270 397535 : pack_tmp = ISHFT(data_tmp, 28)
33271 397535 : pack_tmp = ISHFT(pack_tmp, -28)
33272 397535 : idata = idata + 1
33273 397535 : data_tmp = full_data(idata)
33274 397535 : data_tmp = ISHFT(data_tmp, 21)
33275 397535 : data_tmp = IAND(data_tmp, mask_left(28))
33276 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33277 397535 : ipack = ipack + 1
33278 397535 : packed_data(ipack) = pack_tmp
33279 397535 : data_tmp = full_data(idata)
33280 397535 : pack_tmp = ISHFT(data_tmp, 49)
33281 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33282 397535 : idata = idata + 1
33283 397535 : data_tmp = full_data(idata)
33284 397535 : data_tmp = ISHFT(data_tmp, 21)
33285 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33286 397535 : pack_tmp = ISHFT(pack_tmp, -6)
33287 397535 : idata = idata + 1
33288 397535 : data_tmp = full_data(idata)
33289 397535 : data_tmp = ISHFT(data_tmp, 21)
33290 397535 : data_tmp = IAND(data_tmp, mask_left(6))
33291 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33292 397535 : ipack = ipack + 1
33293 397535 : packed_data(ipack) = pack_tmp
33294 397535 : data_tmp = full_data(idata)
33295 397535 : pack_tmp = ISHFT(data_tmp, 27)
33296 397535 : pack_tmp = ISHFT(pack_tmp, -27)
33297 397535 : idata = idata + 1
33298 397535 : data_tmp = full_data(idata)
33299 397535 : data_tmp = ISHFT(data_tmp, 21)
33300 397535 : data_tmp = IAND(data_tmp, mask_left(27))
33301 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33302 397535 : ipack = ipack + 1
33303 397535 : packed_data(ipack) = pack_tmp
33304 397535 : data_tmp = full_data(idata)
33305 397535 : pack_tmp = ISHFT(data_tmp, 48)
33306 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33307 397535 : idata = idata + 1
33308 397535 : data_tmp = full_data(idata)
33309 397535 : data_tmp = ISHFT(data_tmp, 21)
33310 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33311 397535 : pack_tmp = ISHFT(pack_tmp, -5)
33312 397535 : idata = idata + 1
33313 397535 : data_tmp = full_data(idata)
33314 397535 : data_tmp = ISHFT(data_tmp, 21)
33315 397535 : data_tmp = IAND(data_tmp, mask_left(5))
33316 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33317 397535 : ipack = ipack + 1
33318 397535 : packed_data(ipack) = pack_tmp
33319 397535 : data_tmp = full_data(idata)
33320 397535 : pack_tmp = ISHFT(data_tmp, 26)
33321 397535 : pack_tmp = ISHFT(pack_tmp, -26)
33322 397535 : idata = idata + 1
33323 397535 : data_tmp = full_data(idata)
33324 397535 : data_tmp = ISHFT(data_tmp, 21)
33325 397535 : data_tmp = IAND(data_tmp, mask_left(26))
33326 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33327 397535 : ipack = ipack + 1
33328 397535 : packed_data(ipack) = pack_tmp
33329 397535 : data_tmp = full_data(idata)
33330 397535 : pack_tmp = ISHFT(data_tmp, 47)
33331 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33332 397535 : idata = idata + 1
33333 397535 : data_tmp = full_data(idata)
33334 397535 : data_tmp = ISHFT(data_tmp, 21)
33335 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33336 397535 : pack_tmp = ISHFT(pack_tmp, -4)
33337 397535 : idata = idata + 1
33338 397535 : data_tmp = full_data(idata)
33339 397535 : data_tmp = ISHFT(data_tmp, 21)
33340 397535 : data_tmp = IAND(data_tmp, mask_left(4))
33341 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33342 397535 : ipack = ipack + 1
33343 397535 : packed_data(ipack) = pack_tmp
33344 397535 : data_tmp = full_data(idata)
33345 397535 : pack_tmp = ISHFT(data_tmp, 25)
33346 397535 : pack_tmp = ISHFT(pack_tmp, -25)
33347 397535 : idata = idata + 1
33348 397535 : data_tmp = full_data(idata)
33349 397535 : data_tmp = ISHFT(data_tmp, 21)
33350 397535 : data_tmp = IAND(data_tmp, mask_left(25))
33351 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33352 397535 : ipack = ipack + 1
33353 397535 : packed_data(ipack) = pack_tmp
33354 397535 : data_tmp = full_data(idata)
33355 397535 : pack_tmp = ISHFT(data_tmp, 46)
33356 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33357 397535 : idata = idata + 1
33358 397535 : data_tmp = full_data(idata)
33359 397535 : data_tmp = ISHFT(data_tmp, 21)
33360 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33361 397535 : pack_tmp = ISHFT(pack_tmp, -3)
33362 397535 : idata = idata + 1
33363 397535 : data_tmp = full_data(idata)
33364 397535 : data_tmp = ISHFT(data_tmp, 21)
33365 397535 : data_tmp = IAND(data_tmp, mask_left(3))
33366 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33367 397535 : ipack = ipack + 1
33368 397535 : packed_data(ipack) = pack_tmp
33369 397535 : data_tmp = full_data(idata)
33370 397535 : pack_tmp = ISHFT(data_tmp, 24)
33371 397535 : pack_tmp = ISHFT(pack_tmp, -24)
33372 397535 : idata = idata + 1
33373 397535 : data_tmp = full_data(idata)
33374 397535 : data_tmp = ISHFT(data_tmp, 21)
33375 397535 : data_tmp = IAND(data_tmp, mask_left(24))
33376 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33377 397535 : ipack = ipack + 1
33378 397535 : packed_data(ipack) = pack_tmp
33379 397535 : data_tmp = full_data(idata)
33380 397535 : pack_tmp = ISHFT(data_tmp, 45)
33381 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33382 397535 : idata = idata + 1
33383 397535 : data_tmp = full_data(idata)
33384 397535 : data_tmp = ISHFT(data_tmp, 21)
33385 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33386 397535 : pack_tmp = ISHFT(pack_tmp, -2)
33387 397535 : idata = idata + 1
33388 397535 : data_tmp = full_data(idata)
33389 397535 : data_tmp = ISHFT(data_tmp, 21)
33390 397535 : data_tmp = IAND(data_tmp, mask_left(2))
33391 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33392 397535 : ipack = ipack + 1
33393 397535 : packed_data(ipack) = pack_tmp
33394 397535 : data_tmp = full_data(idata)
33395 397535 : pack_tmp = ISHFT(data_tmp, 23)
33396 397535 : pack_tmp = ISHFT(pack_tmp, -23)
33397 397535 : idata = idata + 1
33398 397535 : data_tmp = full_data(idata)
33399 397535 : data_tmp = ISHFT(data_tmp, 21)
33400 397535 : data_tmp = IAND(data_tmp, mask_left(23))
33401 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33402 397535 : ipack = ipack + 1
33403 397535 : packed_data(ipack) = pack_tmp
33404 397535 : data_tmp = full_data(idata)
33405 397535 : pack_tmp = ISHFT(data_tmp, 44)
33406 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33407 397535 : idata = idata + 1
33408 397535 : data_tmp = full_data(idata)
33409 397535 : data_tmp = ISHFT(data_tmp, 21)
33410 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33411 397535 : pack_tmp = ISHFT(pack_tmp, -1)
33412 397535 : idata = idata + 1
33413 397535 : data_tmp = full_data(idata)
33414 397535 : data_tmp = ISHFT(data_tmp, 21)
33415 397535 : data_tmp = IAND(data_tmp, mask_left(1))
33416 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33417 397535 : ipack = ipack + 1
33418 397535 : packed_data(ipack) = pack_tmp
33419 397535 : data_tmp = full_data(idata)
33420 397535 : pack_tmp = ISHFT(data_tmp, 22)
33421 397535 : pack_tmp = ISHFT(pack_tmp, -22)
33422 397535 : idata = idata + 1
33423 397535 : data_tmp = full_data(idata)
33424 397535 : data_tmp = ISHFT(data_tmp, 21)
33425 397535 : data_tmp = IAND(data_tmp, mask_left(22))
33426 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33427 397535 : ipack = ipack + 1
33428 397535 : packed_data(ipack) = pack_tmp
33429 397535 : data_tmp = full_data(idata)
33430 397535 : pack_tmp = ISHFT(data_tmp, 43)
33431 397535 : pack_tmp = ISHFT(pack_tmp, -43)
33432 397535 : idata = idata + 1
33433 397535 : data_tmp = full_data(idata)
33434 397535 : data_tmp = ISHFT(data_tmp, 21)
33435 397535 : pack_tmp = IOR(pack_tmp, data_tmp)
33436 : pack_tmp = ISHFT(pack_tmp, 0)
33437 397535 : pack_tmp = ISHFT(pack_tmp, 0)
33438 397535 : ipack = ipack + 1
33439 397797 : packed_data(ipack) = pack_tmp
33440 : END DO
33441 26037 : IF (Ndata_rep < Ndata) THEN
33442 2242 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33443 : END IF
33444 26037 : END SUBROUTINE ints2bits_43
33445 :
33446 : ! **************************************************************************************************
33447 : !> \brief ...
33448 : !> \param Ndata ...
33449 : !> \param packed_data ...
33450 : !> \param full_data ...
33451 : ! **************************************************************************************************
33452 115867 : 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 115867 : ipack = 0
33463 115867 : idata = 0
33464 115867 : pack_tmp = 0
33465 115867 : Ndata_rep = (Ndata/64)*64
33466 115867 : DO kdata = 1, Ndata_rep, 64
33467 1699461 : idata = idata + 1
33468 1699461 : data_tmp = ISHFT(pack_tmp, 43)
33469 1699461 : ipack = ipack + 1
33470 1699461 : pack_tmp = packed_data(ipack)
33471 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
33472 1699461 : pack_tmp = ISHFT(pack_tmp, -43)
33473 1699461 : idata = idata + 1
33474 1699461 : data_tmp = ISHFT(pack_tmp, 22)
33475 1699461 : ipack = ipack + 1
33476 1699461 : pack_tmp = packed_data(ipack)
33477 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
33478 1699461 : pack_tmp = ISHFT(pack_tmp, -22)
33479 1699461 : idata = idata + 1
33480 1699461 : data_tmp = ISHFT(pack_tmp, 1)
33481 1699461 : ipack = ipack + 1
33482 1699461 : pack_tmp = packed_data(ipack)
33483 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
33484 1699461 : pack_tmp = ISHFT(pack_tmp, -1)
33485 1699461 : idata = idata + 1
33486 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33487 1699461 : full_data(idata) = data_tmp
33488 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33489 1699461 : idata = idata + 1
33490 1699461 : data_tmp = ISHFT(pack_tmp, 23)
33491 1699461 : ipack = ipack + 1
33492 1699461 : pack_tmp = packed_data(ipack)
33493 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
33494 1699461 : pack_tmp = ISHFT(pack_tmp, -23)
33495 1699461 : idata = idata + 1
33496 1699461 : data_tmp = ISHFT(pack_tmp, 2)
33497 1699461 : ipack = ipack + 1
33498 1699461 : pack_tmp = packed_data(ipack)
33499 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
33500 1699461 : pack_tmp = ISHFT(pack_tmp, -2)
33501 1699461 : idata = idata + 1
33502 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33503 1699461 : full_data(idata) = data_tmp
33504 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33505 1699461 : idata = idata + 1
33506 1699461 : data_tmp = ISHFT(pack_tmp, 24)
33507 1699461 : ipack = ipack + 1
33508 1699461 : pack_tmp = packed_data(ipack)
33509 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
33510 1699461 : pack_tmp = ISHFT(pack_tmp, -24)
33511 1699461 : idata = idata + 1
33512 1699461 : data_tmp = ISHFT(pack_tmp, 3)
33513 1699461 : ipack = ipack + 1
33514 1699461 : pack_tmp = packed_data(ipack)
33515 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
33516 1699461 : pack_tmp = ISHFT(pack_tmp, -3)
33517 1699461 : idata = idata + 1
33518 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33519 1699461 : full_data(idata) = data_tmp
33520 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33521 1699461 : idata = idata + 1
33522 1699461 : data_tmp = ISHFT(pack_tmp, 25)
33523 1699461 : ipack = ipack + 1
33524 1699461 : pack_tmp = packed_data(ipack)
33525 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
33526 1699461 : pack_tmp = ISHFT(pack_tmp, -25)
33527 1699461 : idata = idata + 1
33528 1699461 : data_tmp = ISHFT(pack_tmp, 4)
33529 1699461 : ipack = ipack + 1
33530 1699461 : pack_tmp = packed_data(ipack)
33531 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
33532 1699461 : pack_tmp = ISHFT(pack_tmp, -4)
33533 1699461 : idata = idata + 1
33534 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33535 1699461 : full_data(idata) = data_tmp
33536 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33537 1699461 : idata = idata + 1
33538 1699461 : data_tmp = ISHFT(pack_tmp, 26)
33539 1699461 : ipack = ipack + 1
33540 1699461 : pack_tmp = packed_data(ipack)
33541 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
33542 1699461 : pack_tmp = ISHFT(pack_tmp, -26)
33543 1699461 : idata = idata + 1
33544 1699461 : data_tmp = ISHFT(pack_tmp, 5)
33545 1699461 : ipack = ipack + 1
33546 1699461 : pack_tmp = packed_data(ipack)
33547 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
33548 1699461 : pack_tmp = ISHFT(pack_tmp, -5)
33549 1699461 : idata = idata + 1
33550 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33551 1699461 : full_data(idata) = data_tmp
33552 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33553 1699461 : idata = idata + 1
33554 1699461 : data_tmp = ISHFT(pack_tmp, 27)
33555 1699461 : ipack = ipack + 1
33556 1699461 : pack_tmp = packed_data(ipack)
33557 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
33558 1699461 : pack_tmp = ISHFT(pack_tmp, -27)
33559 1699461 : idata = idata + 1
33560 1699461 : data_tmp = ISHFT(pack_tmp, 6)
33561 1699461 : ipack = ipack + 1
33562 1699461 : pack_tmp = packed_data(ipack)
33563 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
33564 1699461 : pack_tmp = ISHFT(pack_tmp, -6)
33565 1699461 : idata = idata + 1
33566 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33567 1699461 : full_data(idata) = data_tmp
33568 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33569 1699461 : idata = idata + 1
33570 1699461 : data_tmp = ISHFT(pack_tmp, 28)
33571 1699461 : ipack = ipack + 1
33572 1699461 : pack_tmp = packed_data(ipack)
33573 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
33574 1699461 : pack_tmp = ISHFT(pack_tmp, -28)
33575 1699461 : idata = idata + 1
33576 1699461 : data_tmp = ISHFT(pack_tmp, 7)
33577 1699461 : ipack = ipack + 1
33578 1699461 : pack_tmp = packed_data(ipack)
33579 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
33580 1699461 : pack_tmp = ISHFT(pack_tmp, -7)
33581 1699461 : idata = idata + 1
33582 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33583 1699461 : full_data(idata) = data_tmp
33584 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33585 1699461 : idata = idata + 1
33586 1699461 : data_tmp = ISHFT(pack_tmp, 29)
33587 1699461 : ipack = ipack + 1
33588 1699461 : pack_tmp = packed_data(ipack)
33589 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
33590 1699461 : pack_tmp = ISHFT(pack_tmp, -29)
33591 1699461 : idata = idata + 1
33592 1699461 : data_tmp = ISHFT(pack_tmp, 8)
33593 1699461 : ipack = ipack + 1
33594 1699461 : pack_tmp = packed_data(ipack)
33595 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
33596 1699461 : pack_tmp = ISHFT(pack_tmp, -8)
33597 1699461 : idata = idata + 1
33598 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33599 1699461 : full_data(idata) = data_tmp
33600 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33601 1699461 : idata = idata + 1
33602 1699461 : data_tmp = ISHFT(pack_tmp, 30)
33603 1699461 : ipack = ipack + 1
33604 1699461 : pack_tmp = packed_data(ipack)
33605 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
33606 1699461 : pack_tmp = ISHFT(pack_tmp, -30)
33607 1699461 : idata = idata + 1
33608 1699461 : data_tmp = ISHFT(pack_tmp, 9)
33609 1699461 : ipack = ipack + 1
33610 1699461 : pack_tmp = packed_data(ipack)
33611 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
33612 1699461 : pack_tmp = ISHFT(pack_tmp, -9)
33613 1699461 : idata = idata + 1
33614 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33615 1699461 : full_data(idata) = data_tmp
33616 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33617 1699461 : idata = idata + 1
33618 1699461 : data_tmp = ISHFT(pack_tmp, 31)
33619 1699461 : ipack = ipack + 1
33620 1699461 : pack_tmp = packed_data(ipack)
33621 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
33622 1699461 : pack_tmp = ISHFT(pack_tmp, -31)
33623 1699461 : idata = idata + 1
33624 1699461 : data_tmp = ISHFT(pack_tmp, 10)
33625 1699461 : ipack = ipack + 1
33626 1699461 : pack_tmp = packed_data(ipack)
33627 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
33628 1699461 : pack_tmp = ISHFT(pack_tmp, -10)
33629 1699461 : idata = idata + 1
33630 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33631 1699461 : full_data(idata) = data_tmp
33632 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33633 1699461 : idata = idata + 1
33634 1699461 : data_tmp = ISHFT(pack_tmp, 32)
33635 1699461 : ipack = ipack + 1
33636 1699461 : pack_tmp = packed_data(ipack)
33637 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
33638 1699461 : pack_tmp = ISHFT(pack_tmp, -32)
33639 1699461 : idata = idata + 1
33640 1699461 : data_tmp = ISHFT(pack_tmp, 11)
33641 1699461 : ipack = ipack + 1
33642 1699461 : pack_tmp = packed_data(ipack)
33643 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
33644 1699461 : pack_tmp = ISHFT(pack_tmp, -11)
33645 1699461 : idata = idata + 1
33646 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33647 1699461 : full_data(idata) = data_tmp
33648 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33649 1699461 : idata = idata + 1
33650 1699461 : data_tmp = ISHFT(pack_tmp, 33)
33651 1699461 : ipack = ipack + 1
33652 1699461 : pack_tmp = packed_data(ipack)
33653 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
33654 1699461 : pack_tmp = ISHFT(pack_tmp, -33)
33655 1699461 : idata = idata + 1
33656 1699461 : data_tmp = ISHFT(pack_tmp, 12)
33657 1699461 : ipack = ipack + 1
33658 1699461 : pack_tmp = packed_data(ipack)
33659 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
33660 1699461 : pack_tmp = ISHFT(pack_tmp, -12)
33661 1699461 : idata = idata + 1
33662 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33663 1699461 : full_data(idata) = data_tmp
33664 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33665 1699461 : idata = idata + 1
33666 1699461 : data_tmp = ISHFT(pack_tmp, 34)
33667 1699461 : ipack = ipack + 1
33668 1699461 : pack_tmp = packed_data(ipack)
33669 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
33670 1699461 : pack_tmp = ISHFT(pack_tmp, -34)
33671 1699461 : idata = idata + 1
33672 1699461 : data_tmp = ISHFT(pack_tmp, 13)
33673 1699461 : ipack = ipack + 1
33674 1699461 : pack_tmp = packed_data(ipack)
33675 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
33676 1699461 : pack_tmp = ISHFT(pack_tmp, -13)
33677 1699461 : idata = idata + 1
33678 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33679 1699461 : full_data(idata) = data_tmp
33680 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33681 1699461 : idata = idata + 1
33682 1699461 : data_tmp = ISHFT(pack_tmp, 35)
33683 1699461 : ipack = ipack + 1
33684 1699461 : pack_tmp = packed_data(ipack)
33685 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
33686 1699461 : pack_tmp = ISHFT(pack_tmp, -35)
33687 1699461 : idata = idata + 1
33688 1699461 : data_tmp = ISHFT(pack_tmp, 14)
33689 1699461 : ipack = ipack + 1
33690 1699461 : pack_tmp = packed_data(ipack)
33691 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
33692 1699461 : pack_tmp = ISHFT(pack_tmp, -14)
33693 1699461 : idata = idata + 1
33694 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33695 1699461 : full_data(idata) = data_tmp
33696 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33697 1699461 : idata = idata + 1
33698 1699461 : data_tmp = ISHFT(pack_tmp, 36)
33699 1699461 : ipack = ipack + 1
33700 1699461 : pack_tmp = packed_data(ipack)
33701 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
33702 1699461 : pack_tmp = ISHFT(pack_tmp, -36)
33703 1699461 : idata = idata + 1
33704 1699461 : data_tmp = ISHFT(pack_tmp, 15)
33705 1699461 : ipack = ipack + 1
33706 1699461 : pack_tmp = packed_data(ipack)
33707 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
33708 1699461 : pack_tmp = ISHFT(pack_tmp, -15)
33709 1699461 : idata = idata + 1
33710 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33711 1699461 : full_data(idata) = data_tmp
33712 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33713 1699461 : idata = idata + 1
33714 1699461 : data_tmp = ISHFT(pack_tmp, 37)
33715 1699461 : ipack = ipack + 1
33716 1699461 : pack_tmp = packed_data(ipack)
33717 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
33718 1699461 : pack_tmp = ISHFT(pack_tmp, -37)
33719 1699461 : idata = idata + 1
33720 1699461 : data_tmp = ISHFT(pack_tmp, 16)
33721 1699461 : ipack = ipack + 1
33722 1699461 : pack_tmp = packed_data(ipack)
33723 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
33724 1699461 : pack_tmp = ISHFT(pack_tmp, -16)
33725 1699461 : idata = idata + 1
33726 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33727 1699461 : full_data(idata) = data_tmp
33728 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33729 1699461 : idata = idata + 1
33730 1699461 : data_tmp = ISHFT(pack_tmp, 38)
33731 1699461 : ipack = ipack + 1
33732 1699461 : pack_tmp = packed_data(ipack)
33733 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
33734 1699461 : pack_tmp = ISHFT(pack_tmp, -38)
33735 1699461 : idata = idata + 1
33736 1699461 : data_tmp = ISHFT(pack_tmp, 17)
33737 1699461 : ipack = ipack + 1
33738 1699461 : pack_tmp = packed_data(ipack)
33739 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
33740 1699461 : pack_tmp = ISHFT(pack_tmp, -17)
33741 1699461 : idata = idata + 1
33742 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33743 1699461 : full_data(idata) = data_tmp
33744 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33745 1699461 : idata = idata + 1
33746 1699461 : data_tmp = ISHFT(pack_tmp, 39)
33747 1699461 : ipack = ipack + 1
33748 1699461 : pack_tmp = packed_data(ipack)
33749 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
33750 1699461 : pack_tmp = ISHFT(pack_tmp, -39)
33751 1699461 : idata = idata + 1
33752 1699461 : data_tmp = ISHFT(pack_tmp, 18)
33753 1699461 : ipack = ipack + 1
33754 1699461 : pack_tmp = packed_data(ipack)
33755 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
33756 1699461 : pack_tmp = ISHFT(pack_tmp, -18)
33757 1699461 : idata = idata + 1
33758 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33759 1699461 : full_data(idata) = data_tmp
33760 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33761 1699461 : idata = idata + 1
33762 1699461 : data_tmp = ISHFT(pack_tmp, 40)
33763 1699461 : ipack = ipack + 1
33764 1699461 : pack_tmp = packed_data(ipack)
33765 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
33766 1699461 : pack_tmp = ISHFT(pack_tmp, -40)
33767 1699461 : idata = idata + 1
33768 1699461 : data_tmp = ISHFT(pack_tmp, 19)
33769 1699461 : ipack = ipack + 1
33770 1699461 : pack_tmp = packed_data(ipack)
33771 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
33772 1699461 : pack_tmp = ISHFT(pack_tmp, -19)
33773 1699461 : idata = idata + 1
33774 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33775 1699461 : full_data(idata) = data_tmp
33776 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33777 1699461 : idata = idata + 1
33778 1699461 : data_tmp = ISHFT(pack_tmp, 41)
33779 1699461 : ipack = ipack + 1
33780 1699461 : pack_tmp = packed_data(ipack)
33781 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
33782 1699461 : pack_tmp = ISHFT(pack_tmp, -41)
33783 1699461 : idata = idata + 1
33784 1699461 : data_tmp = ISHFT(pack_tmp, 20)
33785 1699461 : ipack = ipack + 1
33786 1699461 : pack_tmp = packed_data(ipack)
33787 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
33788 1699461 : pack_tmp = ISHFT(pack_tmp, -20)
33789 1699461 : idata = idata + 1
33790 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33791 1699461 : full_data(idata) = data_tmp
33792 1699461 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33793 1699461 : idata = idata + 1
33794 1699461 : data_tmp = ISHFT(pack_tmp, 42)
33795 1699461 : ipack = ipack + 1
33796 1699461 : pack_tmp = packed_data(ipack)
33797 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
33798 1699461 : pack_tmp = ISHFT(pack_tmp, -42)
33799 1699461 : idata = idata + 1
33800 1699461 : data_tmp = ISHFT(pack_tmp, 21)
33801 1699461 : ipack = ipack + 1
33802 1699461 : pack_tmp = packed_data(ipack)
33803 1699461 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
33804 1699461 : pack_tmp = ISHFT(pack_tmp, -21)
33805 1699461 : idata = idata + 1
33806 1699461 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33807 1699461 : full_data(idata) = data_tmp
33808 1701869 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33809 : END DO
33810 115867 : IF (Ndata_rep < Ndata) THEN
33811 18166 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33812 : END IF
33813 115867 : END SUBROUTINE bits2ints_43
33814 :
33815 : ! **************************************************************************************************
33816 : !> \brief ...
33817 : !> \param Ndata ...
33818 : !> \param packed_data ...
33819 : !> \param full_data ...
33820 : ! **************************************************************************************************
33821 27513 : 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 27513 : idata = 0
33832 27513 : ipack = 0
33833 27513 : Ndata_rep = (Ndata/64)*64
33834 27513 : DO kdata = 1, Ndata_rep, 64
33835 409506 : pack_tmp = 0
33836 409506 : idata = idata + 1
33837 409506 : data_tmp = full_data(idata)
33838 409506 : data_tmp = ISHFT(data_tmp, 20)
33839 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33840 409506 : pack_tmp = ISHFT(pack_tmp, -20)
33841 409506 : idata = idata + 1
33842 409506 : data_tmp = full_data(idata)
33843 409506 : data_tmp = ISHFT(data_tmp, 20)
33844 409506 : data_tmp = IAND(data_tmp, mask_left(20))
33845 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33846 409506 : ipack = ipack + 1
33847 409506 : packed_data(ipack) = pack_tmp
33848 409506 : data_tmp = full_data(idata)
33849 409506 : pack_tmp = ISHFT(data_tmp, 40)
33850 409506 : pack_tmp = ISHFT(pack_tmp, -40)
33851 409506 : idata = idata + 1
33852 409506 : data_tmp = full_data(idata)
33853 409506 : data_tmp = ISHFT(data_tmp, 20)
33854 409506 : data_tmp = IAND(data_tmp, mask_left(40))
33855 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33856 409506 : ipack = ipack + 1
33857 409506 : packed_data(ipack) = pack_tmp
33858 409506 : data_tmp = full_data(idata)
33859 409506 : pack_tmp = ISHFT(data_tmp, 60)
33860 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33861 409506 : idata = idata + 1
33862 409506 : data_tmp = full_data(idata)
33863 409506 : data_tmp = ISHFT(data_tmp, 20)
33864 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33865 409506 : pack_tmp = ISHFT(pack_tmp, -16)
33866 409506 : idata = idata + 1
33867 409506 : data_tmp = full_data(idata)
33868 409506 : data_tmp = ISHFT(data_tmp, 20)
33869 409506 : data_tmp = IAND(data_tmp, mask_left(16))
33870 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33871 409506 : ipack = ipack + 1
33872 409506 : packed_data(ipack) = pack_tmp
33873 409506 : data_tmp = full_data(idata)
33874 409506 : pack_tmp = ISHFT(data_tmp, 36)
33875 409506 : pack_tmp = ISHFT(pack_tmp, -36)
33876 409506 : idata = idata + 1
33877 409506 : data_tmp = full_data(idata)
33878 409506 : data_tmp = ISHFT(data_tmp, 20)
33879 409506 : data_tmp = IAND(data_tmp, mask_left(36))
33880 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33881 409506 : ipack = ipack + 1
33882 409506 : packed_data(ipack) = pack_tmp
33883 409506 : data_tmp = full_data(idata)
33884 409506 : pack_tmp = ISHFT(data_tmp, 56)
33885 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33886 409506 : idata = idata + 1
33887 409506 : data_tmp = full_data(idata)
33888 409506 : data_tmp = ISHFT(data_tmp, 20)
33889 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33890 409506 : pack_tmp = ISHFT(pack_tmp, -12)
33891 409506 : idata = idata + 1
33892 409506 : data_tmp = full_data(idata)
33893 409506 : data_tmp = ISHFT(data_tmp, 20)
33894 409506 : data_tmp = IAND(data_tmp, mask_left(12))
33895 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33896 409506 : ipack = ipack + 1
33897 409506 : packed_data(ipack) = pack_tmp
33898 409506 : data_tmp = full_data(idata)
33899 409506 : pack_tmp = ISHFT(data_tmp, 32)
33900 409506 : pack_tmp = ISHFT(pack_tmp, -32)
33901 409506 : idata = idata + 1
33902 409506 : data_tmp = full_data(idata)
33903 409506 : data_tmp = ISHFT(data_tmp, 20)
33904 409506 : data_tmp = IAND(data_tmp, mask_left(32))
33905 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33906 409506 : ipack = ipack + 1
33907 409506 : packed_data(ipack) = pack_tmp
33908 409506 : data_tmp = full_data(idata)
33909 409506 : pack_tmp = ISHFT(data_tmp, 52)
33910 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33911 409506 : idata = idata + 1
33912 409506 : data_tmp = full_data(idata)
33913 409506 : data_tmp = ISHFT(data_tmp, 20)
33914 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33915 409506 : pack_tmp = ISHFT(pack_tmp, -8)
33916 409506 : idata = idata + 1
33917 409506 : data_tmp = full_data(idata)
33918 409506 : data_tmp = ISHFT(data_tmp, 20)
33919 409506 : data_tmp = IAND(data_tmp, mask_left(8))
33920 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33921 409506 : ipack = ipack + 1
33922 409506 : packed_data(ipack) = pack_tmp
33923 409506 : data_tmp = full_data(idata)
33924 409506 : pack_tmp = ISHFT(data_tmp, 28)
33925 409506 : pack_tmp = ISHFT(pack_tmp, -28)
33926 409506 : idata = idata + 1
33927 409506 : data_tmp = full_data(idata)
33928 409506 : data_tmp = ISHFT(data_tmp, 20)
33929 409506 : data_tmp = IAND(data_tmp, mask_left(28))
33930 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33931 409506 : ipack = ipack + 1
33932 409506 : packed_data(ipack) = pack_tmp
33933 409506 : data_tmp = full_data(idata)
33934 409506 : pack_tmp = ISHFT(data_tmp, 48)
33935 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33936 409506 : idata = idata + 1
33937 409506 : data_tmp = full_data(idata)
33938 409506 : data_tmp = ISHFT(data_tmp, 20)
33939 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33940 409506 : pack_tmp = ISHFT(pack_tmp, -4)
33941 409506 : idata = idata + 1
33942 409506 : data_tmp = full_data(idata)
33943 409506 : data_tmp = ISHFT(data_tmp, 20)
33944 409506 : data_tmp = IAND(data_tmp, mask_left(4))
33945 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33946 409506 : ipack = ipack + 1
33947 409506 : packed_data(ipack) = pack_tmp
33948 409506 : data_tmp = full_data(idata)
33949 409506 : pack_tmp = ISHFT(data_tmp, 24)
33950 409506 : pack_tmp = ISHFT(pack_tmp, -24)
33951 409506 : idata = idata + 1
33952 409506 : data_tmp = full_data(idata)
33953 409506 : data_tmp = ISHFT(data_tmp, 20)
33954 409506 : data_tmp = IAND(data_tmp, mask_left(24))
33955 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33956 409506 : ipack = ipack + 1
33957 409506 : packed_data(ipack) = pack_tmp
33958 409506 : data_tmp = full_data(idata)
33959 409506 : pack_tmp = ISHFT(data_tmp, 44)
33960 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33961 409506 : idata = idata + 1
33962 409506 : data_tmp = full_data(idata)
33963 409506 : data_tmp = ISHFT(data_tmp, 20)
33964 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33965 409506 : pack_tmp = ISHFT(pack_tmp, 0)
33966 409506 : idata = idata + 1
33967 409506 : data_tmp = full_data(idata)
33968 : data_tmp = ISHFT(data_tmp, 20)
33969 409506 : data_tmp = IAND(data_tmp, mask_left(0))
33970 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33971 409506 : ipack = ipack + 1
33972 409506 : packed_data(ipack) = pack_tmp
33973 409506 : data_tmp = full_data(idata)
33974 409506 : pack_tmp = ISHFT(data_tmp, 20)
33975 409506 : pack_tmp = ISHFT(pack_tmp, -20)
33976 409506 : idata = idata + 1
33977 409506 : data_tmp = full_data(idata)
33978 409506 : data_tmp = ISHFT(data_tmp, 20)
33979 409506 : data_tmp = IAND(data_tmp, mask_left(20))
33980 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33981 409506 : ipack = ipack + 1
33982 409506 : packed_data(ipack) = pack_tmp
33983 409506 : data_tmp = full_data(idata)
33984 409506 : pack_tmp = ISHFT(data_tmp, 40)
33985 409506 : pack_tmp = ISHFT(pack_tmp, -40)
33986 409506 : idata = idata + 1
33987 409506 : data_tmp = full_data(idata)
33988 409506 : data_tmp = ISHFT(data_tmp, 20)
33989 409506 : data_tmp = IAND(data_tmp, mask_left(40))
33990 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
33991 409506 : ipack = ipack + 1
33992 409506 : packed_data(ipack) = pack_tmp
33993 409506 : data_tmp = full_data(idata)
33994 409506 : pack_tmp = ISHFT(data_tmp, 60)
33995 409506 : pack_tmp = ISHFT(pack_tmp, -44)
33996 409506 : idata = idata + 1
33997 409506 : data_tmp = full_data(idata)
33998 409506 : data_tmp = ISHFT(data_tmp, 20)
33999 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34000 409506 : pack_tmp = ISHFT(pack_tmp, -16)
34001 409506 : idata = idata + 1
34002 409506 : data_tmp = full_data(idata)
34003 409506 : data_tmp = ISHFT(data_tmp, 20)
34004 409506 : data_tmp = IAND(data_tmp, mask_left(16))
34005 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34006 409506 : ipack = ipack + 1
34007 409506 : packed_data(ipack) = pack_tmp
34008 409506 : data_tmp = full_data(idata)
34009 409506 : pack_tmp = ISHFT(data_tmp, 36)
34010 409506 : pack_tmp = ISHFT(pack_tmp, -36)
34011 409506 : idata = idata + 1
34012 409506 : data_tmp = full_data(idata)
34013 409506 : data_tmp = ISHFT(data_tmp, 20)
34014 409506 : data_tmp = IAND(data_tmp, mask_left(36))
34015 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34016 409506 : ipack = ipack + 1
34017 409506 : packed_data(ipack) = pack_tmp
34018 409506 : data_tmp = full_data(idata)
34019 409506 : pack_tmp = ISHFT(data_tmp, 56)
34020 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34021 409506 : idata = idata + 1
34022 409506 : data_tmp = full_data(idata)
34023 409506 : data_tmp = ISHFT(data_tmp, 20)
34024 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34025 409506 : pack_tmp = ISHFT(pack_tmp, -12)
34026 409506 : idata = idata + 1
34027 409506 : data_tmp = full_data(idata)
34028 409506 : data_tmp = ISHFT(data_tmp, 20)
34029 409506 : data_tmp = IAND(data_tmp, mask_left(12))
34030 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34031 409506 : ipack = ipack + 1
34032 409506 : packed_data(ipack) = pack_tmp
34033 409506 : data_tmp = full_data(idata)
34034 409506 : pack_tmp = ISHFT(data_tmp, 32)
34035 409506 : pack_tmp = ISHFT(pack_tmp, -32)
34036 409506 : idata = idata + 1
34037 409506 : data_tmp = full_data(idata)
34038 409506 : data_tmp = ISHFT(data_tmp, 20)
34039 409506 : data_tmp = IAND(data_tmp, mask_left(32))
34040 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34041 409506 : ipack = ipack + 1
34042 409506 : packed_data(ipack) = pack_tmp
34043 409506 : data_tmp = full_data(idata)
34044 409506 : pack_tmp = ISHFT(data_tmp, 52)
34045 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34046 409506 : idata = idata + 1
34047 409506 : data_tmp = full_data(idata)
34048 409506 : data_tmp = ISHFT(data_tmp, 20)
34049 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34050 409506 : pack_tmp = ISHFT(pack_tmp, -8)
34051 409506 : idata = idata + 1
34052 409506 : data_tmp = full_data(idata)
34053 409506 : data_tmp = ISHFT(data_tmp, 20)
34054 409506 : data_tmp = IAND(data_tmp, mask_left(8))
34055 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34056 409506 : ipack = ipack + 1
34057 409506 : packed_data(ipack) = pack_tmp
34058 409506 : data_tmp = full_data(idata)
34059 409506 : pack_tmp = ISHFT(data_tmp, 28)
34060 409506 : pack_tmp = ISHFT(pack_tmp, -28)
34061 409506 : idata = idata + 1
34062 409506 : data_tmp = full_data(idata)
34063 409506 : data_tmp = ISHFT(data_tmp, 20)
34064 409506 : data_tmp = IAND(data_tmp, mask_left(28))
34065 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34066 409506 : ipack = ipack + 1
34067 409506 : packed_data(ipack) = pack_tmp
34068 409506 : data_tmp = full_data(idata)
34069 409506 : pack_tmp = ISHFT(data_tmp, 48)
34070 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34071 409506 : idata = idata + 1
34072 409506 : data_tmp = full_data(idata)
34073 409506 : data_tmp = ISHFT(data_tmp, 20)
34074 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34075 409506 : pack_tmp = ISHFT(pack_tmp, -4)
34076 409506 : idata = idata + 1
34077 409506 : data_tmp = full_data(idata)
34078 409506 : data_tmp = ISHFT(data_tmp, 20)
34079 409506 : data_tmp = IAND(data_tmp, mask_left(4))
34080 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34081 409506 : ipack = ipack + 1
34082 409506 : packed_data(ipack) = pack_tmp
34083 409506 : data_tmp = full_data(idata)
34084 409506 : pack_tmp = ISHFT(data_tmp, 24)
34085 409506 : pack_tmp = ISHFT(pack_tmp, -24)
34086 409506 : idata = idata + 1
34087 409506 : data_tmp = full_data(idata)
34088 409506 : data_tmp = ISHFT(data_tmp, 20)
34089 409506 : data_tmp = IAND(data_tmp, mask_left(24))
34090 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34091 409506 : ipack = ipack + 1
34092 409506 : packed_data(ipack) = pack_tmp
34093 409506 : data_tmp = full_data(idata)
34094 409506 : pack_tmp = ISHFT(data_tmp, 44)
34095 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34096 409506 : idata = idata + 1
34097 409506 : data_tmp = full_data(idata)
34098 409506 : data_tmp = ISHFT(data_tmp, 20)
34099 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34100 409506 : pack_tmp = ISHFT(pack_tmp, 0)
34101 409506 : idata = idata + 1
34102 409506 : data_tmp = full_data(idata)
34103 : data_tmp = ISHFT(data_tmp, 20)
34104 409506 : data_tmp = IAND(data_tmp, mask_left(0))
34105 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34106 409506 : ipack = ipack + 1
34107 409506 : packed_data(ipack) = pack_tmp
34108 409506 : data_tmp = full_data(idata)
34109 409506 : pack_tmp = ISHFT(data_tmp, 20)
34110 409506 : pack_tmp = ISHFT(pack_tmp, -20)
34111 409506 : idata = idata + 1
34112 409506 : data_tmp = full_data(idata)
34113 409506 : data_tmp = ISHFT(data_tmp, 20)
34114 409506 : data_tmp = IAND(data_tmp, mask_left(20))
34115 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34116 409506 : ipack = ipack + 1
34117 409506 : packed_data(ipack) = pack_tmp
34118 409506 : data_tmp = full_data(idata)
34119 409506 : pack_tmp = ISHFT(data_tmp, 40)
34120 409506 : pack_tmp = ISHFT(pack_tmp, -40)
34121 409506 : idata = idata + 1
34122 409506 : data_tmp = full_data(idata)
34123 409506 : data_tmp = ISHFT(data_tmp, 20)
34124 409506 : data_tmp = IAND(data_tmp, mask_left(40))
34125 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34126 409506 : ipack = ipack + 1
34127 409506 : packed_data(ipack) = pack_tmp
34128 409506 : data_tmp = full_data(idata)
34129 409506 : pack_tmp = ISHFT(data_tmp, 60)
34130 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34131 409506 : idata = idata + 1
34132 409506 : data_tmp = full_data(idata)
34133 409506 : data_tmp = ISHFT(data_tmp, 20)
34134 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34135 409506 : pack_tmp = ISHFT(pack_tmp, -16)
34136 409506 : idata = idata + 1
34137 409506 : data_tmp = full_data(idata)
34138 409506 : data_tmp = ISHFT(data_tmp, 20)
34139 409506 : data_tmp = IAND(data_tmp, mask_left(16))
34140 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34141 409506 : ipack = ipack + 1
34142 409506 : packed_data(ipack) = pack_tmp
34143 409506 : data_tmp = full_data(idata)
34144 409506 : pack_tmp = ISHFT(data_tmp, 36)
34145 409506 : pack_tmp = ISHFT(pack_tmp, -36)
34146 409506 : idata = idata + 1
34147 409506 : data_tmp = full_data(idata)
34148 409506 : data_tmp = ISHFT(data_tmp, 20)
34149 409506 : data_tmp = IAND(data_tmp, mask_left(36))
34150 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34151 409506 : ipack = ipack + 1
34152 409506 : packed_data(ipack) = pack_tmp
34153 409506 : data_tmp = full_data(idata)
34154 409506 : pack_tmp = ISHFT(data_tmp, 56)
34155 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34156 409506 : idata = idata + 1
34157 409506 : data_tmp = full_data(idata)
34158 409506 : data_tmp = ISHFT(data_tmp, 20)
34159 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34160 409506 : pack_tmp = ISHFT(pack_tmp, -12)
34161 409506 : idata = idata + 1
34162 409506 : data_tmp = full_data(idata)
34163 409506 : data_tmp = ISHFT(data_tmp, 20)
34164 409506 : data_tmp = IAND(data_tmp, mask_left(12))
34165 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34166 409506 : ipack = ipack + 1
34167 409506 : packed_data(ipack) = pack_tmp
34168 409506 : data_tmp = full_data(idata)
34169 409506 : pack_tmp = ISHFT(data_tmp, 32)
34170 409506 : pack_tmp = ISHFT(pack_tmp, -32)
34171 409506 : idata = idata + 1
34172 409506 : data_tmp = full_data(idata)
34173 409506 : data_tmp = ISHFT(data_tmp, 20)
34174 409506 : data_tmp = IAND(data_tmp, mask_left(32))
34175 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34176 409506 : ipack = ipack + 1
34177 409506 : packed_data(ipack) = pack_tmp
34178 409506 : data_tmp = full_data(idata)
34179 409506 : pack_tmp = ISHFT(data_tmp, 52)
34180 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34181 409506 : idata = idata + 1
34182 409506 : data_tmp = full_data(idata)
34183 409506 : data_tmp = ISHFT(data_tmp, 20)
34184 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34185 409506 : pack_tmp = ISHFT(pack_tmp, -8)
34186 409506 : idata = idata + 1
34187 409506 : data_tmp = full_data(idata)
34188 409506 : data_tmp = ISHFT(data_tmp, 20)
34189 409506 : data_tmp = IAND(data_tmp, mask_left(8))
34190 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34191 409506 : ipack = ipack + 1
34192 409506 : packed_data(ipack) = pack_tmp
34193 409506 : data_tmp = full_data(idata)
34194 409506 : pack_tmp = ISHFT(data_tmp, 28)
34195 409506 : pack_tmp = ISHFT(pack_tmp, -28)
34196 409506 : idata = idata + 1
34197 409506 : data_tmp = full_data(idata)
34198 409506 : data_tmp = ISHFT(data_tmp, 20)
34199 409506 : data_tmp = IAND(data_tmp, mask_left(28))
34200 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34201 409506 : ipack = ipack + 1
34202 409506 : packed_data(ipack) = pack_tmp
34203 409506 : data_tmp = full_data(idata)
34204 409506 : pack_tmp = ISHFT(data_tmp, 48)
34205 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34206 409506 : idata = idata + 1
34207 409506 : data_tmp = full_data(idata)
34208 409506 : data_tmp = ISHFT(data_tmp, 20)
34209 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34210 409506 : pack_tmp = ISHFT(pack_tmp, -4)
34211 409506 : idata = idata + 1
34212 409506 : data_tmp = full_data(idata)
34213 409506 : data_tmp = ISHFT(data_tmp, 20)
34214 409506 : data_tmp = IAND(data_tmp, mask_left(4))
34215 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34216 409506 : ipack = ipack + 1
34217 409506 : packed_data(ipack) = pack_tmp
34218 409506 : data_tmp = full_data(idata)
34219 409506 : pack_tmp = ISHFT(data_tmp, 24)
34220 409506 : pack_tmp = ISHFT(pack_tmp, -24)
34221 409506 : idata = idata + 1
34222 409506 : data_tmp = full_data(idata)
34223 409506 : data_tmp = ISHFT(data_tmp, 20)
34224 409506 : data_tmp = IAND(data_tmp, mask_left(24))
34225 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34226 409506 : ipack = ipack + 1
34227 409506 : packed_data(ipack) = pack_tmp
34228 409506 : data_tmp = full_data(idata)
34229 409506 : pack_tmp = ISHFT(data_tmp, 44)
34230 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34231 409506 : idata = idata + 1
34232 409506 : data_tmp = full_data(idata)
34233 409506 : data_tmp = ISHFT(data_tmp, 20)
34234 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34235 409506 : pack_tmp = ISHFT(pack_tmp, 0)
34236 409506 : idata = idata + 1
34237 409506 : data_tmp = full_data(idata)
34238 : data_tmp = ISHFT(data_tmp, 20)
34239 409506 : data_tmp = IAND(data_tmp, mask_left(0))
34240 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34241 409506 : ipack = ipack + 1
34242 409506 : packed_data(ipack) = pack_tmp
34243 409506 : data_tmp = full_data(idata)
34244 409506 : pack_tmp = ISHFT(data_tmp, 20)
34245 409506 : pack_tmp = ISHFT(pack_tmp, -20)
34246 409506 : idata = idata + 1
34247 409506 : data_tmp = full_data(idata)
34248 409506 : data_tmp = ISHFT(data_tmp, 20)
34249 409506 : data_tmp = IAND(data_tmp, mask_left(20))
34250 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34251 409506 : ipack = ipack + 1
34252 409506 : packed_data(ipack) = pack_tmp
34253 409506 : data_tmp = full_data(idata)
34254 409506 : pack_tmp = ISHFT(data_tmp, 40)
34255 409506 : pack_tmp = ISHFT(pack_tmp, -40)
34256 409506 : idata = idata + 1
34257 409506 : data_tmp = full_data(idata)
34258 409506 : data_tmp = ISHFT(data_tmp, 20)
34259 409506 : data_tmp = IAND(data_tmp, mask_left(40))
34260 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34261 409506 : ipack = ipack + 1
34262 409506 : packed_data(ipack) = pack_tmp
34263 409506 : data_tmp = full_data(idata)
34264 409506 : pack_tmp = ISHFT(data_tmp, 60)
34265 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34266 409506 : idata = idata + 1
34267 409506 : data_tmp = full_data(idata)
34268 409506 : data_tmp = ISHFT(data_tmp, 20)
34269 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34270 409506 : pack_tmp = ISHFT(pack_tmp, -16)
34271 409506 : idata = idata + 1
34272 409506 : data_tmp = full_data(idata)
34273 409506 : data_tmp = ISHFT(data_tmp, 20)
34274 409506 : data_tmp = IAND(data_tmp, mask_left(16))
34275 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34276 409506 : ipack = ipack + 1
34277 409506 : packed_data(ipack) = pack_tmp
34278 409506 : data_tmp = full_data(idata)
34279 409506 : pack_tmp = ISHFT(data_tmp, 36)
34280 409506 : pack_tmp = ISHFT(pack_tmp, -36)
34281 409506 : idata = idata + 1
34282 409506 : data_tmp = full_data(idata)
34283 409506 : data_tmp = ISHFT(data_tmp, 20)
34284 409506 : data_tmp = IAND(data_tmp, mask_left(36))
34285 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34286 409506 : ipack = ipack + 1
34287 409506 : packed_data(ipack) = pack_tmp
34288 409506 : data_tmp = full_data(idata)
34289 409506 : pack_tmp = ISHFT(data_tmp, 56)
34290 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34291 409506 : idata = idata + 1
34292 409506 : data_tmp = full_data(idata)
34293 409506 : data_tmp = ISHFT(data_tmp, 20)
34294 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34295 409506 : pack_tmp = ISHFT(pack_tmp, -12)
34296 409506 : idata = idata + 1
34297 409506 : data_tmp = full_data(idata)
34298 409506 : data_tmp = ISHFT(data_tmp, 20)
34299 409506 : data_tmp = IAND(data_tmp, mask_left(12))
34300 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34301 409506 : ipack = ipack + 1
34302 409506 : packed_data(ipack) = pack_tmp
34303 409506 : data_tmp = full_data(idata)
34304 409506 : pack_tmp = ISHFT(data_tmp, 32)
34305 409506 : pack_tmp = ISHFT(pack_tmp, -32)
34306 409506 : idata = idata + 1
34307 409506 : data_tmp = full_data(idata)
34308 409506 : data_tmp = ISHFT(data_tmp, 20)
34309 409506 : data_tmp = IAND(data_tmp, mask_left(32))
34310 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34311 409506 : ipack = ipack + 1
34312 409506 : packed_data(ipack) = pack_tmp
34313 409506 : data_tmp = full_data(idata)
34314 409506 : pack_tmp = ISHFT(data_tmp, 52)
34315 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34316 409506 : idata = idata + 1
34317 409506 : data_tmp = full_data(idata)
34318 409506 : data_tmp = ISHFT(data_tmp, 20)
34319 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34320 409506 : pack_tmp = ISHFT(pack_tmp, -8)
34321 409506 : idata = idata + 1
34322 409506 : data_tmp = full_data(idata)
34323 409506 : data_tmp = ISHFT(data_tmp, 20)
34324 409506 : data_tmp = IAND(data_tmp, mask_left(8))
34325 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34326 409506 : ipack = ipack + 1
34327 409506 : packed_data(ipack) = pack_tmp
34328 409506 : data_tmp = full_data(idata)
34329 409506 : pack_tmp = ISHFT(data_tmp, 28)
34330 409506 : pack_tmp = ISHFT(pack_tmp, -28)
34331 409506 : idata = idata + 1
34332 409506 : data_tmp = full_data(idata)
34333 409506 : data_tmp = ISHFT(data_tmp, 20)
34334 409506 : data_tmp = IAND(data_tmp, mask_left(28))
34335 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34336 409506 : ipack = ipack + 1
34337 409506 : packed_data(ipack) = pack_tmp
34338 409506 : data_tmp = full_data(idata)
34339 409506 : pack_tmp = ISHFT(data_tmp, 48)
34340 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34341 409506 : idata = idata + 1
34342 409506 : data_tmp = full_data(idata)
34343 409506 : data_tmp = ISHFT(data_tmp, 20)
34344 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34345 409506 : pack_tmp = ISHFT(pack_tmp, -4)
34346 409506 : idata = idata + 1
34347 409506 : data_tmp = full_data(idata)
34348 409506 : data_tmp = ISHFT(data_tmp, 20)
34349 409506 : data_tmp = IAND(data_tmp, mask_left(4))
34350 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34351 409506 : ipack = ipack + 1
34352 409506 : packed_data(ipack) = pack_tmp
34353 409506 : data_tmp = full_data(idata)
34354 409506 : pack_tmp = ISHFT(data_tmp, 24)
34355 409506 : pack_tmp = ISHFT(pack_tmp, -24)
34356 409506 : idata = idata + 1
34357 409506 : data_tmp = full_data(idata)
34358 409506 : data_tmp = ISHFT(data_tmp, 20)
34359 409506 : data_tmp = IAND(data_tmp, mask_left(24))
34360 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34361 409506 : ipack = ipack + 1
34362 409506 : packed_data(ipack) = pack_tmp
34363 409506 : data_tmp = full_data(idata)
34364 409506 : pack_tmp = ISHFT(data_tmp, 44)
34365 409506 : pack_tmp = ISHFT(pack_tmp, -44)
34366 409506 : idata = idata + 1
34367 409506 : data_tmp = full_data(idata)
34368 409506 : data_tmp = ISHFT(data_tmp, 20)
34369 409506 : pack_tmp = IOR(pack_tmp, data_tmp)
34370 : pack_tmp = ISHFT(pack_tmp, 0)
34371 409506 : pack_tmp = ISHFT(pack_tmp, 0)
34372 409506 : ipack = ipack + 1
34373 409519 : packed_data(ipack) = pack_tmp
34374 : END DO
34375 27513 : IF (Ndata_rep < Ndata) THEN
34376 3612 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34377 : END IF
34378 27513 : END SUBROUTINE ints2bits_44
34379 :
34380 : ! **************************************************************************************************
34381 : !> \brief ...
34382 : !> \param Ndata ...
34383 : !> \param packed_data ...
34384 : !> \param full_data ...
34385 : ! **************************************************************************************************
34386 123340 : 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 123340 : ipack = 0
34397 123340 : idata = 0
34398 123340 : pack_tmp = 0
34399 123340 : Ndata_rep = (Ndata/64)*64
34400 123340 : DO kdata = 1, Ndata_rep, 64
34401 1765683 : idata = idata + 1
34402 1765683 : data_tmp = ISHFT(pack_tmp, 44)
34403 1765683 : ipack = ipack + 1
34404 1765683 : pack_tmp = packed_data(ipack)
34405 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34406 1765683 : pack_tmp = ISHFT(pack_tmp, -44)
34407 1765683 : idata = idata + 1
34408 1765683 : data_tmp = ISHFT(pack_tmp, 24)
34409 1765683 : ipack = ipack + 1
34410 1765683 : pack_tmp = packed_data(ipack)
34411 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34412 1765683 : pack_tmp = ISHFT(pack_tmp, -24)
34413 1765683 : idata = idata + 1
34414 1765683 : data_tmp = ISHFT(pack_tmp, 4)
34415 1765683 : ipack = ipack + 1
34416 1765683 : pack_tmp = packed_data(ipack)
34417 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34418 1765683 : pack_tmp = ISHFT(pack_tmp, -4)
34419 1765683 : idata = idata + 1
34420 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34421 1765683 : full_data(idata) = data_tmp
34422 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34423 1765683 : idata = idata + 1
34424 1765683 : data_tmp = ISHFT(pack_tmp, 28)
34425 1765683 : ipack = ipack + 1
34426 1765683 : pack_tmp = packed_data(ipack)
34427 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34428 1765683 : pack_tmp = ISHFT(pack_tmp, -28)
34429 1765683 : idata = idata + 1
34430 1765683 : data_tmp = ISHFT(pack_tmp, 8)
34431 1765683 : ipack = ipack + 1
34432 1765683 : pack_tmp = packed_data(ipack)
34433 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34434 1765683 : pack_tmp = ISHFT(pack_tmp, -8)
34435 1765683 : idata = idata + 1
34436 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34437 1765683 : full_data(idata) = data_tmp
34438 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34439 1765683 : idata = idata + 1
34440 1765683 : data_tmp = ISHFT(pack_tmp, 32)
34441 1765683 : ipack = ipack + 1
34442 1765683 : pack_tmp = packed_data(ipack)
34443 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34444 1765683 : pack_tmp = ISHFT(pack_tmp, -32)
34445 1765683 : idata = idata + 1
34446 1765683 : data_tmp = ISHFT(pack_tmp, 12)
34447 1765683 : ipack = ipack + 1
34448 1765683 : pack_tmp = packed_data(ipack)
34449 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34450 1765683 : pack_tmp = ISHFT(pack_tmp, -12)
34451 1765683 : idata = idata + 1
34452 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34453 1765683 : full_data(idata) = data_tmp
34454 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34455 1765683 : idata = idata + 1
34456 1765683 : data_tmp = ISHFT(pack_tmp, 36)
34457 1765683 : ipack = ipack + 1
34458 1765683 : pack_tmp = packed_data(ipack)
34459 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34460 1765683 : pack_tmp = ISHFT(pack_tmp, -36)
34461 1765683 : idata = idata + 1
34462 1765683 : data_tmp = ISHFT(pack_tmp, 16)
34463 1765683 : ipack = ipack + 1
34464 1765683 : pack_tmp = packed_data(ipack)
34465 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34466 1765683 : pack_tmp = ISHFT(pack_tmp, -16)
34467 1765683 : idata = idata + 1
34468 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34469 1765683 : full_data(idata) = data_tmp
34470 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34471 1765683 : idata = idata + 1
34472 1765683 : data_tmp = ISHFT(pack_tmp, 40)
34473 1765683 : ipack = ipack + 1
34474 1765683 : pack_tmp = packed_data(ipack)
34475 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34476 1765683 : pack_tmp = ISHFT(pack_tmp, -40)
34477 1765683 : idata = idata + 1
34478 1765683 : data_tmp = ISHFT(pack_tmp, 20)
34479 1765683 : ipack = ipack + 1
34480 1765683 : pack_tmp = packed_data(ipack)
34481 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34482 1765683 : pack_tmp = ISHFT(pack_tmp, -20)
34483 1765683 : idata = idata + 1
34484 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34485 1765683 : full_data(idata) = data_tmp
34486 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34487 1765683 : idata = idata + 1
34488 1765683 : data_tmp = ISHFT(pack_tmp, 44)
34489 1765683 : ipack = ipack + 1
34490 1765683 : pack_tmp = packed_data(ipack)
34491 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34492 1765683 : pack_tmp = ISHFT(pack_tmp, -44)
34493 1765683 : idata = idata + 1
34494 1765683 : data_tmp = ISHFT(pack_tmp, 24)
34495 1765683 : ipack = ipack + 1
34496 1765683 : pack_tmp = packed_data(ipack)
34497 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34498 1765683 : pack_tmp = ISHFT(pack_tmp, -24)
34499 1765683 : idata = idata + 1
34500 1765683 : data_tmp = ISHFT(pack_tmp, 4)
34501 1765683 : ipack = ipack + 1
34502 1765683 : pack_tmp = packed_data(ipack)
34503 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34504 1765683 : pack_tmp = ISHFT(pack_tmp, -4)
34505 1765683 : idata = idata + 1
34506 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34507 1765683 : full_data(idata) = data_tmp
34508 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34509 1765683 : idata = idata + 1
34510 1765683 : data_tmp = ISHFT(pack_tmp, 28)
34511 1765683 : ipack = ipack + 1
34512 1765683 : pack_tmp = packed_data(ipack)
34513 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34514 1765683 : pack_tmp = ISHFT(pack_tmp, -28)
34515 1765683 : idata = idata + 1
34516 1765683 : data_tmp = ISHFT(pack_tmp, 8)
34517 1765683 : ipack = ipack + 1
34518 1765683 : pack_tmp = packed_data(ipack)
34519 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34520 1765683 : pack_tmp = ISHFT(pack_tmp, -8)
34521 1765683 : idata = idata + 1
34522 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34523 1765683 : full_data(idata) = data_tmp
34524 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34525 1765683 : idata = idata + 1
34526 1765683 : data_tmp = ISHFT(pack_tmp, 32)
34527 1765683 : ipack = ipack + 1
34528 1765683 : pack_tmp = packed_data(ipack)
34529 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34530 1765683 : pack_tmp = ISHFT(pack_tmp, -32)
34531 1765683 : idata = idata + 1
34532 1765683 : data_tmp = ISHFT(pack_tmp, 12)
34533 1765683 : ipack = ipack + 1
34534 1765683 : pack_tmp = packed_data(ipack)
34535 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34536 1765683 : pack_tmp = ISHFT(pack_tmp, -12)
34537 1765683 : idata = idata + 1
34538 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34539 1765683 : full_data(idata) = data_tmp
34540 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34541 1765683 : idata = idata + 1
34542 1765683 : data_tmp = ISHFT(pack_tmp, 36)
34543 1765683 : ipack = ipack + 1
34544 1765683 : pack_tmp = packed_data(ipack)
34545 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34546 1765683 : pack_tmp = ISHFT(pack_tmp, -36)
34547 1765683 : idata = idata + 1
34548 1765683 : data_tmp = ISHFT(pack_tmp, 16)
34549 1765683 : ipack = ipack + 1
34550 1765683 : pack_tmp = packed_data(ipack)
34551 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34552 1765683 : pack_tmp = ISHFT(pack_tmp, -16)
34553 1765683 : idata = idata + 1
34554 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34555 1765683 : full_data(idata) = data_tmp
34556 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34557 1765683 : idata = idata + 1
34558 1765683 : data_tmp = ISHFT(pack_tmp, 40)
34559 1765683 : ipack = ipack + 1
34560 1765683 : pack_tmp = packed_data(ipack)
34561 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34562 1765683 : pack_tmp = ISHFT(pack_tmp, -40)
34563 1765683 : idata = idata + 1
34564 1765683 : data_tmp = ISHFT(pack_tmp, 20)
34565 1765683 : ipack = ipack + 1
34566 1765683 : pack_tmp = packed_data(ipack)
34567 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34568 1765683 : pack_tmp = ISHFT(pack_tmp, -20)
34569 1765683 : idata = idata + 1
34570 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34571 1765683 : full_data(idata) = data_tmp
34572 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34573 1765683 : idata = idata + 1
34574 1765683 : data_tmp = ISHFT(pack_tmp, 44)
34575 1765683 : ipack = ipack + 1
34576 1765683 : pack_tmp = packed_data(ipack)
34577 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34578 1765683 : pack_tmp = ISHFT(pack_tmp, -44)
34579 1765683 : idata = idata + 1
34580 1765683 : data_tmp = ISHFT(pack_tmp, 24)
34581 1765683 : ipack = ipack + 1
34582 1765683 : pack_tmp = packed_data(ipack)
34583 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34584 1765683 : pack_tmp = ISHFT(pack_tmp, -24)
34585 1765683 : idata = idata + 1
34586 1765683 : data_tmp = ISHFT(pack_tmp, 4)
34587 1765683 : ipack = ipack + 1
34588 1765683 : pack_tmp = packed_data(ipack)
34589 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34590 1765683 : pack_tmp = ISHFT(pack_tmp, -4)
34591 1765683 : idata = idata + 1
34592 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34593 1765683 : full_data(idata) = data_tmp
34594 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34595 1765683 : idata = idata + 1
34596 1765683 : data_tmp = ISHFT(pack_tmp, 28)
34597 1765683 : ipack = ipack + 1
34598 1765683 : pack_tmp = packed_data(ipack)
34599 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34600 1765683 : pack_tmp = ISHFT(pack_tmp, -28)
34601 1765683 : idata = idata + 1
34602 1765683 : data_tmp = ISHFT(pack_tmp, 8)
34603 1765683 : ipack = ipack + 1
34604 1765683 : pack_tmp = packed_data(ipack)
34605 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34606 1765683 : pack_tmp = ISHFT(pack_tmp, -8)
34607 1765683 : idata = idata + 1
34608 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34609 1765683 : full_data(idata) = data_tmp
34610 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34611 1765683 : idata = idata + 1
34612 1765683 : data_tmp = ISHFT(pack_tmp, 32)
34613 1765683 : ipack = ipack + 1
34614 1765683 : pack_tmp = packed_data(ipack)
34615 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34616 1765683 : pack_tmp = ISHFT(pack_tmp, -32)
34617 1765683 : idata = idata + 1
34618 1765683 : data_tmp = ISHFT(pack_tmp, 12)
34619 1765683 : ipack = ipack + 1
34620 1765683 : pack_tmp = packed_data(ipack)
34621 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34622 1765683 : pack_tmp = ISHFT(pack_tmp, -12)
34623 1765683 : idata = idata + 1
34624 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34625 1765683 : full_data(idata) = data_tmp
34626 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34627 1765683 : idata = idata + 1
34628 1765683 : data_tmp = ISHFT(pack_tmp, 36)
34629 1765683 : ipack = ipack + 1
34630 1765683 : pack_tmp = packed_data(ipack)
34631 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34632 1765683 : pack_tmp = ISHFT(pack_tmp, -36)
34633 1765683 : idata = idata + 1
34634 1765683 : data_tmp = ISHFT(pack_tmp, 16)
34635 1765683 : ipack = ipack + 1
34636 1765683 : pack_tmp = packed_data(ipack)
34637 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34638 1765683 : pack_tmp = ISHFT(pack_tmp, -16)
34639 1765683 : idata = idata + 1
34640 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34641 1765683 : full_data(idata) = data_tmp
34642 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34643 1765683 : idata = idata + 1
34644 1765683 : data_tmp = ISHFT(pack_tmp, 40)
34645 1765683 : ipack = ipack + 1
34646 1765683 : pack_tmp = packed_data(ipack)
34647 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34648 1765683 : pack_tmp = ISHFT(pack_tmp, -40)
34649 1765683 : idata = idata + 1
34650 1765683 : data_tmp = ISHFT(pack_tmp, 20)
34651 1765683 : ipack = ipack + 1
34652 1765683 : pack_tmp = packed_data(ipack)
34653 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34654 1765683 : pack_tmp = ISHFT(pack_tmp, -20)
34655 1765683 : idata = idata + 1
34656 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34657 1765683 : full_data(idata) = data_tmp
34658 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34659 1765683 : idata = idata + 1
34660 1765683 : data_tmp = ISHFT(pack_tmp, 44)
34661 1765683 : ipack = ipack + 1
34662 1765683 : pack_tmp = packed_data(ipack)
34663 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34664 1765683 : pack_tmp = ISHFT(pack_tmp, -44)
34665 1765683 : idata = idata + 1
34666 1765683 : data_tmp = ISHFT(pack_tmp, 24)
34667 1765683 : ipack = ipack + 1
34668 1765683 : pack_tmp = packed_data(ipack)
34669 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34670 1765683 : pack_tmp = ISHFT(pack_tmp, -24)
34671 1765683 : idata = idata + 1
34672 1765683 : data_tmp = ISHFT(pack_tmp, 4)
34673 1765683 : ipack = ipack + 1
34674 1765683 : pack_tmp = packed_data(ipack)
34675 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34676 1765683 : pack_tmp = ISHFT(pack_tmp, -4)
34677 1765683 : idata = idata + 1
34678 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34679 1765683 : full_data(idata) = data_tmp
34680 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34681 1765683 : idata = idata + 1
34682 1765683 : data_tmp = ISHFT(pack_tmp, 28)
34683 1765683 : ipack = ipack + 1
34684 1765683 : pack_tmp = packed_data(ipack)
34685 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34686 1765683 : pack_tmp = ISHFT(pack_tmp, -28)
34687 1765683 : idata = idata + 1
34688 1765683 : data_tmp = ISHFT(pack_tmp, 8)
34689 1765683 : ipack = ipack + 1
34690 1765683 : pack_tmp = packed_data(ipack)
34691 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34692 1765683 : pack_tmp = ISHFT(pack_tmp, -8)
34693 1765683 : idata = idata + 1
34694 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34695 1765683 : full_data(idata) = data_tmp
34696 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34697 1765683 : idata = idata + 1
34698 1765683 : data_tmp = ISHFT(pack_tmp, 32)
34699 1765683 : ipack = ipack + 1
34700 1765683 : pack_tmp = packed_data(ipack)
34701 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34702 1765683 : pack_tmp = ISHFT(pack_tmp, -32)
34703 1765683 : idata = idata + 1
34704 1765683 : data_tmp = ISHFT(pack_tmp, 12)
34705 1765683 : ipack = ipack + 1
34706 1765683 : pack_tmp = packed_data(ipack)
34707 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34708 1765683 : pack_tmp = ISHFT(pack_tmp, -12)
34709 1765683 : idata = idata + 1
34710 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34711 1765683 : full_data(idata) = data_tmp
34712 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34713 1765683 : idata = idata + 1
34714 1765683 : data_tmp = ISHFT(pack_tmp, 36)
34715 1765683 : ipack = ipack + 1
34716 1765683 : pack_tmp = packed_data(ipack)
34717 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34718 1765683 : pack_tmp = ISHFT(pack_tmp, -36)
34719 1765683 : idata = idata + 1
34720 1765683 : data_tmp = ISHFT(pack_tmp, 16)
34721 1765683 : ipack = ipack + 1
34722 1765683 : pack_tmp = packed_data(ipack)
34723 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34724 1765683 : pack_tmp = ISHFT(pack_tmp, -16)
34725 1765683 : idata = idata + 1
34726 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34727 1765683 : full_data(idata) = data_tmp
34728 1765683 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34729 1765683 : idata = idata + 1
34730 1765683 : data_tmp = ISHFT(pack_tmp, 40)
34731 1765683 : ipack = ipack + 1
34732 1765683 : pack_tmp = packed_data(ipack)
34733 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34734 1765683 : pack_tmp = ISHFT(pack_tmp, -40)
34735 1765683 : idata = idata + 1
34736 1765683 : data_tmp = ISHFT(pack_tmp, 20)
34737 1765683 : ipack = ipack + 1
34738 1765683 : pack_tmp = packed_data(ipack)
34739 1765683 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34740 1765683 : pack_tmp = ISHFT(pack_tmp, -20)
34741 1765683 : idata = idata + 1
34742 1765683 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34743 1765683 : full_data(idata) = data_tmp
34744 1765935 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34745 : END DO
34746 123340 : IF (Ndata_rep < Ndata) THEN
34747 24442 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34748 : END IF
34749 123340 : END SUBROUTINE bits2ints_44
34750 :
34751 : ! **************************************************************************************************
34752 : !> \brief ...
34753 : !> \param Ndata ...
34754 : !> \param packed_data ...
34755 : !> \param full_data ...
34756 : ! **************************************************************************************************
34757 29155 : 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 29155 : idata = 0
34768 29155 : ipack = 0
34769 29155 : Ndata_rep = (Ndata/64)*64
34770 29155 : DO kdata = 1, Ndata_rep, 64
34771 424065 : pack_tmp = 0
34772 424065 : idata = idata + 1
34773 424065 : data_tmp = full_data(idata)
34774 424065 : data_tmp = ISHFT(data_tmp, 19)
34775 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34776 424065 : pack_tmp = ISHFT(pack_tmp, -19)
34777 424065 : idata = idata + 1
34778 424065 : data_tmp = full_data(idata)
34779 424065 : data_tmp = ISHFT(data_tmp, 19)
34780 424065 : data_tmp = IAND(data_tmp, mask_left(19))
34781 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34782 424065 : ipack = ipack + 1
34783 424065 : packed_data(ipack) = pack_tmp
34784 424065 : data_tmp = full_data(idata)
34785 424065 : pack_tmp = ISHFT(data_tmp, 38)
34786 424065 : pack_tmp = ISHFT(pack_tmp, -38)
34787 424065 : idata = idata + 1
34788 424065 : data_tmp = full_data(idata)
34789 424065 : data_tmp = ISHFT(data_tmp, 19)
34790 424065 : data_tmp = IAND(data_tmp, mask_left(38))
34791 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34792 424065 : ipack = ipack + 1
34793 424065 : packed_data(ipack) = pack_tmp
34794 424065 : data_tmp = full_data(idata)
34795 424065 : pack_tmp = ISHFT(data_tmp, 57)
34796 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34797 424065 : idata = idata + 1
34798 424065 : data_tmp = full_data(idata)
34799 424065 : data_tmp = ISHFT(data_tmp, 19)
34800 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34801 424065 : pack_tmp = ISHFT(pack_tmp, -12)
34802 424065 : idata = idata + 1
34803 424065 : data_tmp = full_data(idata)
34804 424065 : data_tmp = ISHFT(data_tmp, 19)
34805 424065 : data_tmp = IAND(data_tmp, mask_left(12))
34806 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34807 424065 : ipack = ipack + 1
34808 424065 : packed_data(ipack) = pack_tmp
34809 424065 : data_tmp = full_data(idata)
34810 424065 : pack_tmp = ISHFT(data_tmp, 31)
34811 424065 : pack_tmp = ISHFT(pack_tmp, -31)
34812 424065 : idata = idata + 1
34813 424065 : data_tmp = full_data(idata)
34814 424065 : data_tmp = ISHFT(data_tmp, 19)
34815 424065 : data_tmp = IAND(data_tmp, mask_left(31))
34816 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34817 424065 : ipack = ipack + 1
34818 424065 : packed_data(ipack) = pack_tmp
34819 424065 : data_tmp = full_data(idata)
34820 424065 : pack_tmp = ISHFT(data_tmp, 50)
34821 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34822 424065 : idata = idata + 1
34823 424065 : data_tmp = full_data(idata)
34824 424065 : data_tmp = ISHFT(data_tmp, 19)
34825 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34826 424065 : pack_tmp = ISHFT(pack_tmp, -5)
34827 424065 : idata = idata + 1
34828 424065 : data_tmp = full_data(idata)
34829 424065 : data_tmp = ISHFT(data_tmp, 19)
34830 424065 : data_tmp = IAND(data_tmp, mask_left(5))
34831 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34832 424065 : ipack = ipack + 1
34833 424065 : packed_data(ipack) = pack_tmp
34834 424065 : data_tmp = full_data(idata)
34835 424065 : pack_tmp = ISHFT(data_tmp, 24)
34836 424065 : pack_tmp = ISHFT(pack_tmp, -24)
34837 424065 : idata = idata + 1
34838 424065 : data_tmp = full_data(idata)
34839 424065 : data_tmp = ISHFT(data_tmp, 19)
34840 424065 : data_tmp = IAND(data_tmp, mask_left(24))
34841 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34842 424065 : ipack = ipack + 1
34843 424065 : packed_data(ipack) = pack_tmp
34844 424065 : data_tmp = full_data(idata)
34845 424065 : pack_tmp = ISHFT(data_tmp, 43)
34846 424065 : pack_tmp = ISHFT(pack_tmp, -43)
34847 424065 : idata = idata + 1
34848 424065 : data_tmp = full_data(idata)
34849 424065 : data_tmp = ISHFT(data_tmp, 19)
34850 424065 : data_tmp = IAND(data_tmp, mask_left(43))
34851 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34852 424065 : ipack = ipack + 1
34853 424065 : packed_data(ipack) = pack_tmp
34854 424065 : data_tmp = full_data(idata)
34855 424065 : pack_tmp = ISHFT(data_tmp, 62)
34856 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34857 424065 : idata = idata + 1
34858 424065 : data_tmp = full_data(idata)
34859 424065 : data_tmp = ISHFT(data_tmp, 19)
34860 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34861 424065 : pack_tmp = ISHFT(pack_tmp, -17)
34862 424065 : idata = idata + 1
34863 424065 : data_tmp = full_data(idata)
34864 424065 : data_tmp = ISHFT(data_tmp, 19)
34865 424065 : data_tmp = IAND(data_tmp, mask_left(17))
34866 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34867 424065 : ipack = ipack + 1
34868 424065 : packed_data(ipack) = pack_tmp
34869 424065 : data_tmp = full_data(idata)
34870 424065 : pack_tmp = ISHFT(data_tmp, 36)
34871 424065 : pack_tmp = ISHFT(pack_tmp, -36)
34872 424065 : idata = idata + 1
34873 424065 : data_tmp = full_data(idata)
34874 424065 : data_tmp = ISHFT(data_tmp, 19)
34875 424065 : data_tmp = IAND(data_tmp, mask_left(36))
34876 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34877 424065 : ipack = ipack + 1
34878 424065 : packed_data(ipack) = pack_tmp
34879 424065 : data_tmp = full_data(idata)
34880 424065 : pack_tmp = ISHFT(data_tmp, 55)
34881 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34882 424065 : idata = idata + 1
34883 424065 : data_tmp = full_data(idata)
34884 424065 : data_tmp = ISHFT(data_tmp, 19)
34885 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34886 424065 : pack_tmp = ISHFT(pack_tmp, -10)
34887 424065 : idata = idata + 1
34888 424065 : data_tmp = full_data(idata)
34889 424065 : data_tmp = ISHFT(data_tmp, 19)
34890 424065 : data_tmp = IAND(data_tmp, mask_left(10))
34891 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34892 424065 : ipack = ipack + 1
34893 424065 : packed_data(ipack) = pack_tmp
34894 424065 : data_tmp = full_data(idata)
34895 424065 : pack_tmp = ISHFT(data_tmp, 29)
34896 424065 : pack_tmp = ISHFT(pack_tmp, -29)
34897 424065 : idata = idata + 1
34898 424065 : data_tmp = full_data(idata)
34899 424065 : data_tmp = ISHFT(data_tmp, 19)
34900 424065 : data_tmp = IAND(data_tmp, mask_left(29))
34901 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34902 424065 : ipack = ipack + 1
34903 424065 : packed_data(ipack) = pack_tmp
34904 424065 : data_tmp = full_data(idata)
34905 424065 : pack_tmp = ISHFT(data_tmp, 48)
34906 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34907 424065 : idata = idata + 1
34908 424065 : data_tmp = full_data(idata)
34909 424065 : data_tmp = ISHFT(data_tmp, 19)
34910 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34911 424065 : pack_tmp = ISHFT(pack_tmp, -3)
34912 424065 : idata = idata + 1
34913 424065 : data_tmp = full_data(idata)
34914 424065 : data_tmp = ISHFT(data_tmp, 19)
34915 424065 : data_tmp = IAND(data_tmp, mask_left(3))
34916 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34917 424065 : ipack = ipack + 1
34918 424065 : packed_data(ipack) = pack_tmp
34919 424065 : data_tmp = full_data(idata)
34920 424065 : pack_tmp = ISHFT(data_tmp, 22)
34921 424065 : pack_tmp = ISHFT(pack_tmp, -22)
34922 424065 : idata = idata + 1
34923 424065 : data_tmp = full_data(idata)
34924 424065 : data_tmp = ISHFT(data_tmp, 19)
34925 424065 : data_tmp = IAND(data_tmp, mask_left(22))
34926 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34927 424065 : ipack = ipack + 1
34928 424065 : packed_data(ipack) = pack_tmp
34929 424065 : data_tmp = full_data(idata)
34930 424065 : pack_tmp = ISHFT(data_tmp, 41)
34931 424065 : pack_tmp = ISHFT(pack_tmp, -41)
34932 424065 : idata = idata + 1
34933 424065 : data_tmp = full_data(idata)
34934 424065 : data_tmp = ISHFT(data_tmp, 19)
34935 424065 : data_tmp = IAND(data_tmp, mask_left(41))
34936 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34937 424065 : ipack = ipack + 1
34938 424065 : packed_data(ipack) = pack_tmp
34939 424065 : data_tmp = full_data(idata)
34940 424065 : pack_tmp = ISHFT(data_tmp, 60)
34941 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34942 424065 : idata = idata + 1
34943 424065 : data_tmp = full_data(idata)
34944 424065 : data_tmp = ISHFT(data_tmp, 19)
34945 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34946 424065 : pack_tmp = ISHFT(pack_tmp, -15)
34947 424065 : idata = idata + 1
34948 424065 : data_tmp = full_data(idata)
34949 424065 : data_tmp = ISHFT(data_tmp, 19)
34950 424065 : data_tmp = IAND(data_tmp, mask_left(15))
34951 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34952 424065 : ipack = ipack + 1
34953 424065 : packed_data(ipack) = pack_tmp
34954 424065 : data_tmp = full_data(idata)
34955 424065 : pack_tmp = ISHFT(data_tmp, 34)
34956 424065 : pack_tmp = ISHFT(pack_tmp, -34)
34957 424065 : idata = idata + 1
34958 424065 : data_tmp = full_data(idata)
34959 424065 : data_tmp = ISHFT(data_tmp, 19)
34960 424065 : data_tmp = IAND(data_tmp, mask_left(34))
34961 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34962 424065 : ipack = ipack + 1
34963 424065 : packed_data(ipack) = pack_tmp
34964 424065 : data_tmp = full_data(idata)
34965 424065 : pack_tmp = ISHFT(data_tmp, 53)
34966 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34967 424065 : idata = idata + 1
34968 424065 : data_tmp = full_data(idata)
34969 424065 : data_tmp = ISHFT(data_tmp, 19)
34970 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34971 424065 : pack_tmp = ISHFT(pack_tmp, -8)
34972 424065 : idata = idata + 1
34973 424065 : data_tmp = full_data(idata)
34974 424065 : data_tmp = ISHFT(data_tmp, 19)
34975 424065 : data_tmp = IAND(data_tmp, mask_left(8))
34976 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34977 424065 : ipack = ipack + 1
34978 424065 : packed_data(ipack) = pack_tmp
34979 424065 : data_tmp = full_data(idata)
34980 424065 : pack_tmp = ISHFT(data_tmp, 27)
34981 424065 : pack_tmp = ISHFT(pack_tmp, -27)
34982 424065 : idata = idata + 1
34983 424065 : data_tmp = full_data(idata)
34984 424065 : data_tmp = ISHFT(data_tmp, 19)
34985 424065 : data_tmp = IAND(data_tmp, mask_left(27))
34986 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34987 424065 : ipack = ipack + 1
34988 424065 : packed_data(ipack) = pack_tmp
34989 424065 : data_tmp = full_data(idata)
34990 424065 : pack_tmp = ISHFT(data_tmp, 46)
34991 424065 : pack_tmp = ISHFT(pack_tmp, -45)
34992 424065 : idata = idata + 1
34993 424065 : data_tmp = full_data(idata)
34994 424065 : data_tmp = ISHFT(data_tmp, 19)
34995 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
34996 424065 : pack_tmp = ISHFT(pack_tmp, -1)
34997 424065 : idata = idata + 1
34998 424065 : data_tmp = full_data(idata)
34999 424065 : data_tmp = ISHFT(data_tmp, 19)
35000 424065 : data_tmp = IAND(data_tmp, mask_left(1))
35001 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35002 424065 : ipack = ipack + 1
35003 424065 : packed_data(ipack) = pack_tmp
35004 424065 : data_tmp = full_data(idata)
35005 424065 : pack_tmp = ISHFT(data_tmp, 20)
35006 424065 : pack_tmp = ISHFT(pack_tmp, -20)
35007 424065 : idata = idata + 1
35008 424065 : data_tmp = full_data(idata)
35009 424065 : data_tmp = ISHFT(data_tmp, 19)
35010 424065 : data_tmp = IAND(data_tmp, mask_left(20))
35011 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35012 424065 : ipack = ipack + 1
35013 424065 : packed_data(ipack) = pack_tmp
35014 424065 : data_tmp = full_data(idata)
35015 424065 : pack_tmp = ISHFT(data_tmp, 39)
35016 424065 : pack_tmp = ISHFT(pack_tmp, -39)
35017 424065 : idata = idata + 1
35018 424065 : data_tmp = full_data(idata)
35019 424065 : data_tmp = ISHFT(data_tmp, 19)
35020 424065 : data_tmp = IAND(data_tmp, mask_left(39))
35021 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35022 424065 : ipack = ipack + 1
35023 424065 : packed_data(ipack) = pack_tmp
35024 424065 : data_tmp = full_data(idata)
35025 424065 : pack_tmp = ISHFT(data_tmp, 58)
35026 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35027 424065 : idata = idata + 1
35028 424065 : data_tmp = full_data(idata)
35029 424065 : data_tmp = ISHFT(data_tmp, 19)
35030 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35031 424065 : pack_tmp = ISHFT(pack_tmp, -13)
35032 424065 : idata = idata + 1
35033 424065 : data_tmp = full_data(idata)
35034 424065 : data_tmp = ISHFT(data_tmp, 19)
35035 424065 : data_tmp = IAND(data_tmp, mask_left(13))
35036 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35037 424065 : ipack = ipack + 1
35038 424065 : packed_data(ipack) = pack_tmp
35039 424065 : data_tmp = full_data(idata)
35040 424065 : pack_tmp = ISHFT(data_tmp, 32)
35041 424065 : pack_tmp = ISHFT(pack_tmp, -32)
35042 424065 : idata = idata + 1
35043 424065 : data_tmp = full_data(idata)
35044 424065 : data_tmp = ISHFT(data_tmp, 19)
35045 424065 : data_tmp = IAND(data_tmp, mask_left(32))
35046 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35047 424065 : ipack = ipack + 1
35048 424065 : packed_data(ipack) = pack_tmp
35049 424065 : data_tmp = full_data(idata)
35050 424065 : pack_tmp = ISHFT(data_tmp, 51)
35051 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35052 424065 : idata = idata + 1
35053 424065 : data_tmp = full_data(idata)
35054 424065 : data_tmp = ISHFT(data_tmp, 19)
35055 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35056 424065 : pack_tmp = ISHFT(pack_tmp, -6)
35057 424065 : idata = idata + 1
35058 424065 : data_tmp = full_data(idata)
35059 424065 : data_tmp = ISHFT(data_tmp, 19)
35060 424065 : data_tmp = IAND(data_tmp, mask_left(6))
35061 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35062 424065 : ipack = ipack + 1
35063 424065 : packed_data(ipack) = pack_tmp
35064 424065 : data_tmp = full_data(idata)
35065 424065 : pack_tmp = ISHFT(data_tmp, 25)
35066 424065 : pack_tmp = ISHFT(pack_tmp, -25)
35067 424065 : idata = idata + 1
35068 424065 : data_tmp = full_data(idata)
35069 424065 : data_tmp = ISHFT(data_tmp, 19)
35070 424065 : data_tmp = IAND(data_tmp, mask_left(25))
35071 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35072 424065 : ipack = ipack + 1
35073 424065 : packed_data(ipack) = pack_tmp
35074 424065 : data_tmp = full_data(idata)
35075 424065 : pack_tmp = ISHFT(data_tmp, 44)
35076 424065 : pack_tmp = ISHFT(pack_tmp, -44)
35077 424065 : idata = idata + 1
35078 424065 : data_tmp = full_data(idata)
35079 424065 : data_tmp = ISHFT(data_tmp, 19)
35080 424065 : data_tmp = IAND(data_tmp, mask_left(44))
35081 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35082 424065 : ipack = ipack + 1
35083 424065 : packed_data(ipack) = pack_tmp
35084 424065 : data_tmp = full_data(idata)
35085 424065 : pack_tmp = ISHFT(data_tmp, 63)
35086 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35087 424065 : idata = idata + 1
35088 424065 : data_tmp = full_data(idata)
35089 424065 : data_tmp = ISHFT(data_tmp, 19)
35090 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35091 424065 : pack_tmp = ISHFT(pack_tmp, -18)
35092 424065 : idata = idata + 1
35093 424065 : data_tmp = full_data(idata)
35094 424065 : data_tmp = ISHFT(data_tmp, 19)
35095 424065 : data_tmp = IAND(data_tmp, mask_left(18))
35096 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35097 424065 : ipack = ipack + 1
35098 424065 : packed_data(ipack) = pack_tmp
35099 424065 : data_tmp = full_data(idata)
35100 424065 : pack_tmp = ISHFT(data_tmp, 37)
35101 424065 : pack_tmp = ISHFT(pack_tmp, -37)
35102 424065 : idata = idata + 1
35103 424065 : data_tmp = full_data(idata)
35104 424065 : data_tmp = ISHFT(data_tmp, 19)
35105 424065 : data_tmp = IAND(data_tmp, mask_left(37))
35106 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35107 424065 : ipack = ipack + 1
35108 424065 : packed_data(ipack) = pack_tmp
35109 424065 : data_tmp = full_data(idata)
35110 424065 : pack_tmp = ISHFT(data_tmp, 56)
35111 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35112 424065 : idata = idata + 1
35113 424065 : data_tmp = full_data(idata)
35114 424065 : data_tmp = ISHFT(data_tmp, 19)
35115 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35116 424065 : pack_tmp = ISHFT(pack_tmp, -11)
35117 424065 : idata = idata + 1
35118 424065 : data_tmp = full_data(idata)
35119 424065 : data_tmp = ISHFT(data_tmp, 19)
35120 424065 : data_tmp = IAND(data_tmp, mask_left(11))
35121 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35122 424065 : ipack = ipack + 1
35123 424065 : packed_data(ipack) = pack_tmp
35124 424065 : data_tmp = full_data(idata)
35125 424065 : pack_tmp = ISHFT(data_tmp, 30)
35126 424065 : pack_tmp = ISHFT(pack_tmp, -30)
35127 424065 : idata = idata + 1
35128 424065 : data_tmp = full_data(idata)
35129 424065 : data_tmp = ISHFT(data_tmp, 19)
35130 424065 : data_tmp = IAND(data_tmp, mask_left(30))
35131 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35132 424065 : ipack = ipack + 1
35133 424065 : packed_data(ipack) = pack_tmp
35134 424065 : data_tmp = full_data(idata)
35135 424065 : pack_tmp = ISHFT(data_tmp, 49)
35136 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35137 424065 : idata = idata + 1
35138 424065 : data_tmp = full_data(idata)
35139 424065 : data_tmp = ISHFT(data_tmp, 19)
35140 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35141 424065 : pack_tmp = ISHFT(pack_tmp, -4)
35142 424065 : idata = idata + 1
35143 424065 : data_tmp = full_data(idata)
35144 424065 : data_tmp = ISHFT(data_tmp, 19)
35145 424065 : data_tmp = IAND(data_tmp, mask_left(4))
35146 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35147 424065 : ipack = ipack + 1
35148 424065 : packed_data(ipack) = pack_tmp
35149 424065 : data_tmp = full_data(idata)
35150 424065 : pack_tmp = ISHFT(data_tmp, 23)
35151 424065 : pack_tmp = ISHFT(pack_tmp, -23)
35152 424065 : idata = idata + 1
35153 424065 : data_tmp = full_data(idata)
35154 424065 : data_tmp = ISHFT(data_tmp, 19)
35155 424065 : data_tmp = IAND(data_tmp, mask_left(23))
35156 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35157 424065 : ipack = ipack + 1
35158 424065 : packed_data(ipack) = pack_tmp
35159 424065 : data_tmp = full_data(idata)
35160 424065 : pack_tmp = ISHFT(data_tmp, 42)
35161 424065 : pack_tmp = ISHFT(pack_tmp, -42)
35162 424065 : idata = idata + 1
35163 424065 : data_tmp = full_data(idata)
35164 424065 : data_tmp = ISHFT(data_tmp, 19)
35165 424065 : data_tmp = IAND(data_tmp, mask_left(42))
35166 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35167 424065 : ipack = ipack + 1
35168 424065 : packed_data(ipack) = pack_tmp
35169 424065 : data_tmp = full_data(idata)
35170 424065 : pack_tmp = ISHFT(data_tmp, 61)
35171 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35172 424065 : idata = idata + 1
35173 424065 : data_tmp = full_data(idata)
35174 424065 : data_tmp = ISHFT(data_tmp, 19)
35175 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35176 424065 : pack_tmp = ISHFT(pack_tmp, -16)
35177 424065 : idata = idata + 1
35178 424065 : data_tmp = full_data(idata)
35179 424065 : data_tmp = ISHFT(data_tmp, 19)
35180 424065 : data_tmp = IAND(data_tmp, mask_left(16))
35181 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35182 424065 : ipack = ipack + 1
35183 424065 : packed_data(ipack) = pack_tmp
35184 424065 : data_tmp = full_data(idata)
35185 424065 : pack_tmp = ISHFT(data_tmp, 35)
35186 424065 : pack_tmp = ISHFT(pack_tmp, -35)
35187 424065 : idata = idata + 1
35188 424065 : data_tmp = full_data(idata)
35189 424065 : data_tmp = ISHFT(data_tmp, 19)
35190 424065 : data_tmp = IAND(data_tmp, mask_left(35))
35191 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35192 424065 : ipack = ipack + 1
35193 424065 : packed_data(ipack) = pack_tmp
35194 424065 : data_tmp = full_data(idata)
35195 424065 : pack_tmp = ISHFT(data_tmp, 54)
35196 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35197 424065 : idata = idata + 1
35198 424065 : data_tmp = full_data(idata)
35199 424065 : data_tmp = ISHFT(data_tmp, 19)
35200 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35201 424065 : pack_tmp = ISHFT(pack_tmp, -9)
35202 424065 : idata = idata + 1
35203 424065 : data_tmp = full_data(idata)
35204 424065 : data_tmp = ISHFT(data_tmp, 19)
35205 424065 : data_tmp = IAND(data_tmp, mask_left(9))
35206 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35207 424065 : ipack = ipack + 1
35208 424065 : packed_data(ipack) = pack_tmp
35209 424065 : data_tmp = full_data(idata)
35210 424065 : pack_tmp = ISHFT(data_tmp, 28)
35211 424065 : pack_tmp = ISHFT(pack_tmp, -28)
35212 424065 : idata = idata + 1
35213 424065 : data_tmp = full_data(idata)
35214 424065 : data_tmp = ISHFT(data_tmp, 19)
35215 424065 : data_tmp = IAND(data_tmp, mask_left(28))
35216 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35217 424065 : ipack = ipack + 1
35218 424065 : packed_data(ipack) = pack_tmp
35219 424065 : data_tmp = full_data(idata)
35220 424065 : pack_tmp = ISHFT(data_tmp, 47)
35221 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35222 424065 : idata = idata + 1
35223 424065 : data_tmp = full_data(idata)
35224 424065 : data_tmp = ISHFT(data_tmp, 19)
35225 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35226 424065 : pack_tmp = ISHFT(pack_tmp, -2)
35227 424065 : idata = idata + 1
35228 424065 : data_tmp = full_data(idata)
35229 424065 : data_tmp = ISHFT(data_tmp, 19)
35230 424065 : data_tmp = IAND(data_tmp, mask_left(2))
35231 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35232 424065 : ipack = ipack + 1
35233 424065 : packed_data(ipack) = pack_tmp
35234 424065 : data_tmp = full_data(idata)
35235 424065 : pack_tmp = ISHFT(data_tmp, 21)
35236 424065 : pack_tmp = ISHFT(pack_tmp, -21)
35237 424065 : idata = idata + 1
35238 424065 : data_tmp = full_data(idata)
35239 424065 : data_tmp = ISHFT(data_tmp, 19)
35240 424065 : data_tmp = IAND(data_tmp, mask_left(21))
35241 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35242 424065 : ipack = ipack + 1
35243 424065 : packed_data(ipack) = pack_tmp
35244 424065 : data_tmp = full_data(idata)
35245 424065 : pack_tmp = ISHFT(data_tmp, 40)
35246 424065 : pack_tmp = ISHFT(pack_tmp, -40)
35247 424065 : idata = idata + 1
35248 424065 : data_tmp = full_data(idata)
35249 424065 : data_tmp = ISHFT(data_tmp, 19)
35250 424065 : data_tmp = IAND(data_tmp, mask_left(40))
35251 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35252 424065 : ipack = ipack + 1
35253 424065 : packed_data(ipack) = pack_tmp
35254 424065 : data_tmp = full_data(idata)
35255 424065 : pack_tmp = ISHFT(data_tmp, 59)
35256 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35257 424065 : idata = idata + 1
35258 424065 : data_tmp = full_data(idata)
35259 424065 : data_tmp = ISHFT(data_tmp, 19)
35260 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35261 424065 : pack_tmp = ISHFT(pack_tmp, -14)
35262 424065 : idata = idata + 1
35263 424065 : data_tmp = full_data(idata)
35264 424065 : data_tmp = ISHFT(data_tmp, 19)
35265 424065 : data_tmp = IAND(data_tmp, mask_left(14))
35266 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35267 424065 : ipack = ipack + 1
35268 424065 : packed_data(ipack) = pack_tmp
35269 424065 : data_tmp = full_data(idata)
35270 424065 : pack_tmp = ISHFT(data_tmp, 33)
35271 424065 : pack_tmp = ISHFT(pack_tmp, -33)
35272 424065 : idata = idata + 1
35273 424065 : data_tmp = full_data(idata)
35274 424065 : data_tmp = ISHFT(data_tmp, 19)
35275 424065 : data_tmp = IAND(data_tmp, mask_left(33))
35276 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35277 424065 : ipack = ipack + 1
35278 424065 : packed_data(ipack) = pack_tmp
35279 424065 : data_tmp = full_data(idata)
35280 424065 : pack_tmp = ISHFT(data_tmp, 52)
35281 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35282 424065 : idata = idata + 1
35283 424065 : data_tmp = full_data(idata)
35284 424065 : data_tmp = ISHFT(data_tmp, 19)
35285 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35286 424065 : pack_tmp = ISHFT(pack_tmp, -7)
35287 424065 : idata = idata + 1
35288 424065 : data_tmp = full_data(idata)
35289 424065 : data_tmp = ISHFT(data_tmp, 19)
35290 424065 : data_tmp = IAND(data_tmp, mask_left(7))
35291 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35292 424065 : ipack = ipack + 1
35293 424065 : packed_data(ipack) = pack_tmp
35294 424065 : data_tmp = full_data(idata)
35295 424065 : pack_tmp = ISHFT(data_tmp, 26)
35296 424065 : pack_tmp = ISHFT(pack_tmp, -26)
35297 424065 : idata = idata + 1
35298 424065 : data_tmp = full_data(idata)
35299 424065 : data_tmp = ISHFT(data_tmp, 19)
35300 424065 : data_tmp = IAND(data_tmp, mask_left(26))
35301 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35302 424065 : ipack = ipack + 1
35303 424065 : packed_data(ipack) = pack_tmp
35304 424065 : data_tmp = full_data(idata)
35305 424065 : pack_tmp = ISHFT(data_tmp, 45)
35306 424065 : pack_tmp = ISHFT(pack_tmp, -45)
35307 424065 : idata = idata + 1
35308 424065 : data_tmp = full_data(idata)
35309 424065 : data_tmp = ISHFT(data_tmp, 19)
35310 424065 : pack_tmp = IOR(pack_tmp, data_tmp)
35311 : pack_tmp = ISHFT(pack_tmp, 0)
35312 424065 : pack_tmp = ISHFT(pack_tmp, 0)
35313 424065 : ipack = ipack + 1
35314 424116 : packed_data(ipack) = pack_tmp
35315 : END DO
35316 29155 : IF (Ndata_rep < Ndata) THEN
35317 4990 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35318 : END IF
35319 29155 : END SUBROUTINE ints2bits_45
35320 :
35321 : ! **************************************************************************************************
35322 : !> \brief ...
35323 : !> \param Ndata ...
35324 : !> \param packed_data ...
35325 : !> \param full_data ...
35326 : ! **************************************************************************************************
35327 132204 : 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 132204 : ipack = 0
35338 132204 : idata = 0
35339 132204 : pack_tmp = 0
35340 132204 : Ndata_rep = (Ndata/64)*64
35341 132204 : DO kdata = 1, Ndata_rep, 64
35342 1847004 : idata = idata + 1
35343 1847004 : data_tmp = ISHFT(pack_tmp, 45)
35344 1847004 : ipack = ipack + 1
35345 1847004 : pack_tmp = packed_data(ipack)
35346 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
35347 1847004 : pack_tmp = ISHFT(pack_tmp, -45)
35348 1847004 : idata = idata + 1
35349 1847004 : data_tmp = ISHFT(pack_tmp, 26)
35350 1847004 : ipack = ipack + 1
35351 1847004 : pack_tmp = packed_data(ipack)
35352 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
35353 1847004 : pack_tmp = ISHFT(pack_tmp, -26)
35354 1847004 : idata = idata + 1
35355 1847004 : data_tmp = ISHFT(pack_tmp, 7)
35356 1847004 : ipack = ipack + 1
35357 1847004 : pack_tmp = packed_data(ipack)
35358 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
35359 1847004 : pack_tmp = ISHFT(pack_tmp, -7)
35360 1847004 : idata = idata + 1
35361 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35362 1847004 : full_data(idata) = data_tmp
35363 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35364 1847004 : idata = idata + 1
35365 1847004 : data_tmp = ISHFT(pack_tmp, 33)
35366 1847004 : ipack = ipack + 1
35367 1847004 : pack_tmp = packed_data(ipack)
35368 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
35369 1847004 : pack_tmp = ISHFT(pack_tmp, -33)
35370 1847004 : idata = idata + 1
35371 1847004 : data_tmp = ISHFT(pack_tmp, 14)
35372 1847004 : ipack = ipack + 1
35373 1847004 : pack_tmp = packed_data(ipack)
35374 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
35375 1847004 : pack_tmp = ISHFT(pack_tmp, -14)
35376 1847004 : idata = idata + 1
35377 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35378 1847004 : full_data(idata) = data_tmp
35379 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35380 1847004 : idata = idata + 1
35381 1847004 : data_tmp = ISHFT(pack_tmp, 40)
35382 1847004 : ipack = ipack + 1
35383 1847004 : pack_tmp = packed_data(ipack)
35384 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
35385 1847004 : pack_tmp = ISHFT(pack_tmp, -40)
35386 1847004 : idata = idata + 1
35387 1847004 : data_tmp = ISHFT(pack_tmp, 21)
35388 1847004 : ipack = ipack + 1
35389 1847004 : pack_tmp = packed_data(ipack)
35390 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
35391 1847004 : pack_tmp = ISHFT(pack_tmp, -21)
35392 1847004 : idata = idata + 1
35393 1847004 : data_tmp = ISHFT(pack_tmp, 2)
35394 1847004 : ipack = ipack + 1
35395 1847004 : pack_tmp = packed_data(ipack)
35396 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
35397 1847004 : pack_tmp = ISHFT(pack_tmp, -2)
35398 1847004 : idata = idata + 1
35399 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35400 1847004 : full_data(idata) = data_tmp
35401 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35402 1847004 : idata = idata + 1
35403 1847004 : data_tmp = ISHFT(pack_tmp, 28)
35404 1847004 : ipack = ipack + 1
35405 1847004 : pack_tmp = packed_data(ipack)
35406 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
35407 1847004 : pack_tmp = ISHFT(pack_tmp, -28)
35408 1847004 : idata = idata + 1
35409 1847004 : data_tmp = ISHFT(pack_tmp, 9)
35410 1847004 : ipack = ipack + 1
35411 1847004 : pack_tmp = packed_data(ipack)
35412 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
35413 1847004 : pack_tmp = ISHFT(pack_tmp, -9)
35414 1847004 : idata = idata + 1
35415 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35416 1847004 : full_data(idata) = data_tmp
35417 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35418 1847004 : idata = idata + 1
35419 1847004 : data_tmp = ISHFT(pack_tmp, 35)
35420 1847004 : ipack = ipack + 1
35421 1847004 : pack_tmp = packed_data(ipack)
35422 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
35423 1847004 : pack_tmp = ISHFT(pack_tmp, -35)
35424 1847004 : idata = idata + 1
35425 1847004 : data_tmp = ISHFT(pack_tmp, 16)
35426 1847004 : ipack = ipack + 1
35427 1847004 : pack_tmp = packed_data(ipack)
35428 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
35429 1847004 : pack_tmp = ISHFT(pack_tmp, -16)
35430 1847004 : idata = idata + 1
35431 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35432 1847004 : full_data(idata) = data_tmp
35433 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35434 1847004 : idata = idata + 1
35435 1847004 : data_tmp = ISHFT(pack_tmp, 42)
35436 1847004 : ipack = ipack + 1
35437 1847004 : pack_tmp = packed_data(ipack)
35438 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
35439 1847004 : pack_tmp = ISHFT(pack_tmp, -42)
35440 1847004 : idata = idata + 1
35441 1847004 : data_tmp = ISHFT(pack_tmp, 23)
35442 1847004 : ipack = ipack + 1
35443 1847004 : pack_tmp = packed_data(ipack)
35444 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
35445 1847004 : pack_tmp = ISHFT(pack_tmp, -23)
35446 1847004 : idata = idata + 1
35447 1847004 : data_tmp = ISHFT(pack_tmp, 4)
35448 1847004 : ipack = ipack + 1
35449 1847004 : pack_tmp = packed_data(ipack)
35450 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
35451 1847004 : pack_tmp = ISHFT(pack_tmp, -4)
35452 1847004 : idata = idata + 1
35453 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35454 1847004 : full_data(idata) = data_tmp
35455 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35456 1847004 : idata = idata + 1
35457 1847004 : data_tmp = ISHFT(pack_tmp, 30)
35458 1847004 : ipack = ipack + 1
35459 1847004 : pack_tmp = packed_data(ipack)
35460 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
35461 1847004 : pack_tmp = ISHFT(pack_tmp, -30)
35462 1847004 : idata = idata + 1
35463 1847004 : data_tmp = ISHFT(pack_tmp, 11)
35464 1847004 : ipack = ipack + 1
35465 1847004 : pack_tmp = packed_data(ipack)
35466 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
35467 1847004 : pack_tmp = ISHFT(pack_tmp, -11)
35468 1847004 : idata = idata + 1
35469 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35470 1847004 : full_data(idata) = data_tmp
35471 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35472 1847004 : idata = idata + 1
35473 1847004 : data_tmp = ISHFT(pack_tmp, 37)
35474 1847004 : ipack = ipack + 1
35475 1847004 : pack_tmp = packed_data(ipack)
35476 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
35477 1847004 : pack_tmp = ISHFT(pack_tmp, -37)
35478 1847004 : idata = idata + 1
35479 1847004 : data_tmp = ISHFT(pack_tmp, 18)
35480 1847004 : ipack = ipack + 1
35481 1847004 : pack_tmp = packed_data(ipack)
35482 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
35483 1847004 : pack_tmp = ISHFT(pack_tmp, -18)
35484 1847004 : idata = idata + 1
35485 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35486 1847004 : full_data(idata) = data_tmp
35487 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35488 1847004 : idata = idata + 1
35489 1847004 : data_tmp = ISHFT(pack_tmp, 44)
35490 1847004 : ipack = ipack + 1
35491 1847004 : pack_tmp = packed_data(ipack)
35492 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
35493 1847004 : pack_tmp = ISHFT(pack_tmp, -44)
35494 1847004 : idata = idata + 1
35495 1847004 : data_tmp = ISHFT(pack_tmp, 25)
35496 1847004 : ipack = ipack + 1
35497 1847004 : pack_tmp = packed_data(ipack)
35498 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
35499 1847004 : pack_tmp = ISHFT(pack_tmp, -25)
35500 1847004 : idata = idata + 1
35501 1847004 : data_tmp = ISHFT(pack_tmp, 6)
35502 1847004 : ipack = ipack + 1
35503 1847004 : pack_tmp = packed_data(ipack)
35504 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
35505 1847004 : pack_tmp = ISHFT(pack_tmp, -6)
35506 1847004 : idata = idata + 1
35507 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35508 1847004 : full_data(idata) = data_tmp
35509 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35510 1847004 : idata = idata + 1
35511 1847004 : data_tmp = ISHFT(pack_tmp, 32)
35512 1847004 : ipack = ipack + 1
35513 1847004 : pack_tmp = packed_data(ipack)
35514 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
35515 1847004 : pack_tmp = ISHFT(pack_tmp, -32)
35516 1847004 : idata = idata + 1
35517 1847004 : data_tmp = ISHFT(pack_tmp, 13)
35518 1847004 : ipack = ipack + 1
35519 1847004 : pack_tmp = packed_data(ipack)
35520 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
35521 1847004 : pack_tmp = ISHFT(pack_tmp, -13)
35522 1847004 : idata = idata + 1
35523 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35524 1847004 : full_data(idata) = data_tmp
35525 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35526 1847004 : idata = idata + 1
35527 1847004 : data_tmp = ISHFT(pack_tmp, 39)
35528 1847004 : ipack = ipack + 1
35529 1847004 : pack_tmp = packed_data(ipack)
35530 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
35531 1847004 : pack_tmp = ISHFT(pack_tmp, -39)
35532 1847004 : idata = idata + 1
35533 1847004 : data_tmp = ISHFT(pack_tmp, 20)
35534 1847004 : ipack = ipack + 1
35535 1847004 : pack_tmp = packed_data(ipack)
35536 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
35537 1847004 : pack_tmp = ISHFT(pack_tmp, -20)
35538 1847004 : idata = idata + 1
35539 1847004 : data_tmp = ISHFT(pack_tmp, 1)
35540 1847004 : ipack = ipack + 1
35541 1847004 : pack_tmp = packed_data(ipack)
35542 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
35543 1847004 : pack_tmp = ISHFT(pack_tmp, -1)
35544 1847004 : idata = idata + 1
35545 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35546 1847004 : full_data(idata) = data_tmp
35547 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35548 1847004 : idata = idata + 1
35549 1847004 : data_tmp = ISHFT(pack_tmp, 27)
35550 1847004 : ipack = ipack + 1
35551 1847004 : pack_tmp = packed_data(ipack)
35552 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
35553 1847004 : pack_tmp = ISHFT(pack_tmp, -27)
35554 1847004 : idata = idata + 1
35555 1847004 : data_tmp = ISHFT(pack_tmp, 8)
35556 1847004 : ipack = ipack + 1
35557 1847004 : pack_tmp = packed_data(ipack)
35558 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
35559 1847004 : pack_tmp = ISHFT(pack_tmp, -8)
35560 1847004 : idata = idata + 1
35561 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35562 1847004 : full_data(idata) = data_tmp
35563 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35564 1847004 : idata = idata + 1
35565 1847004 : data_tmp = ISHFT(pack_tmp, 34)
35566 1847004 : ipack = ipack + 1
35567 1847004 : pack_tmp = packed_data(ipack)
35568 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
35569 1847004 : pack_tmp = ISHFT(pack_tmp, -34)
35570 1847004 : idata = idata + 1
35571 1847004 : data_tmp = ISHFT(pack_tmp, 15)
35572 1847004 : ipack = ipack + 1
35573 1847004 : pack_tmp = packed_data(ipack)
35574 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
35575 1847004 : pack_tmp = ISHFT(pack_tmp, -15)
35576 1847004 : idata = idata + 1
35577 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35578 1847004 : full_data(idata) = data_tmp
35579 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35580 1847004 : idata = idata + 1
35581 1847004 : data_tmp = ISHFT(pack_tmp, 41)
35582 1847004 : ipack = ipack + 1
35583 1847004 : pack_tmp = packed_data(ipack)
35584 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
35585 1847004 : pack_tmp = ISHFT(pack_tmp, -41)
35586 1847004 : idata = idata + 1
35587 1847004 : data_tmp = ISHFT(pack_tmp, 22)
35588 1847004 : ipack = ipack + 1
35589 1847004 : pack_tmp = packed_data(ipack)
35590 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
35591 1847004 : pack_tmp = ISHFT(pack_tmp, -22)
35592 1847004 : idata = idata + 1
35593 1847004 : data_tmp = ISHFT(pack_tmp, 3)
35594 1847004 : ipack = ipack + 1
35595 1847004 : pack_tmp = packed_data(ipack)
35596 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
35597 1847004 : pack_tmp = ISHFT(pack_tmp, -3)
35598 1847004 : idata = idata + 1
35599 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35600 1847004 : full_data(idata) = data_tmp
35601 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35602 1847004 : idata = idata + 1
35603 1847004 : data_tmp = ISHFT(pack_tmp, 29)
35604 1847004 : ipack = ipack + 1
35605 1847004 : pack_tmp = packed_data(ipack)
35606 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
35607 1847004 : pack_tmp = ISHFT(pack_tmp, -29)
35608 1847004 : idata = idata + 1
35609 1847004 : data_tmp = ISHFT(pack_tmp, 10)
35610 1847004 : ipack = ipack + 1
35611 1847004 : pack_tmp = packed_data(ipack)
35612 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
35613 1847004 : pack_tmp = ISHFT(pack_tmp, -10)
35614 1847004 : idata = idata + 1
35615 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35616 1847004 : full_data(idata) = data_tmp
35617 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35618 1847004 : idata = idata + 1
35619 1847004 : data_tmp = ISHFT(pack_tmp, 36)
35620 1847004 : ipack = ipack + 1
35621 1847004 : pack_tmp = packed_data(ipack)
35622 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
35623 1847004 : pack_tmp = ISHFT(pack_tmp, -36)
35624 1847004 : idata = idata + 1
35625 1847004 : data_tmp = ISHFT(pack_tmp, 17)
35626 1847004 : ipack = ipack + 1
35627 1847004 : pack_tmp = packed_data(ipack)
35628 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
35629 1847004 : pack_tmp = ISHFT(pack_tmp, -17)
35630 1847004 : idata = idata + 1
35631 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35632 1847004 : full_data(idata) = data_tmp
35633 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35634 1847004 : idata = idata + 1
35635 1847004 : data_tmp = ISHFT(pack_tmp, 43)
35636 1847004 : ipack = ipack + 1
35637 1847004 : pack_tmp = packed_data(ipack)
35638 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
35639 1847004 : pack_tmp = ISHFT(pack_tmp, -43)
35640 1847004 : idata = idata + 1
35641 1847004 : data_tmp = ISHFT(pack_tmp, 24)
35642 1847004 : ipack = ipack + 1
35643 1847004 : pack_tmp = packed_data(ipack)
35644 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
35645 1847004 : pack_tmp = ISHFT(pack_tmp, -24)
35646 1847004 : idata = idata + 1
35647 1847004 : data_tmp = ISHFT(pack_tmp, 5)
35648 1847004 : ipack = ipack + 1
35649 1847004 : pack_tmp = packed_data(ipack)
35650 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
35651 1847004 : pack_tmp = ISHFT(pack_tmp, -5)
35652 1847004 : idata = idata + 1
35653 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35654 1847004 : full_data(idata) = data_tmp
35655 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35656 1847004 : idata = idata + 1
35657 1847004 : data_tmp = ISHFT(pack_tmp, 31)
35658 1847004 : ipack = ipack + 1
35659 1847004 : pack_tmp = packed_data(ipack)
35660 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
35661 1847004 : pack_tmp = ISHFT(pack_tmp, -31)
35662 1847004 : idata = idata + 1
35663 1847004 : data_tmp = ISHFT(pack_tmp, 12)
35664 1847004 : ipack = ipack + 1
35665 1847004 : pack_tmp = packed_data(ipack)
35666 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
35667 1847004 : pack_tmp = ISHFT(pack_tmp, -12)
35668 1847004 : idata = idata + 1
35669 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35670 1847004 : full_data(idata) = data_tmp
35671 1847004 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35672 1847004 : idata = idata + 1
35673 1847004 : data_tmp = ISHFT(pack_tmp, 38)
35674 1847004 : ipack = ipack + 1
35675 1847004 : pack_tmp = packed_data(ipack)
35676 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
35677 1847004 : pack_tmp = ISHFT(pack_tmp, -38)
35678 1847004 : idata = idata + 1
35679 1847004 : data_tmp = ISHFT(pack_tmp, 19)
35680 1847004 : ipack = ipack + 1
35681 1847004 : pack_tmp = packed_data(ipack)
35682 1847004 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
35683 1847004 : pack_tmp = ISHFT(pack_tmp, -19)
35684 1847004 : idata = idata + 1
35685 1847004 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35686 1847004 : full_data(idata) = data_tmp
35687 1847980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35688 : END DO
35689 132204 : IF (Ndata_rep < Ndata) THEN
35690 31560 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35691 : END IF
35692 132204 : END SUBROUTINE bits2ints_45
35693 :
35694 : ! **************************************************************************************************
35695 : !> \brief ...
35696 : !> \param Ndata ...
35697 : !> \param packed_data ...
35698 : !> \param full_data ...
35699 : ! **************************************************************************************************
35700 28676 : 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 28676 : idata = 0
35711 28676 : ipack = 0
35712 28676 : Ndata_rep = (Ndata/64)*64
35713 28676 : DO kdata = 1, Ndata_rep, 64
35714 419135 : pack_tmp = 0
35715 419135 : idata = idata + 1
35716 419135 : data_tmp = full_data(idata)
35717 419135 : data_tmp = ISHFT(data_tmp, 18)
35718 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35719 419135 : pack_tmp = ISHFT(pack_tmp, -18)
35720 419135 : idata = idata + 1
35721 419135 : data_tmp = full_data(idata)
35722 419135 : data_tmp = ISHFT(data_tmp, 18)
35723 419135 : data_tmp = IAND(data_tmp, mask_left(18))
35724 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35725 419135 : ipack = ipack + 1
35726 419135 : packed_data(ipack) = pack_tmp
35727 419135 : data_tmp = full_data(idata)
35728 419135 : pack_tmp = ISHFT(data_tmp, 36)
35729 419135 : pack_tmp = ISHFT(pack_tmp, -36)
35730 419135 : idata = idata + 1
35731 419135 : data_tmp = full_data(idata)
35732 419135 : data_tmp = ISHFT(data_tmp, 18)
35733 419135 : data_tmp = IAND(data_tmp, mask_left(36))
35734 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35735 419135 : ipack = ipack + 1
35736 419135 : packed_data(ipack) = pack_tmp
35737 419135 : data_tmp = full_data(idata)
35738 419135 : pack_tmp = ISHFT(data_tmp, 54)
35739 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35740 419135 : idata = idata + 1
35741 419135 : data_tmp = full_data(idata)
35742 419135 : data_tmp = ISHFT(data_tmp, 18)
35743 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35744 419135 : pack_tmp = ISHFT(pack_tmp, -8)
35745 419135 : idata = idata + 1
35746 419135 : data_tmp = full_data(idata)
35747 419135 : data_tmp = ISHFT(data_tmp, 18)
35748 419135 : data_tmp = IAND(data_tmp, mask_left(8))
35749 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35750 419135 : ipack = ipack + 1
35751 419135 : packed_data(ipack) = pack_tmp
35752 419135 : data_tmp = full_data(idata)
35753 419135 : pack_tmp = ISHFT(data_tmp, 26)
35754 419135 : pack_tmp = ISHFT(pack_tmp, -26)
35755 419135 : idata = idata + 1
35756 419135 : data_tmp = full_data(idata)
35757 419135 : data_tmp = ISHFT(data_tmp, 18)
35758 419135 : data_tmp = IAND(data_tmp, mask_left(26))
35759 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35760 419135 : ipack = ipack + 1
35761 419135 : packed_data(ipack) = pack_tmp
35762 419135 : data_tmp = full_data(idata)
35763 419135 : pack_tmp = ISHFT(data_tmp, 44)
35764 419135 : pack_tmp = ISHFT(pack_tmp, -44)
35765 419135 : idata = idata + 1
35766 419135 : data_tmp = full_data(idata)
35767 419135 : data_tmp = ISHFT(data_tmp, 18)
35768 419135 : data_tmp = IAND(data_tmp, mask_left(44))
35769 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35770 419135 : ipack = ipack + 1
35771 419135 : packed_data(ipack) = pack_tmp
35772 419135 : data_tmp = full_data(idata)
35773 419135 : pack_tmp = ISHFT(data_tmp, 62)
35774 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35775 419135 : idata = idata + 1
35776 419135 : data_tmp = full_data(idata)
35777 419135 : data_tmp = ISHFT(data_tmp, 18)
35778 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35779 419135 : pack_tmp = ISHFT(pack_tmp, -16)
35780 419135 : idata = idata + 1
35781 419135 : data_tmp = full_data(idata)
35782 419135 : data_tmp = ISHFT(data_tmp, 18)
35783 419135 : data_tmp = IAND(data_tmp, mask_left(16))
35784 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35785 419135 : ipack = ipack + 1
35786 419135 : packed_data(ipack) = pack_tmp
35787 419135 : data_tmp = full_data(idata)
35788 419135 : pack_tmp = ISHFT(data_tmp, 34)
35789 419135 : pack_tmp = ISHFT(pack_tmp, -34)
35790 419135 : idata = idata + 1
35791 419135 : data_tmp = full_data(idata)
35792 419135 : data_tmp = ISHFT(data_tmp, 18)
35793 419135 : data_tmp = IAND(data_tmp, mask_left(34))
35794 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35795 419135 : ipack = ipack + 1
35796 419135 : packed_data(ipack) = pack_tmp
35797 419135 : data_tmp = full_data(idata)
35798 419135 : pack_tmp = ISHFT(data_tmp, 52)
35799 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35800 419135 : idata = idata + 1
35801 419135 : data_tmp = full_data(idata)
35802 419135 : data_tmp = ISHFT(data_tmp, 18)
35803 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35804 419135 : pack_tmp = ISHFT(pack_tmp, -6)
35805 419135 : idata = idata + 1
35806 419135 : data_tmp = full_data(idata)
35807 419135 : data_tmp = ISHFT(data_tmp, 18)
35808 419135 : data_tmp = IAND(data_tmp, mask_left(6))
35809 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35810 419135 : ipack = ipack + 1
35811 419135 : packed_data(ipack) = pack_tmp
35812 419135 : data_tmp = full_data(idata)
35813 419135 : pack_tmp = ISHFT(data_tmp, 24)
35814 419135 : pack_tmp = ISHFT(pack_tmp, -24)
35815 419135 : idata = idata + 1
35816 419135 : data_tmp = full_data(idata)
35817 419135 : data_tmp = ISHFT(data_tmp, 18)
35818 419135 : data_tmp = IAND(data_tmp, mask_left(24))
35819 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35820 419135 : ipack = ipack + 1
35821 419135 : packed_data(ipack) = pack_tmp
35822 419135 : data_tmp = full_data(idata)
35823 419135 : pack_tmp = ISHFT(data_tmp, 42)
35824 419135 : pack_tmp = ISHFT(pack_tmp, -42)
35825 419135 : idata = idata + 1
35826 419135 : data_tmp = full_data(idata)
35827 419135 : data_tmp = ISHFT(data_tmp, 18)
35828 419135 : data_tmp = IAND(data_tmp, mask_left(42))
35829 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35830 419135 : ipack = ipack + 1
35831 419135 : packed_data(ipack) = pack_tmp
35832 419135 : data_tmp = full_data(idata)
35833 419135 : pack_tmp = ISHFT(data_tmp, 60)
35834 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35835 419135 : idata = idata + 1
35836 419135 : data_tmp = full_data(idata)
35837 419135 : data_tmp = ISHFT(data_tmp, 18)
35838 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35839 419135 : pack_tmp = ISHFT(pack_tmp, -14)
35840 419135 : idata = idata + 1
35841 419135 : data_tmp = full_data(idata)
35842 419135 : data_tmp = ISHFT(data_tmp, 18)
35843 419135 : data_tmp = IAND(data_tmp, mask_left(14))
35844 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35845 419135 : ipack = ipack + 1
35846 419135 : packed_data(ipack) = pack_tmp
35847 419135 : data_tmp = full_data(idata)
35848 419135 : pack_tmp = ISHFT(data_tmp, 32)
35849 419135 : pack_tmp = ISHFT(pack_tmp, -32)
35850 419135 : idata = idata + 1
35851 419135 : data_tmp = full_data(idata)
35852 419135 : data_tmp = ISHFT(data_tmp, 18)
35853 419135 : data_tmp = IAND(data_tmp, mask_left(32))
35854 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35855 419135 : ipack = ipack + 1
35856 419135 : packed_data(ipack) = pack_tmp
35857 419135 : data_tmp = full_data(idata)
35858 419135 : pack_tmp = ISHFT(data_tmp, 50)
35859 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35860 419135 : idata = idata + 1
35861 419135 : data_tmp = full_data(idata)
35862 419135 : data_tmp = ISHFT(data_tmp, 18)
35863 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35864 419135 : pack_tmp = ISHFT(pack_tmp, -4)
35865 419135 : idata = idata + 1
35866 419135 : data_tmp = full_data(idata)
35867 419135 : data_tmp = ISHFT(data_tmp, 18)
35868 419135 : data_tmp = IAND(data_tmp, mask_left(4))
35869 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35870 419135 : ipack = ipack + 1
35871 419135 : packed_data(ipack) = pack_tmp
35872 419135 : data_tmp = full_data(idata)
35873 419135 : pack_tmp = ISHFT(data_tmp, 22)
35874 419135 : pack_tmp = ISHFT(pack_tmp, -22)
35875 419135 : idata = idata + 1
35876 419135 : data_tmp = full_data(idata)
35877 419135 : data_tmp = ISHFT(data_tmp, 18)
35878 419135 : data_tmp = IAND(data_tmp, mask_left(22))
35879 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35880 419135 : ipack = ipack + 1
35881 419135 : packed_data(ipack) = pack_tmp
35882 419135 : data_tmp = full_data(idata)
35883 419135 : pack_tmp = ISHFT(data_tmp, 40)
35884 419135 : pack_tmp = ISHFT(pack_tmp, -40)
35885 419135 : idata = idata + 1
35886 419135 : data_tmp = full_data(idata)
35887 419135 : data_tmp = ISHFT(data_tmp, 18)
35888 419135 : data_tmp = IAND(data_tmp, mask_left(40))
35889 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35890 419135 : ipack = ipack + 1
35891 419135 : packed_data(ipack) = pack_tmp
35892 419135 : data_tmp = full_data(idata)
35893 419135 : pack_tmp = ISHFT(data_tmp, 58)
35894 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35895 419135 : idata = idata + 1
35896 419135 : data_tmp = full_data(idata)
35897 419135 : data_tmp = ISHFT(data_tmp, 18)
35898 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35899 419135 : pack_tmp = ISHFT(pack_tmp, -12)
35900 419135 : idata = idata + 1
35901 419135 : data_tmp = full_data(idata)
35902 419135 : data_tmp = ISHFT(data_tmp, 18)
35903 419135 : data_tmp = IAND(data_tmp, mask_left(12))
35904 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35905 419135 : ipack = ipack + 1
35906 419135 : packed_data(ipack) = pack_tmp
35907 419135 : data_tmp = full_data(idata)
35908 419135 : pack_tmp = ISHFT(data_tmp, 30)
35909 419135 : pack_tmp = ISHFT(pack_tmp, -30)
35910 419135 : idata = idata + 1
35911 419135 : data_tmp = full_data(idata)
35912 419135 : data_tmp = ISHFT(data_tmp, 18)
35913 419135 : data_tmp = IAND(data_tmp, mask_left(30))
35914 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35915 419135 : ipack = ipack + 1
35916 419135 : packed_data(ipack) = pack_tmp
35917 419135 : data_tmp = full_data(idata)
35918 419135 : pack_tmp = ISHFT(data_tmp, 48)
35919 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35920 419135 : idata = idata + 1
35921 419135 : data_tmp = full_data(idata)
35922 419135 : data_tmp = ISHFT(data_tmp, 18)
35923 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35924 419135 : pack_tmp = ISHFT(pack_tmp, -2)
35925 419135 : idata = idata + 1
35926 419135 : data_tmp = full_data(idata)
35927 419135 : data_tmp = ISHFT(data_tmp, 18)
35928 419135 : data_tmp = IAND(data_tmp, mask_left(2))
35929 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35930 419135 : ipack = ipack + 1
35931 419135 : packed_data(ipack) = pack_tmp
35932 419135 : data_tmp = full_data(idata)
35933 419135 : pack_tmp = ISHFT(data_tmp, 20)
35934 419135 : pack_tmp = ISHFT(pack_tmp, -20)
35935 419135 : idata = idata + 1
35936 419135 : data_tmp = full_data(idata)
35937 419135 : data_tmp = ISHFT(data_tmp, 18)
35938 419135 : data_tmp = IAND(data_tmp, mask_left(20))
35939 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35940 419135 : ipack = ipack + 1
35941 419135 : packed_data(ipack) = pack_tmp
35942 419135 : data_tmp = full_data(idata)
35943 419135 : pack_tmp = ISHFT(data_tmp, 38)
35944 419135 : pack_tmp = ISHFT(pack_tmp, -38)
35945 419135 : idata = idata + 1
35946 419135 : data_tmp = full_data(idata)
35947 419135 : data_tmp = ISHFT(data_tmp, 18)
35948 419135 : data_tmp = IAND(data_tmp, mask_left(38))
35949 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35950 419135 : ipack = ipack + 1
35951 419135 : packed_data(ipack) = pack_tmp
35952 419135 : data_tmp = full_data(idata)
35953 419135 : pack_tmp = ISHFT(data_tmp, 56)
35954 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35955 419135 : idata = idata + 1
35956 419135 : data_tmp = full_data(idata)
35957 419135 : data_tmp = ISHFT(data_tmp, 18)
35958 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35959 419135 : pack_tmp = ISHFT(pack_tmp, -10)
35960 419135 : idata = idata + 1
35961 419135 : data_tmp = full_data(idata)
35962 419135 : data_tmp = ISHFT(data_tmp, 18)
35963 419135 : data_tmp = IAND(data_tmp, mask_left(10))
35964 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35965 419135 : ipack = ipack + 1
35966 419135 : packed_data(ipack) = pack_tmp
35967 419135 : data_tmp = full_data(idata)
35968 419135 : pack_tmp = ISHFT(data_tmp, 28)
35969 419135 : pack_tmp = ISHFT(pack_tmp, -28)
35970 419135 : idata = idata + 1
35971 419135 : data_tmp = full_data(idata)
35972 419135 : data_tmp = ISHFT(data_tmp, 18)
35973 419135 : data_tmp = IAND(data_tmp, mask_left(28))
35974 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35975 419135 : ipack = ipack + 1
35976 419135 : packed_data(ipack) = pack_tmp
35977 419135 : data_tmp = full_data(idata)
35978 419135 : pack_tmp = ISHFT(data_tmp, 46)
35979 419135 : pack_tmp = ISHFT(pack_tmp, -46)
35980 419135 : idata = idata + 1
35981 419135 : data_tmp = full_data(idata)
35982 419135 : data_tmp = ISHFT(data_tmp, 18)
35983 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35984 419135 : pack_tmp = ISHFT(pack_tmp, 0)
35985 419135 : idata = idata + 1
35986 419135 : data_tmp = full_data(idata)
35987 : data_tmp = ISHFT(data_tmp, 18)
35988 419135 : data_tmp = IAND(data_tmp, mask_left(0))
35989 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
35990 419135 : ipack = ipack + 1
35991 419135 : packed_data(ipack) = pack_tmp
35992 419135 : data_tmp = full_data(idata)
35993 419135 : pack_tmp = ISHFT(data_tmp, 18)
35994 419135 : pack_tmp = ISHFT(pack_tmp, -18)
35995 419135 : idata = idata + 1
35996 419135 : data_tmp = full_data(idata)
35997 419135 : data_tmp = ISHFT(data_tmp, 18)
35998 419135 : data_tmp = IAND(data_tmp, mask_left(18))
35999 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36000 419135 : ipack = ipack + 1
36001 419135 : packed_data(ipack) = pack_tmp
36002 419135 : data_tmp = full_data(idata)
36003 419135 : pack_tmp = ISHFT(data_tmp, 36)
36004 419135 : pack_tmp = ISHFT(pack_tmp, -36)
36005 419135 : idata = idata + 1
36006 419135 : data_tmp = full_data(idata)
36007 419135 : data_tmp = ISHFT(data_tmp, 18)
36008 419135 : data_tmp = IAND(data_tmp, mask_left(36))
36009 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36010 419135 : ipack = ipack + 1
36011 419135 : packed_data(ipack) = pack_tmp
36012 419135 : data_tmp = full_data(idata)
36013 419135 : pack_tmp = ISHFT(data_tmp, 54)
36014 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36015 419135 : idata = idata + 1
36016 419135 : data_tmp = full_data(idata)
36017 419135 : data_tmp = ISHFT(data_tmp, 18)
36018 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36019 419135 : pack_tmp = ISHFT(pack_tmp, -8)
36020 419135 : idata = idata + 1
36021 419135 : data_tmp = full_data(idata)
36022 419135 : data_tmp = ISHFT(data_tmp, 18)
36023 419135 : data_tmp = IAND(data_tmp, mask_left(8))
36024 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36025 419135 : ipack = ipack + 1
36026 419135 : packed_data(ipack) = pack_tmp
36027 419135 : data_tmp = full_data(idata)
36028 419135 : pack_tmp = ISHFT(data_tmp, 26)
36029 419135 : pack_tmp = ISHFT(pack_tmp, -26)
36030 419135 : idata = idata + 1
36031 419135 : data_tmp = full_data(idata)
36032 419135 : data_tmp = ISHFT(data_tmp, 18)
36033 419135 : data_tmp = IAND(data_tmp, mask_left(26))
36034 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36035 419135 : ipack = ipack + 1
36036 419135 : packed_data(ipack) = pack_tmp
36037 419135 : data_tmp = full_data(idata)
36038 419135 : pack_tmp = ISHFT(data_tmp, 44)
36039 419135 : pack_tmp = ISHFT(pack_tmp, -44)
36040 419135 : idata = idata + 1
36041 419135 : data_tmp = full_data(idata)
36042 419135 : data_tmp = ISHFT(data_tmp, 18)
36043 419135 : data_tmp = IAND(data_tmp, mask_left(44))
36044 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36045 419135 : ipack = ipack + 1
36046 419135 : packed_data(ipack) = pack_tmp
36047 419135 : data_tmp = full_data(idata)
36048 419135 : pack_tmp = ISHFT(data_tmp, 62)
36049 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36050 419135 : idata = idata + 1
36051 419135 : data_tmp = full_data(idata)
36052 419135 : data_tmp = ISHFT(data_tmp, 18)
36053 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36054 419135 : pack_tmp = ISHFT(pack_tmp, -16)
36055 419135 : idata = idata + 1
36056 419135 : data_tmp = full_data(idata)
36057 419135 : data_tmp = ISHFT(data_tmp, 18)
36058 419135 : data_tmp = IAND(data_tmp, mask_left(16))
36059 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36060 419135 : ipack = ipack + 1
36061 419135 : packed_data(ipack) = pack_tmp
36062 419135 : data_tmp = full_data(idata)
36063 419135 : pack_tmp = ISHFT(data_tmp, 34)
36064 419135 : pack_tmp = ISHFT(pack_tmp, -34)
36065 419135 : idata = idata + 1
36066 419135 : data_tmp = full_data(idata)
36067 419135 : data_tmp = ISHFT(data_tmp, 18)
36068 419135 : data_tmp = IAND(data_tmp, mask_left(34))
36069 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36070 419135 : ipack = ipack + 1
36071 419135 : packed_data(ipack) = pack_tmp
36072 419135 : data_tmp = full_data(idata)
36073 419135 : pack_tmp = ISHFT(data_tmp, 52)
36074 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36075 419135 : idata = idata + 1
36076 419135 : data_tmp = full_data(idata)
36077 419135 : data_tmp = ISHFT(data_tmp, 18)
36078 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36079 419135 : pack_tmp = ISHFT(pack_tmp, -6)
36080 419135 : idata = idata + 1
36081 419135 : data_tmp = full_data(idata)
36082 419135 : data_tmp = ISHFT(data_tmp, 18)
36083 419135 : data_tmp = IAND(data_tmp, mask_left(6))
36084 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36085 419135 : ipack = ipack + 1
36086 419135 : packed_data(ipack) = pack_tmp
36087 419135 : data_tmp = full_data(idata)
36088 419135 : pack_tmp = ISHFT(data_tmp, 24)
36089 419135 : pack_tmp = ISHFT(pack_tmp, -24)
36090 419135 : idata = idata + 1
36091 419135 : data_tmp = full_data(idata)
36092 419135 : data_tmp = ISHFT(data_tmp, 18)
36093 419135 : data_tmp = IAND(data_tmp, mask_left(24))
36094 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36095 419135 : ipack = ipack + 1
36096 419135 : packed_data(ipack) = pack_tmp
36097 419135 : data_tmp = full_data(idata)
36098 419135 : pack_tmp = ISHFT(data_tmp, 42)
36099 419135 : pack_tmp = ISHFT(pack_tmp, -42)
36100 419135 : idata = idata + 1
36101 419135 : data_tmp = full_data(idata)
36102 419135 : data_tmp = ISHFT(data_tmp, 18)
36103 419135 : data_tmp = IAND(data_tmp, mask_left(42))
36104 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36105 419135 : ipack = ipack + 1
36106 419135 : packed_data(ipack) = pack_tmp
36107 419135 : data_tmp = full_data(idata)
36108 419135 : pack_tmp = ISHFT(data_tmp, 60)
36109 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36110 419135 : idata = idata + 1
36111 419135 : data_tmp = full_data(idata)
36112 419135 : data_tmp = ISHFT(data_tmp, 18)
36113 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36114 419135 : pack_tmp = ISHFT(pack_tmp, -14)
36115 419135 : idata = idata + 1
36116 419135 : data_tmp = full_data(idata)
36117 419135 : data_tmp = ISHFT(data_tmp, 18)
36118 419135 : data_tmp = IAND(data_tmp, mask_left(14))
36119 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36120 419135 : ipack = ipack + 1
36121 419135 : packed_data(ipack) = pack_tmp
36122 419135 : data_tmp = full_data(idata)
36123 419135 : pack_tmp = ISHFT(data_tmp, 32)
36124 419135 : pack_tmp = ISHFT(pack_tmp, -32)
36125 419135 : idata = idata + 1
36126 419135 : data_tmp = full_data(idata)
36127 419135 : data_tmp = ISHFT(data_tmp, 18)
36128 419135 : data_tmp = IAND(data_tmp, mask_left(32))
36129 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36130 419135 : ipack = ipack + 1
36131 419135 : packed_data(ipack) = pack_tmp
36132 419135 : data_tmp = full_data(idata)
36133 419135 : pack_tmp = ISHFT(data_tmp, 50)
36134 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36135 419135 : idata = idata + 1
36136 419135 : data_tmp = full_data(idata)
36137 419135 : data_tmp = ISHFT(data_tmp, 18)
36138 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36139 419135 : pack_tmp = ISHFT(pack_tmp, -4)
36140 419135 : idata = idata + 1
36141 419135 : data_tmp = full_data(idata)
36142 419135 : data_tmp = ISHFT(data_tmp, 18)
36143 419135 : data_tmp = IAND(data_tmp, mask_left(4))
36144 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36145 419135 : ipack = ipack + 1
36146 419135 : packed_data(ipack) = pack_tmp
36147 419135 : data_tmp = full_data(idata)
36148 419135 : pack_tmp = ISHFT(data_tmp, 22)
36149 419135 : pack_tmp = ISHFT(pack_tmp, -22)
36150 419135 : idata = idata + 1
36151 419135 : data_tmp = full_data(idata)
36152 419135 : data_tmp = ISHFT(data_tmp, 18)
36153 419135 : data_tmp = IAND(data_tmp, mask_left(22))
36154 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36155 419135 : ipack = ipack + 1
36156 419135 : packed_data(ipack) = pack_tmp
36157 419135 : data_tmp = full_data(idata)
36158 419135 : pack_tmp = ISHFT(data_tmp, 40)
36159 419135 : pack_tmp = ISHFT(pack_tmp, -40)
36160 419135 : idata = idata + 1
36161 419135 : data_tmp = full_data(idata)
36162 419135 : data_tmp = ISHFT(data_tmp, 18)
36163 419135 : data_tmp = IAND(data_tmp, mask_left(40))
36164 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36165 419135 : ipack = ipack + 1
36166 419135 : packed_data(ipack) = pack_tmp
36167 419135 : data_tmp = full_data(idata)
36168 419135 : pack_tmp = ISHFT(data_tmp, 58)
36169 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36170 419135 : idata = idata + 1
36171 419135 : data_tmp = full_data(idata)
36172 419135 : data_tmp = ISHFT(data_tmp, 18)
36173 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36174 419135 : pack_tmp = ISHFT(pack_tmp, -12)
36175 419135 : idata = idata + 1
36176 419135 : data_tmp = full_data(idata)
36177 419135 : data_tmp = ISHFT(data_tmp, 18)
36178 419135 : data_tmp = IAND(data_tmp, mask_left(12))
36179 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36180 419135 : ipack = ipack + 1
36181 419135 : packed_data(ipack) = pack_tmp
36182 419135 : data_tmp = full_data(idata)
36183 419135 : pack_tmp = ISHFT(data_tmp, 30)
36184 419135 : pack_tmp = ISHFT(pack_tmp, -30)
36185 419135 : idata = idata + 1
36186 419135 : data_tmp = full_data(idata)
36187 419135 : data_tmp = ISHFT(data_tmp, 18)
36188 419135 : data_tmp = IAND(data_tmp, mask_left(30))
36189 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36190 419135 : ipack = ipack + 1
36191 419135 : packed_data(ipack) = pack_tmp
36192 419135 : data_tmp = full_data(idata)
36193 419135 : pack_tmp = ISHFT(data_tmp, 48)
36194 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36195 419135 : idata = idata + 1
36196 419135 : data_tmp = full_data(idata)
36197 419135 : data_tmp = ISHFT(data_tmp, 18)
36198 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36199 419135 : pack_tmp = ISHFT(pack_tmp, -2)
36200 419135 : idata = idata + 1
36201 419135 : data_tmp = full_data(idata)
36202 419135 : data_tmp = ISHFT(data_tmp, 18)
36203 419135 : data_tmp = IAND(data_tmp, mask_left(2))
36204 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36205 419135 : ipack = ipack + 1
36206 419135 : packed_data(ipack) = pack_tmp
36207 419135 : data_tmp = full_data(idata)
36208 419135 : pack_tmp = ISHFT(data_tmp, 20)
36209 419135 : pack_tmp = ISHFT(pack_tmp, -20)
36210 419135 : idata = idata + 1
36211 419135 : data_tmp = full_data(idata)
36212 419135 : data_tmp = ISHFT(data_tmp, 18)
36213 419135 : data_tmp = IAND(data_tmp, mask_left(20))
36214 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36215 419135 : ipack = ipack + 1
36216 419135 : packed_data(ipack) = pack_tmp
36217 419135 : data_tmp = full_data(idata)
36218 419135 : pack_tmp = ISHFT(data_tmp, 38)
36219 419135 : pack_tmp = ISHFT(pack_tmp, -38)
36220 419135 : idata = idata + 1
36221 419135 : data_tmp = full_data(idata)
36222 419135 : data_tmp = ISHFT(data_tmp, 18)
36223 419135 : data_tmp = IAND(data_tmp, mask_left(38))
36224 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36225 419135 : ipack = ipack + 1
36226 419135 : packed_data(ipack) = pack_tmp
36227 419135 : data_tmp = full_data(idata)
36228 419135 : pack_tmp = ISHFT(data_tmp, 56)
36229 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36230 419135 : idata = idata + 1
36231 419135 : data_tmp = full_data(idata)
36232 419135 : data_tmp = ISHFT(data_tmp, 18)
36233 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36234 419135 : pack_tmp = ISHFT(pack_tmp, -10)
36235 419135 : idata = idata + 1
36236 419135 : data_tmp = full_data(idata)
36237 419135 : data_tmp = ISHFT(data_tmp, 18)
36238 419135 : data_tmp = IAND(data_tmp, mask_left(10))
36239 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36240 419135 : ipack = ipack + 1
36241 419135 : packed_data(ipack) = pack_tmp
36242 419135 : data_tmp = full_data(idata)
36243 419135 : pack_tmp = ISHFT(data_tmp, 28)
36244 419135 : pack_tmp = ISHFT(pack_tmp, -28)
36245 419135 : idata = idata + 1
36246 419135 : data_tmp = full_data(idata)
36247 419135 : data_tmp = ISHFT(data_tmp, 18)
36248 419135 : data_tmp = IAND(data_tmp, mask_left(28))
36249 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36250 419135 : ipack = ipack + 1
36251 419135 : packed_data(ipack) = pack_tmp
36252 419135 : data_tmp = full_data(idata)
36253 419135 : pack_tmp = ISHFT(data_tmp, 46)
36254 419135 : pack_tmp = ISHFT(pack_tmp, -46)
36255 419135 : idata = idata + 1
36256 419135 : data_tmp = full_data(idata)
36257 419135 : data_tmp = ISHFT(data_tmp, 18)
36258 419135 : pack_tmp = IOR(pack_tmp, data_tmp)
36259 : pack_tmp = ISHFT(pack_tmp, 0)
36260 419135 : pack_tmp = ISHFT(pack_tmp, 0)
36261 419135 : ipack = ipack + 1
36262 419180 : packed_data(ipack) = pack_tmp
36263 : END DO
36264 28676 : 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 28676 : END SUBROUTINE ints2bits_46
36268 :
36269 : ! **************************************************************************************************
36270 : !> \brief ...
36271 : !> \param Ndata ...
36272 : !> \param packed_data ...
36273 : !> \param full_data ...
36274 : ! **************************************************************************************************
36275 119985 : 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 119985 : ipack = 0
36286 119985 : idata = 0
36287 119985 : pack_tmp = 0
36288 119985 : Ndata_rep = (Ndata/64)*64
36289 119985 : DO kdata = 1, Ndata_rep, 64
36290 1733619 : idata = idata + 1
36291 1733619 : data_tmp = ISHFT(pack_tmp, 46)
36292 1733619 : ipack = ipack + 1
36293 1733619 : pack_tmp = packed_data(ipack)
36294 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36295 1733619 : pack_tmp = ISHFT(pack_tmp, -46)
36296 1733619 : idata = idata + 1
36297 1733619 : data_tmp = ISHFT(pack_tmp, 28)
36298 1733619 : ipack = ipack + 1
36299 1733619 : pack_tmp = packed_data(ipack)
36300 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36301 1733619 : pack_tmp = ISHFT(pack_tmp, -28)
36302 1733619 : idata = idata + 1
36303 1733619 : data_tmp = ISHFT(pack_tmp, 10)
36304 1733619 : ipack = ipack + 1
36305 1733619 : pack_tmp = packed_data(ipack)
36306 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36307 1733619 : pack_tmp = ISHFT(pack_tmp, -10)
36308 1733619 : idata = idata + 1
36309 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36310 1733619 : full_data(idata) = data_tmp
36311 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36312 1733619 : idata = idata + 1
36313 1733619 : data_tmp = ISHFT(pack_tmp, 38)
36314 1733619 : ipack = ipack + 1
36315 1733619 : pack_tmp = packed_data(ipack)
36316 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36317 1733619 : pack_tmp = ISHFT(pack_tmp, -38)
36318 1733619 : idata = idata + 1
36319 1733619 : data_tmp = ISHFT(pack_tmp, 20)
36320 1733619 : ipack = ipack + 1
36321 1733619 : pack_tmp = packed_data(ipack)
36322 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36323 1733619 : pack_tmp = ISHFT(pack_tmp, -20)
36324 1733619 : idata = idata + 1
36325 1733619 : data_tmp = ISHFT(pack_tmp, 2)
36326 1733619 : ipack = ipack + 1
36327 1733619 : pack_tmp = packed_data(ipack)
36328 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36329 1733619 : pack_tmp = ISHFT(pack_tmp, -2)
36330 1733619 : idata = idata + 1
36331 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36332 1733619 : full_data(idata) = data_tmp
36333 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36334 1733619 : idata = idata + 1
36335 1733619 : data_tmp = ISHFT(pack_tmp, 30)
36336 1733619 : ipack = ipack + 1
36337 1733619 : pack_tmp = packed_data(ipack)
36338 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36339 1733619 : pack_tmp = ISHFT(pack_tmp, -30)
36340 1733619 : idata = idata + 1
36341 1733619 : data_tmp = ISHFT(pack_tmp, 12)
36342 1733619 : ipack = ipack + 1
36343 1733619 : pack_tmp = packed_data(ipack)
36344 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36345 1733619 : pack_tmp = ISHFT(pack_tmp, -12)
36346 1733619 : idata = idata + 1
36347 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36348 1733619 : full_data(idata) = data_tmp
36349 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36350 1733619 : idata = idata + 1
36351 1733619 : data_tmp = ISHFT(pack_tmp, 40)
36352 1733619 : ipack = ipack + 1
36353 1733619 : pack_tmp = packed_data(ipack)
36354 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36355 1733619 : pack_tmp = ISHFT(pack_tmp, -40)
36356 1733619 : idata = idata + 1
36357 1733619 : data_tmp = ISHFT(pack_tmp, 22)
36358 1733619 : ipack = ipack + 1
36359 1733619 : pack_tmp = packed_data(ipack)
36360 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36361 1733619 : pack_tmp = ISHFT(pack_tmp, -22)
36362 1733619 : idata = idata + 1
36363 1733619 : data_tmp = ISHFT(pack_tmp, 4)
36364 1733619 : ipack = ipack + 1
36365 1733619 : pack_tmp = packed_data(ipack)
36366 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36367 1733619 : pack_tmp = ISHFT(pack_tmp, -4)
36368 1733619 : idata = idata + 1
36369 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36370 1733619 : full_data(idata) = data_tmp
36371 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36372 1733619 : idata = idata + 1
36373 1733619 : data_tmp = ISHFT(pack_tmp, 32)
36374 1733619 : ipack = ipack + 1
36375 1733619 : pack_tmp = packed_data(ipack)
36376 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36377 1733619 : pack_tmp = ISHFT(pack_tmp, -32)
36378 1733619 : idata = idata + 1
36379 1733619 : data_tmp = ISHFT(pack_tmp, 14)
36380 1733619 : ipack = ipack + 1
36381 1733619 : pack_tmp = packed_data(ipack)
36382 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36383 1733619 : pack_tmp = ISHFT(pack_tmp, -14)
36384 1733619 : idata = idata + 1
36385 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36386 1733619 : full_data(idata) = data_tmp
36387 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36388 1733619 : idata = idata + 1
36389 1733619 : data_tmp = ISHFT(pack_tmp, 42)
36390 1733619 : ipack = ipack + 1
36391 1733619 : pack_tmp = packed_data(ipack)
36392 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36393 1733619 : pack_tmp = ISHFT(pack_tmp, -42)
36394 1733619 : idata = idata + 1
36395 1733619 : data_tmp = ISHFT(pack_tmp, 24)
36396 1733619 : ipack = ipack + 1
36397 1733619 : pack_tmp = packed_data(ipack)
36398 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36399 1733619 : pack_tmp = ISHFT(pack_tmp, -24)
36400 1733619 : idata = idata + 1
36401 1733619 : data_tmp = ISHFT(pack_tmp, 6)
36402 1733619 : ipack = ipack + 1
36403 1733619 : pack_tmp = packed_data(ipack)
36404 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36405 1733619 : pack_tmp = ISHFT(pack_tmp, -6)
36406 1733619 : idata = idata + 1
36407 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36408 1733619 : full_data(idata) = data_tmp
36409 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36410 1733619 : idata = idata + 1
36411 1733619 : data_tmp = ISHFT(pack_tmp, 34)
36412 1733619 : ipack = ipack + 1
36413 1733619 : pack_tmp = packed_data(ipack)
36414 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36415 1733619 : pack_tmp = ISHFT(pack_tmp, -34)
36416 1733619 : idata = idata + 1
36417 1733619 : data_tmp = ISHFT(pack_tmp, 16)
36418 1733619 : ipack = ipack + 1
36419 1733619 : pack_tmp = packed_data(ipack)
36420 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36421 1733619 : pack_tmp = ISHFT(pack_tmp, -16)
36422 1733619 : idata = idata + 1
36423 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36424 1733619 : full_data(idata) = data_tmp
36425 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36426 1733619 : idata = idata + 1
36427 1733619 : data_tmp = ISHFT(pack_tmp, 44)
36428 1733619 : ipack = ipack + 1
36429 1733619 : pack_tmp = packed_data(ipack)
36430 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36431 1733619 : pack_tmp = ISHFT(pack_tmp, -44)
36432 1733619 : idata = idata + 1
36433 1733619 : data_tmp = ISHFT(pack_tmp, 26)
36434 1733619 : ipack = ipack + 1
36435 1733619 : pack_tmp = packed_data(ipack)
36436 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36437 1733619 : pack_tmp = ISHFT(pack_tmp, -26)
36438 1733619 : idata = idata + 1
36439 1733619 : data_tmp = ISHFT(pack_tmp, 8)
36440 1733619 : ipack = ipack + 1
36441 1733619 : pack_tmp = packed_data(ipack)
36442 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36443 1733619 : pack_tmp = ISHFT(pack_tmp, -8)
36444 1733619 : idata = idata + 1
36445 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36446 1733619 : full_data(idata) = data_tmp
36447 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36448 1733619 : idata = idata + 1
36449 1733619 : data_tmp = ISHFT(pack_tmp, 36)
36450 1733619 : ipack = ipack + 1
36451 1733619 : pack_tmp = packed_data(ipack)
36452 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36453 1733619 : pack_tmp = ISHFT(pack_tmp, -36)
36454 1733619 : idata = idata + 1
36455 1733619 : data_tmp = ISHFT(pack_tmp, 18)
36456 1733619 : ipack = ipack + 1
36457 1733619 : pack_tmp = packed_data(ipack)
36458 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36459 1733619 : pack_tmp = ISHFT(pack_tmp, -18)
36460 1733619 : idata = idata + 1
36461 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36462 1733619 : full_data(idata) = data_tmp
36463 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36464 1733619 : idata = idata + 1
36465 1733619 : data_tmp = ISHFT(pack_tmp, 46)
36466 1733619 : ipack = ipack + 1
36467 1733619 : pack_tmp = packed_data(ipack)
36468 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36469 1733619 : pack_tmp = ISHFT(pack_tmp, -46)
36470 1733619 : idata = idata + 1
36471 1733619 : data_tmp = ISHFT(pack_tmp, 28)
36472 1733619 : ipack = ipack + 1
36473 1733619 : pack_tmp = packed_data(ipack)
36474 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36475 1733619 : pack_tmp = ISHFT(pack_tmp, -28)
36476 1733619 : idata = idata + 1
36477 1733619 : data_tmp = ISHFT(pack_tmp, 10)
36478 1733619 : ipack = ipack + 1
36479 1733619 : pack_tmp = packed_data(ipack)
36480 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36481 1733619 : pack_tmp = ISHFT(pack_tmp, -10)
36482 1733619 : idata = idata + 1
36483 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36484 1733619 : full_data(idata) = data_tmp
36485 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36486 1733619 : idata = idata + 1
36487 1733619 : data_tmp = ISHFT(pack_tmp, 38)
36488 1733619 : ipack = ipack + 1
36489 1733619 : pack_tmp = packed_data(ipack)
36490 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36491 1733619 : pack_tmp = ISHFT(pack_tmp, -38)
36492 1733619 : idata = idata + 1
36493 1733619 : data_tmp = ISHFT(pack_tmp, 20)
36494 1733619 : ipack = ipack + 1
36495 1733619 : pack_tmp = packed_data(ipack)
36496 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36497 1733619 : pack_tmp = ISHFT(pack_tmp, -20)
36498 1733619 : idata = idata + 1
36499 1733619 : data_tmp = ISHFT(pack_tmp, 2)
36500 1733619 : ipack = ipack + 1
36501 1733619 : pack_tmp = packed_data(ipack)
36502 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36503 1733619 : pack_tmp = ISHFT(pack_tmp, -2)
36504 1733619 : idata = idata + 1
36505 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36506 1733619 : full_data(idata) = data_tmp
36507 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36508 1733619 : idata = idata + 1
36509 1733619 : data_tmp = ISHFT(pack_tmp, 30)
36510 1733619 : ipack = ipack + 1
36511 1733619 : pack_tmp = packed_data(ipack)
36512 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36513 1733619 : pack_tmp = ISHFT(pack_tmp, -30)
36514 1733619 : idata = idata + 1
36515 1733619 : data_tmp = ISHFT(pack_tmp, 12)
36516 1733619 : ipack = ipack + 1
36517 1733619 : pack_tmp = packed_data(ipack)
36518 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36519 1733619 : pack_tmp = ISHFT(pack_tmp, -12)
36520 1733619 : idata = idata + 1
36521 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36522 1733619 : full_data(idata) = data_tmp
36523 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36524 1733619 : idata = idata + 1
36525 1733619 : data_tmp = ISHFT(pack_tmp, 40)
36526 1733619 : ipack = ipack + 1
36527 1733619 : pack_tmp = packed_data(ipack)
36528 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36529 1733619 : pack_tmp = ISHFT(pack_tmp, -40)
36530 1733619 : idata = idata + 1
36531 1733619 : data_tmp = ISHFT(pack_tmp, 22)
36532 1733619 : ipack = ipack + 1
36533 1733619 : pack_tmp = packed_data(ipack)
36534 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36535 1733619 : pack_tmp = ISHFT(pack_tmp, -22)
36536 1733619 : idata = idata + 1
36537 1733619 : data_tmp = ISHFT(pack_tmp, 4)
36538 1733619 : ipack = ipack + 1
36539 1733619 : pack_tmp = packed_data(ipack)
36540 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36541 1733619 : pack_tmp = ISHFT(pack_tmp, -4)
36542 1733619 : idata = idata + 1
36543 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36544 1733619 : full_data(idata) = data_tmp
36545 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36546 1733619 : idata = idata + 1
36547 1733619 : data_tmp = ISHFT(pack_tmp, 32)
36548 1733619 : ipack = ipack + 1
36549 1733619 : pack_tmp = packed_data(ipack)
36550 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36551 1733619 : pack_tmp = ISHFT(pack_tmp, -32)
36552 1733619 : idata = idata + 1
36553 1733619 : data_tmp = ISHFT(pack_tmp, 14)
36554 1733619 : ipack = ipack + 1
36555 1733619 : pack_tmp = packed_data(ipack)
36556 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36557 1733619 : pack_tmp = ISHFT(pack_tmp, -14)
36558 1733619 : idata = idata + 1
36559 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36560 1733619 : full_data(idata) = data_tmp
36561 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36562 1733619 : idata = idata + 1
36563 1733619 : data_tmp = ISHFT(pack_tmp, 42)
36564 1733619 : ipack = ipack + 1
36565 1733619 : pack_tmp = packed_data(ipack)
36566 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36567 1733619 : pack_tmp = ISHFT(pack_tmp, -42)
36568 1733619 : idata = idata + 1
36569 1733619 : data_tmp = ISHFT(pack_tmp, 24)
36570 1733619 : ipack = ipack + 1
36571 1733619 : pack_tmp = packed_data(ipack)
36572 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36573 1733619 : pack_tmp = ISHFT(pack_tmp, -24)
36574 1733619 : idata = idata + 1
36575 1733619 : data_tmp = ISHFT(pack_tmp, 6)
36576 1733619 : ipack = ipack + 1
36577 1733619 : pack_tmp = packed_data(ipack)
36578 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36579 1733619 : pack_tmp = ISHFT(pack_tmp, -6)
36580 1733619 : idata = idata + 1
36581 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36582 1733619 : full_data(idata) = data_tmp
36583 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36584 1733619 : idata = idata + 1
36585 1733619 : data_tmp = ISHFT(pack_tmp, 34)
36586 1733619 : ipack = ipack + 1
36587 1733619 : pack_tmp = packed_data(ipack)
36588 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36589 1733619 : pack_tmp = ISHFT(pack_tmp, -34)
36590 1733619 : idata = idata + 1
36591 1733619 : data_tmp = ISHFT(pack_tmp, 16)
36592 1733619 : ipack = ipack + 1
36593 1733619 : pack_tmp = packed_data(ipack)
36594 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36595 1733619 : pack_tmp = ISHFT(pack_tmp, -16)
36596 1733619 : idata = idata + 1
36597 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36598 1733619 : full_data(idata) = data_tmp
36599 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36600 1733619 : idata = idata + 1
36601 1733619 : data_tmp = ISHFT(pack_tmp, 44)
36602 1733619 : ipack = ipack + 1
36603 1733619 : pack_tmp = packed_data(ipack)
36604 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36605 1733619 : pack_tmp = ISHFT(pack_tmp, -44)
36606 1733619 : idata = idata + 1
36607 1733619 : data_tmp = ISHFT(pack_tmp, 26)
36608 1733619 : ipack = ipack + 1
36609 1733619 : pack_tmp = packed_data(ipack)
36610 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36611 1733619 : pack_tmp = ISHFT(pack_tmp, -26)
36612 1733619 : idata = idata + 1
36613 1733619 : data_tmp = ISHFT(pack_tmp, 8)
36614 1733619 : ipack = ipack + 1
36615 1733619 : pack_tmp = packed_data(ipack)
36616 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36617 1733619 : pack_tmp = ISHFT(pack_tmp, -8)
36618 1733619 : idata = idata + 1
36619 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36620 1733619 : full_data(idata) = data_tmp
36621 1733619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36622 1733619 : idata = idata + 1
36623 1733619 : data_tmp = ISHFT(pack_tmp, 36)
36624 1733619 : ipack = ipack + 1
36625 1733619 : pack_tmp = packed_data(ipack)
36626 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36627 1733619 : pack_tmp = ISHFT(pack_tmp, -36)
36628 1733619 : idata = idata + 1
36629 1733619 : data_tmp = ISHFT(pack_tmp, 18)
36630 1733619 : ipack = ipack + 1
36631 1733619 : pack_tmp = packed_data(ipack)
36632 1733619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36633 1733619 : pack_tmp = ISHFT(pack_tmp, -18)
36634 1733619 : idata = idata + 1
36635 1733619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36636 1733619 : full_data(idata) = data_tmp
36637 1734065 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36638 : END DO
36639 119985 : 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 119985 : END SUBROUTINE bits2ints_46
36643 :
36644 : ! **************************************************************************************************
36645 : !> \brief ...
36646 : !> \param Ndata ...
36647 : !> \param packed_data ...
36648 : !> \param full_data ...
36649 : ! **************************************************************************************************
36650 26112 : 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 26112 : idata = 0
36661 26112 : ipack = 0
36662 26112 : Ndata_rep = (Ndata/64)*64
36663 26112 : DO kdata = 1, Ndata_rep, 64
36664 398684 : pack_tmp = 0
36665 398684 : idata = idata + 1
36666 398684 : data_tmp = full_data(idata)
36667 398684 : data_tmp = ISHFT(data_tmp, 17)
36668 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36669 398684 : pack_tmp = ISHFT(pack_tmp, -17)
36670 398684 : idata = idata + 1
36671 398684 : data_tmp = full_data(idata)
36672 398684 : data_tmp = ISHFT(data_tmp, 17)
36673 398684 : data_tmp = IAND(data_tmp, mask_left(17))
36674 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36675 398684 : ipack = ipack + 1
36676 398684 : packed_data(ipack) = pack_tmp
36677 398684 : data_tmp = full_data(idata)
36678 398684 : pack_tmp = ISHFT(data_tmp, 34)
36679 398684 : pack_tmp = ISHFT(pack_tmp, -34)
36680 398684 : idata = idata + 1
36681 398684 : data_tmp = full_data(idata)
36682 398684 : data_tmp = ISHFT(data_tmp, 17)
36683 398684 : data_tmp = IAND(data_tmp, mask_left(34))
36684 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36685 398684 : ipack = ipack + 1
36686 398684 : packed_data(ipack) = pack_tmp
36687 398684 : data_tmp = full_data(idata)
36688 398684 : pack_tmp = ISHFT(data_tmp, 51)
36689 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36690 398684 : idata = idata + 1
36691 398684 : data_tmp = full_data(idata)
36692 398684 : data_tmp = ISHFT(data_tmp, 17)
36693 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36694 398684 : pack_tmp = ISHFT(pack_tmp, -4)
36695 398684 : idata = idata + 1
36696 398684 : data_tmp = full_data(idata)
36697 398684 : data_tmp = ISHFT(data_tmp, 17)
36698 398684 : data_tmp = IAND(data_tmp, mask_left(4))
36699 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36700 398684 : ipack = ipack + 1
36701 398684 : packed_data(ipack) = pack_tmp
36702 398684 : data_tmp = full_data(idata)
36703 398684 : pack_tmp = ISHFT(data_tmp, 21)
36704 398684 : pack_tmp = ISHFT(pack_tmp, -21)
36705 398684 : idata = idata + 1
36706 398684 : data_tmp = full_data(idata)
36707 398684 : data_tmp = ISHFT(data_tmp, 17)
36708 398684 : data_tmp = IAND(data_tmp, mask_left(21))
36709 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36710 398684 : ipack = ipack + 1
36711 398684 : packed_data(ipack) = pack_tmp
36712 398684 : data_tmp = full_data(idata)
36713 398684 : pack_tmp = ISHFT(data_tmp, 38)
36714 398684 : pack_tmp = ISHFT(pack_tmp, -38)
36715 398684 : idata = idata + 1
36716 398684 : data_tmp = full_data(idata)
36717 398684 : data_tmp = ISHFT(data_tmp, 17)
36718 398684 : data_tmp = IAND(data_tmp, mask_left(38))
36719 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36720 398684 : ipack = ipack + 1
36721 398684 : packed_data(ipack) = pack_tmp
36722 398684 : data_tmp = full_data(idata)
36723 398684 : pack_tmp = ISHFT(data_tmp, 55)
36724 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36725 398684 : idata = idata + 1
36726 398684 : data_tmp = full_data(idata)
36727 398684 : data_tmp = ISHFT(data_tmp, 17)
36728 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36729 398684 : pack_tmp = ISHFT(pack_tmp, -8)
36730 398684 : idata = idata + 1
36731 398684 : data_tmp = full_data(idata)
36732 398684 : data_tmp = ISHFT(data_tmp, 17)
36733 398684 : data_tmp = IAND(data_tmp, mask_left(8))
36734 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36735 398684 : ipack = ipack + 1
36736 398684 : packed_data(ipack) = pack_tmp
36737 398684 : data_tmp = full_data(idata)
36738 398684 : pack_tmp = ISHFT(data_tmp, 25)
36739 398684 : pack_tmp = ISHFT(pack_tmp, -25)
36740 398684 : idata = idata + 1
36741 398684 : data_tmp = full_data(idata)
36742 398684 : data_tmp = ISHFT(data_tmp, 17)
36743 398684 : data_tmp = IAND(data_tmp, mask_left(25))
36744 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36745 398684 : ipack = ipack + 1
36746 398684 : packed_data(ipack) = pack_tmp
36747 398684 : data_tmp = full_data(idata)
36748 398684 : pack_tmp = ISHFT(data_tmp, 42)
36749 398684 : pack_tmp = ISHFT(pack_tmp, -42)
36750 398684 : idata = idata + 1
36751 398684 : data_tmp = full_data(idata)
36752 398684 : data_tmp = ISHFT(data_tmp, 17)
36753 398684 : data_tmp = IAND(data_tmp, mask_left(42))
36754 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36755 398684 : ipack = ipack + 1
36756 398684 : packed_data(ipack) = pack_tmp
36757 398684 : data_tmp = full_data(idata)
36758 398684 : pack_tmp = ISHFT(data_tmp, 59)
36759 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36760 398684 : idata = idata + 1
36761 398684 : data_tmp = full_data(idata)
36762 398684 : data_tmp = ISHFT(data_tmp, 17)
36763 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36764 398684 : pack_tmp = ISHFT(pack_tmp, -12)
36765 398684 : idata = idata + 1
36766 398684 : data_tmp = full_data(idata)
36767 398684 : data_tmp = ISHFT(data_tmp, 17)
36768 398684 : data_tmp = IAND(data_tmp, mask_left(12))
36769 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36770 398684 : ipack = ipack + 1
36771 398684 : packed_data(ipack) = pack_tmp
36772 398684 : data_tmp = full_data(idata)
36773 398684 : pack_tmp = ISHFT(data_tmp, 29)
36774 398684 : pack_tmp = ISHFT(pack_tmp, -29)
36775 398684 : idata = idata + 1
36776 398684 : data_tmp = full_data(idata)
36777 398684 : data_tmp = ISHFT(data_tmp, 17)
36778 398684 : data_tmp = IAND(data_tmp, mask_left(29))
36779 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36780 398684 : ipack = ipack + 1
36781 398684 : packed_data(ipack) = pack_tmp
36782 398684 : data_tmp = full_data(idata)
36783 398684 : pack_tmp = ISHFT(data_tmp, 46)
36784 398684 : pack_tmp = ISHFT(pack_tmp, -46)
36785 398684 : idata = idata + 1
36786 398684 : data_tmp = full_data(idata)
36787 398684 : data_tmp = ISHFT(data_tmp, 17)
36788 398684 : data_tmp = IAND(data_tmp, mask_left(46))
36789 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36790 398684 : ipack = ipack + 1
36791 398684 : packed_data(ipack) = pack_tmp
36792 398684 : data_tmp = full_data(idata)
36793 398684 : pack_tmp = ISHFT(data_tmp, 63)
36794 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36795 398684 : idata = idata + 1
36796 398684 : data_tmp = full_data(idata)
36797 398684 : data_tmp = ISHFT(data_tmp, 17)
36798 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36799 398684 : pack_tmp = ISHFT(pack_tmp, -16)
36800 398684 : idata = idata + 1
36801 398684 : data_tmp = full_data(idata)
36802 398684 : data_tmp = ISHFT(data_tmp, 17)
36803 398684 : data_tmp = IAND(data_tmp, mask_left(16))
36804 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36805 398684 : ipack = ipack + 1
36806 398684 : packed_data(ipack) = pack_tmp
36807 398684 : data_tmp = full_data(idata)
36808 398684 : pack_tmp = ISHFT(data_tmp, 33)
36809 398684 : pack_tmp = ISHFT(pack_tmp, -33)
36810 398684 : idata = idata + 1
36811 398684 : data_tmp = full_data(idata)
36812 398684 : data_tmp = ISHFT(data_tmp, 17)
36813 398684 : data_tmp = IAND(data_tmp, mask_left(33))
36814 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36815 398684 : ipack = ipack + 1
36816 398684 : packed_data(ipack) = pack_tmp
36817 398684 : data_tmp = full_data(idata)
36818 398684 : pack_tmp = ISHFT(data_tmp, 50)
36819 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36820 398684 : idata = idata + 1
36821 398684 : data_tmp = full_data(idata)
36822 398684 : data_tmp = ISHFT(data_tmp, 17)
36823 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36824 398684 : pack_tmp = ISHFT(pack_tmp, -3)
36825 398684 : idata = idata + 1
36826 398684 : data_tmp = full_data(idata)
36827 398684 : data_tmp = ISHFT(data_tmp, 17)
36828 398684 : data_tmp = IAND(data_tmp, mask_left(3))
36829 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36830 398684 : ipack = ipack + 1
36831 398684 : packed_data(ipack) = pack_tmp
36832 398684 : data_tmp = full_data(idata)
36833 398684 : pack_tmp = ISHFT(data_tmp, 20)
36834 398684 : pack_tmp = ISHFT(pack_tmp, -20)
36835 398684 : idata = idata + 1
36836 398684 : data_tmp = full_data(idata)
36837 398684 : data_tmp = ISHFT(data_tmp, 17)
36838 398684 : data_tmp = IAND(data_tmp, mask_left(20))
36839 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36840 398684 : ipack = ipack + 1
36841 398684 : packed_data(ipack) = pack_tmp
36842 398684 : data_tmp = full_data(idata)
36843 398684 : pack_tmp = ISHFT(data_tmp, 37)
36844 398684 : pack_tmp = ISHFT(pack_tmp, -37)
36845 398684 : idata = idata + 1
36846 398684 : data_tmp = full_data(idata)
36847 398684 : data_tmp = ISHFT(data_tmp, 17)
36848 398684 : data_tmp = IAND(data_tmp, mask_left(37))
36849 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36850 398684 : ipack = ipack + 1
36851 398684 : packed_data(ipack) = pack_tmp
36852 398684 : data_tmp = full_data(idata)
36853 398684 : pack_tmp = ISHFT(data_tmp, 54)
36854 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36855 398684 : idata = idata + 1
36856 398684 : data_tmp = full_data(idata)
36857 398684 : data_tmp = ISHFT(data_tmp, 17)
36858 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36859 398684 : pack_tmp = ISHFT(pack_tmp, -7)
36860 398684 : idata = idata + 1
36861 398684 : data_tmp = full_data(idata)
36862 398684 : data_tmp = ISHFT(data_tmp, 17)
36863 398684 : data_tmp = IAND(data_tmp, mask_left(7))
36864 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36865 398684 : ipack = ipack + 1
36866 398684 : packed_data(ipack) = pack_tmp
36867 398684 : data_tmp = full_data(idata)
36868 398684 : pack_tmp = ISHFT(data_tmp, 24)
36869 398684 : pack_tmp = ISHFT(pack_tmp, -24)
36870 398684 : idata = idata + 1
36871 398684 : data_tmp = full_data(idata)
36872 398684 : data_tmp = ISHFT(data_tmp, 17)
36873 398684 : data_tmp = IAND(data_tmp, mask_left(24))
36874 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36875 398684 : ipack = ipack + 1
36876 398684 : packed_data(ipack) = pack_tmp
36877 398684 : data_tmp = full_data(idata)
36878 398684 : pack_tmp = ISHFT(data_tmp, 41)
36879 398684 : pack_tmp = ISHFT(pack_tmp, -41)
36880 398684 : idata = idata + 1
36881 398684 : data_tmp = full_data(idata)
36882 398684 : data_tmp = ISHFT(data_tmp, 17)
36883 398684 : data_tmp = IAND(data_tmp, mask_left(41))
36884 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36885 398684 : ipack = ipack + 1
36886 398684 : packed_data(ipack) = pack_tmp
36887 398684 : data_tmp = full_data(idata)
36888 398684 : pack_tmp = ISHFT(data_tmp, 58)
36889 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36890 398684 : idata = idata + 1
36891 398684 : data_tmp = full_data(idata)
36892 398684 : data_tmp = ISHFT(data_tmp, 17)
36893 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36894 398684 : pack_tmp = ISHFT(pack_tmp, -11)
36895 398684 : idata = idata + 1
36896 398684 : data_tmp = full_data(idata)
36897 398684 : data_tmp = ISHFT(data_tmp, 17)
36898 398684 : data_tmp = IAND(data_tmp, mask_left(11))
36899 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36900 398684 : ipack = ipack + 1
36901 398684 : packed_data(ipack) = pack_tmp
36902 398684 : data_tmp = full_data(idata)
36903 398684 : pack_tmp = ISHFT(data_tmp, 28)
36904 398684 : pack_tmp = ISHFT(pack_tmp, -28)
36905 398684 : idata = idata + 1
36906 398684 : data_tmp = full_data(idata)
36907 398684 : data_tmp = ISHFT(data_tmp, 17)
36908 398684 : data_tmp = IAND(data_tmp, mask_left(28))
36909 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36910 398684 : ipack = ipack + 1
36911 398684 : packed_data(ipack) = pack_tmp
36912 398684 : data_tmp = full_data(idata)
36913 398684 : pack_tmp = ISHFT(data_tmp, 45)
36914 398684 : pack_tmp = ISHFT(pack_tmp, -45)
36915 398684 : idata = idata + 1
36916 398684 : data_tmp = full_data(idata)
36917 398684 : data_tmp = ISHFT(data_tmp, 17)
36918 398684 : data_tmp = IAND(data_tmp, mask_left(45))
36919 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36920 398684 : ipack = ipack + 1
36921 398684 : packed_data(ipack) = pack_tmp
36922 398684 : data_tmp = full_data(idata)
36923 398684 : pack_tmp = ISHFT(data_tmp, 62)
36924 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36925 398684 : idata = idata + 1
36926 398684 : data_tmp = full_data(idata)
36927 398684 : data_tmp = ISHFT(data_tmp, 17)
36928 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36929 398684 : pack_tmp = ISHFT(pack_tmp, -15)
36930 398684 : idata = idata + 1
36931 398684 : data_tmp = full_data(idata)
36932 398684 : data_tmp = ISHFT(data_tmp, 17)
36933 398684 : data_tmp = IAND(data_tmp, mask_left(15))
36934 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36935 398684 : ipack = ipack + 1
36936 398684 : packed_data(ipack) = pack_tmp
36937 398684 : data_tmp = full_data(idata)
36938 398684 : pack_tmp = ISHFT(data_tmp, 32)
36939 398684 : pack_tmp = ISHFT(pack_tmp, -32)
36940 398684 : idata = idata + 1
36941 398684 : data_tmp = full_data(idata)
36942 398684 : data_tmp = ISHFT(data_tmp, 17)
36943 398684 : data_tmp = IAND(data_tmp, mask_left(32))
36944 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36945 398684 : ipack = ipack + 1
36946 398684 : packed_data(ipack) = pack_tmp
36947 398684 : data_tmp = full_data(idata)
36948 398684 : pack_tmp = ISHFT(data_tmp, 49)
36949 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36950 398684 : idata = idata + 1
36951 398684 : data_tmp = full_data(idata)
36952 398684 : data_tmp = ISHFT(data_tmp, 17)
36953 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36954 398684 : pack_tmp = ISHFT(pack_tmp, -2)
36955 398684 : idata = idata + 1
36956 398684 : data_tmp = full_data(idata)
36957 398684 : data_tmp = ISHFT(data_tmp, 17)
36958 398684 : data_tmp = IAND(data_tmp, mask_left(2))
36959 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36960 398684 : ipack = ipack + 1
36961 398684 : packed_data(ipack) = pack_tmp
36962 398684 : data_tmp = full_data(idata)
36963 398684 : pack_tmp = ISHFT(data_tmp, 19)
36964 398684 : pack_tmp = ISHFT(pack_tmp, -19)
36965 398684 : idata = idata + 1
36966 398684 : data_tmp = full_data(idata)
36967 398684 : data_tmp = ISHFT(data_tmp, 17)
36968 398684 : data_tmp = IAND(data_tmp, mask_left(19))
36969 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36970 398684 : ipack = ipack + 1
36971 398684 : packed_data(ipack) = pack_tmp
36972 398684 : data_tmp = full_data(idata)
36973 398684 : pack_tmp = ISHFT(data_tmp, 36)
36974 398684 : pack_tmp = ISHFT(pack_tmp, -36)
36975 398684 : idata = idata + 1
36976 398684 : data_tmp = full_data(idata)
36977 398684 : data_tmp = ISHFT(data_tmp, 17)
36978 398684 : data_tmp = IAND(data_tmp, mask_left(36))
36979 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36980 398684 : ipack = ipack + 1
36981 398684 : packed_data(ipack) = pack_tmp
36982 398684 : data_tmp = full_data(idata)
36983 398684 : pack_tmp = ISHFT(data_tmp, 53)
36984 398684 : pack_tmp = ISHFT(pack_tmp, -47)
36985 398684 : idata = idata + 1
36986 398684 : data_tmp = full_data(idata)
36987 398684 : data_tmp = ISHFT(data_tmp, 17)
36988 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36989 398684 : pack_tmp = ISHFT(pack_tmp, -6)
36990 398684 : idata = idata + 1
36991 398684 : data_tmp = full_data(idata)
36992 398684 : data_tmp = ISHFT(data_tmp, 17)
36993 398684 : data_tmp = IAND(data_tmp, mask_left(6))
36994 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
36995 398684 : ipack = ipack + 1
36996 398684 : packed_data(ipack) = pack_tmp
36997 398684 : data_tmp = full_data(idata)
36998 398684 : pack_tmp = ISHFT(data_tmp, 23)
36999 398684 : pack_tmp = ISHFT(pack_tmp, -23)
37000 398684 : idata = idata + 1
37001 398684 : data_tmp = full_data(idata)
37002 398684 : data_tmp = ISHFT(data_tmp, 17)
37003 398684 : data_tmp = IAND(data_tmp, mask_left(23))
37004 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37005 398684 : ipack = ipack + 1
37006 398684 : packed_data(ipack) = pack_tmp
37007 398684 : data_tmp = full_data(idata)
37008 398684 : pack_tmp = ISHFT(data_tmp, 40)
37009 398684 : pack_tmp = ISHFT(pack_tmp, -40)
37010 398684 : idata = idata + 1
37011 398684 : data_tmp = full_data(idata)
37012 398684 : data_tmp = ISHFT(data_tmp, 17)
37013 398684 : data_tmp = IAND(data_tmp, mask_left(40))
37014 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37015 398684 : ipack = ipack + 1
37016 398684 : packed_data(ipack) = pack_tmp
37017 398684 : data_tmp = full_data(idata)
37018 398684 : pack_tmp = ISHFT(data_tmp, 57)
37019 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37020 398684 : idata = idata + 1
37021 398684 : data_tmp = full_data(idata)
37022 398684 : data_tmp = ISHFT(data_tmp, 17)
37023 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37024 398684 : pack_tmp = ISHFT(pack_tmp, -10)
37025 398684 : idata = idata + 1
37026 398684 : data_tmp = full_data(idata)
37027 398684 : data_tmp = ISHFT(data_tmp, 17)
37028 398684 : data_tmp = IAND(data_tmp, mask_left(10))
37029 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37030 398684 : ipack = ipack + 1
37031 398684 : packed_data(ipack) = pack_tmp
37032 398684 : data_tmp = full_data(idata)
37033 398684 : pack_tmp = ISHFT(data_tmp, 27)
37034 398684 : pack_tmp = ISHFT(pack_tmp, -27)
37035 398684 : idata = idata + 1
37036 398684 : data_tmp = full_data(idata)
37037 398684 : data_tmp = ISHFT(data_tmp, 17)
37038 398684 : data_tmp = IAND(data_tmp, mask_left(27))
37039 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37040 398684 : ipack = ipack + 1
37041 398684 : packed_data(ipack) = pack_tmp
37042 398684 : data_tmp = full_data(idata)
37043 398684 : pack_tmp = ISHFT(data_tmp, 44)
37044 398684 : pack_tmp = ISHFT(pack_tmp, -44)
37045 398684 : idata = idata + 1
37046 398684 : data_tmp = full_data(idata)
37047 398684 : data_tmp = ISHFT(data_tmp, 17)
37048 398684 : data_tmp = IAND(data_tmp, mask_left(44))
37049 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37050 398684 : ipack = ipack + 1
37051 398684 : packed_data(ipack) = pack_tmp
37052 398684 : data_tmp = full_data(idata)
37053 398684 : pack_tmp = ISHFT(data_tmp, 61)
37054 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37055 398684 : idata = idata + 1
37056 398684 : data_tmp = full_data(idata)
37057 398684 : data_tmp = ISHFT(data_tmp, 17)
37058 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37059 398684 : pack_tmp = ISHFT(pack_tmp, -14)
37060 398684 : idata = idata + 1
37061 398684 : data_tmp = full_data(idata)
37062 398684 : data_tmp = ISHFT(data_tmp, 17)
37063 398684 : data_tmp = IAND(data_tmp, mask_left(14))
37064 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37065 398684 : ipack = ipack + 1
37066 398684 : packed_data(ipack) = pack_tmp
37067 398684 : data_tmp = full_data(idata)
37068 398684 : pack_tmp = ISHFT(data_tmp, 31)
37069 398684 : pack_tmp = ISHFT(pack_tmp, -31)
37070 398684 : idata = idata + 1
37071 398684 : data_tmp = full_data(idata)
37072 398684 : data_tmp = ISHFT(data_tmp, 17)
37073 398684 : data_tmp = IAND(data_tmp, mask_left(31))
37074 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37075 398684 : ipack = ipack + 1
37076 398684 : packed_data(ipack) = pack_tmp
37077 398684 : data_tmp = full_data(idata)
37078 398684 : pack_tmp = ISHFT(data_tmp, 48)
37079 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37080 398684 : idata = idata + 1
37081 398684 : data_tmp = full_data(idata)
37082 398684 : data_tmp = ISHFT(data_tmp, 17)
37083 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37084 398684 : pack_tmp = ISHFT(pack_tmp, -1)
37085 398684 : idata = idata + 1
37086 398684 : data_tmp = full_data(idata)
37087 398684 : data_tmp = ISHFT(data_tmp, 17)
37088 398684 : data_tmp = IAND(data_tmp, mask_left(1))
37089 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37090 398684 : ipack = ipack + 1
37091 398684 : packed_data(ipack) = pack_tmp
37092 398684 : data_tmp = full_data(idata)
37093 398684 : pack_tmp = ISHFT(data_tmp, 18)
37094 398684 : pack_tmp = ISHFT(pack_tmp, -18)
37095 398684 : idata = idata + 1
37096 398684 : data_tmp = full_data(idata)
37097 398684 : data_tmp = ISHFT(data_tmp, 17)
37098 398684 : data_tmp = IAND(data_tmp, mask_left(18))
37099 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37100 398684 : ipack = ipack + 1
37101 398684 : packed_data(ipack) = pack_tmp
37102 398684 : data_tmp = full_data(idata)
37103 398684 : pack_tmp = ISHFT(data_tmp, 35)
37104 398684 : pack_tmp = ISHFT(pack_tmp, -35)
37105 398684 : idata = idata + 1
37106 398684 : data_tmp = full_data(idata)
37107 398684 : data_tmp = ISHFT(data_tmp, 17)
37108 398684 : data_tmp = IAND(data_tmp, mask_left(35))
37109 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37110 398684 : ipack = ipack + 1
37111 398684 : packed_data(ipack) = pack_tmp
37112 398684 : data_tmp = full_data(idata)
37113 398684 : pack_tmp = ISHFT(data_tmp, 52)
37114 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37115 398684 : idata = idata + 1
37116 398684 : data_tmp = full_data(idata)
37117 398684 : data_tmp = ISHFT(data_tmp, 17)
37118 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37119 398684 : pack_tmp = ISHFT(pack_tmp, -5)
37120 398684 : idata = idata + 1
37121 398684 : data_tmp = full_data(idata)
37122 398684 : data_tmp = ISHFT(data_tmp, 17)
37123 398684 : data_tmp = IAND(data_tmp, mask_left(5))
37124 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37125 398684 : ipack = ipack + 1
37126 398684 : packed_data(ipack) = pack_tmp
37127 398684 : data_tmp = full_data(idata)
37128 398684 : pack_tmp = ISHFT(data_tmp, 22)
37129 398684 : pack_tmp = ISHFT(pack_tmp, -22)
37130 398684 : idata = idata + 1
37131 398684 : data_tmp = full_data(idata)
37132 398684 : data_tmp = ISHFT(data_tmp, 17)
37133 398684 : data_tmp = IAND(data_tmp, mask_left(22))
37134 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37135 398684 : ipack = ipack + 1
37136 398684 : packed_data(ipack) = pack_tmp
37137 398684 : data_tmp = full_data(idata)
37138 398684 : pack_tmp = ISHFT(data_tmp, 39)
37139 398684 : pack_tmp = ISHFT(pack_tmp, -39)
37140 398684 : idata = idata + 1
37141 398684 : data_tmp = full_data(idata)
37142 398684 : data_tmp = ISHFT(data_tmp, 17)
37143 398684 : data_tmp = IAND(data_tmp, mask_left(39))
37144 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37145 398684 : ipack = ipack + 1
37146 398684 : packed_data(ipack) = pack_tmp
37147 398684 : data_tmp = full_data(idata)
37148 398684 : pack_tmp = ISHFT(data_tmp, 56)
37149 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37150 398684 : idata = idata + 1
37151 398684 : data_tmp = full_data(idata)
37152 398684 : data_tmp = ISHFT(data_tmp, 17)
37153 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37154 398684 : pack_tmp = ISHFT(pack_tmp, -9)
37155 398684 : idata = idata + 1
37156 398684 : data_tmp = full_data(idata)
37157 398684 : data_tmp = ISHFT(data_tmp, 17)
37158 398684 : data_tmp = IAND(data_tmp, mask_left(9))
37159 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37160 398684 : ipack = ipack + 1
37161 398684 : packed_data(ipack) = pack_tmp
37162 398684 : data_tmp = full_data(idata)
37163 398684 : pack_tmp = ISHFT(data_tmp, 26)
37164 398684 : pack_tmp = ISHFT(pack_tmp, -26)
37165 398684 : idata = idata + 1
37166 398684 : data_tmp = full_data(idata)
37167 398684 : data_tmp = ISHFT(data_tmp, 17)
37168 398684 : data_tmp = IAND(data_tmp, mask_left(26))
37169 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37170 398684 : ipack = ipack + 1
37171 398684 : packed_data(ipack) = pack_tmp
37172 398684 : data_tmp = full_data(idata)
37173 398684 : pack_tmp = ISHFT(data_tmp, 43)
37174 398684 : pack_tmp = ISHFT(pack_tmp, -43)
37175 398684 : idata = idata + 1
37176 398684 : data_tmp = full_data(idata)
37177 398684 : data_tmp = ISHFT(data_tmp, 17)
37178 398684 : data_tmp = IAND(data_tmp, mask_left(43))
37179 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37180 398684 : ipack = ipack + 1
37181 398684 : packed_data(ipack) = pack_tmp
37182 398684 : data_tmp = full_data(idata)
37183 398684 : pack_tmp = ISHFT(data_tmp, 60)
37184 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37185 398684 : idata = idata + 1
37186 398684 : data_tmp = full_data(idata)
37187 398684 : data_tmp = ISHFT(data_tmp, 17)
37188 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37189 398684 : pack_tmp = ISHFT(pack_tmp, -13)
37190 398684 : idata = idata + 1
37191 398684 : data_tmp = full_data(idata)
37192 398684 : data_tmp = ISHFT(data_tmp, 17)
37193 398684 : data_tmp = IAND(data_tmp, mask_left(13))
37194 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37195 398684 : ipack = ipack + 1
37196 398684 : packed_data(ipack) = pack_tmp
37197 398684 : data_tmp = full_data(idata)
37198 398684 : pack_tmp = ISHFT(data_tmp, 30)
37199 398684 : pack_tmp = ISHFT(pack_tmp, -30)
37200 398684 : idata = idata + 1
37201 398684 : data_tmp = full_data(idata)
37202 398684 : data_tmp = ISHFT(data_tmp, 17)
37203 398684 : data_tmp = IAND(data_tmp, mask_left(30))
37204 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37205 398684 : ipack = ipack + 1
37206 398684 : packed_data(ipack) = pack_tmp
37207 398684 : data_tmp = full_data(idata)
37208 398684 : pack_tmp = ISHFT(data_tmp, 47)
37209 398684 : pack_tmp = ISHFT(pack_tmp, -47)
37210 398684 : idata = idata + 1
37211 398684 : data_tmp = full_data(idata)
37212 398684 : data_tmp = ISHFT(data_tmp, 17)
37213 398684 : pack_tmp = IOR(pack_tmp, data_tmp)
37214 : pack_tmp = ISHFT(pack_tmp, 0)
37215 398684 : pack_tmp = ISHFT(pack_tmp, 0)
37216 398684 : ipack = ipack + 1
37217 398688 : packed_data(ipack) = pack_tmp
37218 : END DO
37219 26112 : IF (Ndata_rep < Ndata) THEN
37220 2248 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
37221 : END IF
37222 26112 : END SUBROUTINE ints2bits_47
37223 :
37224 : ! **************************************************************************************************
37225 : !> \brief ...
37226 : !> \param Ndata ...
37227 : !> \param packed_data ...
37228 : !> \param full_data ...
37229 : ! **************************************************************************************************
37230 114730 : 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 114730 : ipack = 0
37241 114730 : idata = 0
37242 114730 : pack_tmp = 0
37243 114730 : Ndata_rep = (Ndata/64)*64
37244 114730 : DO kdata = 1, Ndata_rep, 64
37245 1690449 : idata = idata + 1
37246 1690449 : data_tmp = ISHFT(pack_tmp, 47)
37247 1690449 : ipack = ipack + 1
37248 1690449 : pack_tmp = packed_data(ipack)
37249 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
37250 1690449 : pack_tmp = ISHFT(pack_tmp, -47)
37251 1690449 : idata = idata + 1
37252 1690449 : data_tmp = ISHFT(pack_tmp, 30)
37253 1690449 : ipack = ipack + 1
37254 1690449 : pack_tmp = packed_data(ipack)
37255 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
37256 1690449 : pack_tmp = ISHFT(pack_tmp, -30)
37257 1690449 : idata = idata + 1
37258 1690449 : data_tmp = ISHFT(pack_tmp, 13)
37259 1690449 : ipack = ipack + 1
37260 1690449 : pack_tmp = packed_data(ipack)
37261 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
37262 1690449 : pack_tmp = ISHFT(pack_tmp, -13)
37263 1690449 : idata = idata + 1
37264 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37265 1690449 : full_data(idata) = data_tmp
37266 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37267 1690449 : idata = idata + 1
37268 1690449 : data_tmp = ISHFT(pack_tmp, 43)
37269 1690449 : ipack = ipack + 1
37270 1690449 : pack_tmp = packed_data(ipack)
37271 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
37272 1690449 : pack_tmp = ISHFT(pack_tmp, -43)
37273 1690449 : idata = idata + 1
37274 1690449 : data_tmp = ISHFT(pack_tmp, 26)
37275 1690449 : ipack = ipack + 1
37276 1690449 : pack_tmp = packed_data(ipack)
37277 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
37278 1690449 : pack_tmp = ISHFT(pack_tmp, -26)
37279 1690449 : idata = idata + 1
37280 1690449 : data_tmp = ISHFT(pack_tmp, 9)
37281 1690449 : ipack = ipack + 1
37282 1690449 : pack_tmp = packed_data(ipack)
37283 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
37284 1690449 : pack_tmp = ISHFT(pack_tmp, -9)
37285 1690449 : idata = idata + 1
37286 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37287 1690449 : full_data(idata) = data_tmp
37288 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37289 1690449 : idata = idata + 1
37290 1690449 : data_tmp = ISHFT(pack_tmp, 39)
37291 1690449 : ipack = ipack + 1
37292 1690449 : pack_tmp = packed_data(ipack)
37293 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
37294 1690449 : pack_tmp = ISHFT(pack_tmp, -39)
37295 1690449 : idata = idata + 1
37296 1690449 : data_tmp = ISHFT(pack_tmp, 22)
37297 1690449 : ipack = ipack + 1
37298 1690449 : pack_tmp = packed_data(ipack)
37299 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
37300 1690449 : pack_tmp = ISHFT(pack_tmp, -22)
37301 1690449 : idata = idata + 1
37302 1690449 : data_tmp = ISHFT(pack_tmp, 5)
37303 1690449 : ipack = ipack + 1
37304 1690449 : pack_tmp = packed_data(ipack)
37305 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
37306 1690449 : pack_tmp = ISHFT(pack_tmp, -5)
37307 1690449 : idata = idata + 1
37308 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37309 1690449 : full_data(idata) = data_tmp
37310 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37311 1690449 : idata = idata + 1
37312 1690449 : data_tmp = ISHFT(pack_tmp, 35)
37313 1690449 : ipack = ipack + 1
37314 1690449 : pack_tmp = packed_data(ipack)
37315 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
37316 1690449 : pack_tmp = ISHFT(pack_tmp, -35)
37317 1690449 : idata = idata + 1
37318 1690449 : data_tmp = ISHFT(pack_tmp, 18)
37319 1690449 : ipack = ipack + 1
37320 1690449 : pack_tmp = packed_data(ipack)
37321 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
37322 1690449 : pack_tmp = ISHFT(pack_tmp, -18)
37323 1690449 : idata = idata + 1
37324 1690449 : data_tmp = ISHFT(pack_tmp, 1)
37325 1690449 : ipack = ipack + 1
37326 1690449 : pack_tmp = packed_data(ipack)
37327 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
37328 1690449 : pack_tmp = ISHFT(pack_tmp, -1)
37329 1690449 : idata = idata + 1
37330 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37331 1690449 : full_data(idata) = data_tmp
37332 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37333 1690449 : idata = idata + 1
37334 1690449 : data_tmp = ISHFT(pack_tmp, 31)
37335 1690449 : ipack = ipack + 1
37336 1690449 : pack_tmp = packed_data(ipack)
37337 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
37338 1690449 : pack_tmp = ISHFT(pack_tmp, -31)
37339 1690449 : idata = idata + 1
37340 1690449 : data_tmp = ISHFT(pack_tmp, 14)
37341 1690449 : ipack = ipack + 1
37342 1690449 : pack_tmp = packed_data(ipack)
37343 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
37344 1690449 : pack_tmp = ISHFT(pack_tmp, -14)
37345 1690449 : idata = idata + 1
37346 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37347 1690449 : full_data(idata) = data_tmp
37348 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37349 1690449 : idata = idata + 1
37350 1690449 : data_tmp = ISHFT(pack_tmp, 44)
37351 1690449 : ipack = ipack + 1
37352 1690449 : pack_tmp = packed_data(ipack)
37353 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
37354 1690449 : pack_tmp = ISHFT(pack_tmp, -44)
37355 1690449 : idata = idata + 1
37356 1690449 : data_tmp = ISHFT(pack_tmp, 27)
37357 1690449 : ipack = ipack + 1
37358 1690449 : pack_tmp = packed_data(ipack)
37359 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
37360 1690449 : pack_tmp = ISHFT(pack_tmp, -27)
37361 1690449 : idata = idata + 1
37362 1690449 : data_tmp = ISHFT(pack_tmp, 10)
37363 1690449 : ipack = ipack + 1
37364 1690449 : pack_tmp = packed_data(ipack)
37365 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
37366 1690449 : pack_tmp = ISHFT(pack_tmp, -10)
37367 1690449 : idata = idata + 1
37368 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37369 1690449 : full_data(idata) = data_tmp
37370 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37371 1690449 : idata = idata + 1
37372 1690449 : data_tmp = ISHFT(pack_tmp, 40)
37373 1690449 : ipack = ipack + 1
37374 1690449 : pack_tmp = packed_data(ipack)
37375 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
37376 1690449 : pack_tmp = ISHFT(pack_tmp, -40)
37377 1690449 : idata = idata + 1
37378 1690449 : data_tmp = ISHFT(pack_tmp, 23)
37379 1690449 : ipack = ipack + 1
37380 1690449 : pack_tmp = packed_data(ipack)
37381 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
37382 1690449 : pack_tmp = ISHFT(pack_tmp, -23)
37383 1690449 : idata = idata + 1
37384 1690449 : data_tmp = ISHFT(pack_tmp, 6)
37385 1690449 : ipack = ipack + 1
37386 1690449 : pack_tmp = packed_data(ipack)
37387 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
37388 1690449 : pack_tmp = ISHFT(pack_tmp, -6)
37389 1690449 : idata = idata + 1
37390 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37391 1690449 : full_data(idata) = data_tmp
37392 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37393 1690449 : idata = idata + 1
37394 1690449 : data_tmp = ISHFT(pack_tmp, 36)
37395 1690449 : ipack = ipack + 1
37396 1690449 : pack_tmp = packed_data(ipack)
37397 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
37398 1690449 : pack_tmp = ISHFT(pack_tmp, -36)
37399 1690449 : idata = idata + 1
37400 1690449 : data_tmp = ISHFT(pack_tmp, 19)
37401 1690449 : ipack = ipack + 1
37402 1690449 : pack_tmp = packed_data(ipack)
37403 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
37404 1690449 : pack_tmp = ISHFT(pack_tmp, -19)
37405 1690449 : idata = idata + 1
37406 1690449 : data_tmp = ISHFT(pack_tmp, 2)
37407 1690449 : ipack = ipack + 1
37408 1690449 : pack_tmp = packed_data(ipack)
37409 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
37410 1690449 : pack_tmp = ISHFT(pack_tmp, -2)
37411 1690449 : idata = idata + 1
37412 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37413 1690449 : full_data(idata) = data_tmp
37414 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37415 1690449 : idata = idata + 1
37416 1690449 : data_tmp = ISHFT(pack_tmp, 32)
37417 1690449 : ipack = ipack + 1
37418 1690449 : pack_tmp = packed_data(ipack)
37419 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
37420 1690449 : pack_tmp = ISHFT(pack_tmp, -32)
37421 1690449 : idata = idata + 1
37422 1690449 : data_tmp = ISHFT(pack_tmp, 15)
37423 1690449 : ipack = ipack + 1
37424 1690449 : pack_tmp = packed_data(ipack)
37425 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
37426 1690449 : pack_tmp = ISHFT(pack_tmp, -15)
37427 1690449 : idata = idata + 1
37428 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37429 1690449 : full_data(idata) = data_tmp
37430 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37431 1690449 : idata = idata + 1
37432 1690449 : data_tmp = ISHFT(pack_tmp, 45)
37433 1690449 : ipack = ipack + 1
37434 1690449 : pack_tmp = packed_data(ipack)
37435 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
37436 1690449 : pack_tmp = ISHFT(pack_tmp, -45)
37437 1690449 : idata = idata + 1
37438 1690449 : data_tmp = ISHFT(pack_tmp, 28)
37439 1690449 : ipack = ipack + 1
37440 1690449 : pack_tmp = packed_data(ipack)
37441 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
37442 1690449 : pack_tmp = ISHFT(pack_tmp, -28)
37443 1690449 : idata = idata + 1
37444 1690449 : data_tmp = ISHFT(pack_tmp, 11)
37445 1690449 : ipack = ipack + 1
37446 1690449 : pack_tmp = packed_data(ipack)
37447 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
37448 1690449 : pack_tmp = ISHFT(pack_tmp, -11)
37449 1690449 : idata = idata + 1
37450 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37451 1690449 : full_data(idata) = data_tmp
37452 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37453 1690449 : idata = idata + 1
37454 1690449 : data_tmp = ISHFT(pack_tmp, 41)
37455 1690449 : ipack = ipack + 1
37456 1690449 : pack_tmp = packed_data(ipack)
37457 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
37458 1690449 : pack_tmp = ISHFT(pack_tmp, -41)
37459 1690449 : idata = idata + 1
37460 1690449 : data_tmp = ISHFT(pack_tmp, 24)
37461 1690449 : ipack = ipack + 1
37462 1690449 : pack_tmp = packed_data(ipack)
37463 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
37464 1690449 : pack_tmp = ISHFT(pack_tmp, -24)
37465 1690449 : idata = idata + 1
37466 1690449 : data_tmp = ISHFT(pack_tmp, 7)
37467 1690449 : ipack = ipack + 1
37468 1690449 : pack_tmp = packed_data(ipack)
37469 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
37470 1690449 : pack_tmp = ISHFT(pack_tmp, -7)
37471 1690449 : idata = idata + 1
37472 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37473 1690449 : full_data(idata) = data_tmp
37474 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37475 1690449 : idata = idata + 1
37476 1690449 : data_tmp = ISHFT(pack_tmp, 37)
37477 1690449 : ipack = ipack + 1
37478 1690449 : pack_tmp = packed_data(ipack)
37479 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
37480 1690449 : pack_tmp = ISHFT(pack_tmp, -37)
37481 1690449 : idata = idata + 1
37482 1690449 : data_tmp = ISHFT(pack_tmp, 20)
37483 1690449 : ipack = ipack + 1
37484 1690449 : pack_tmp = packed_data(ipack)
37485 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
37486 1690449 : pack_tmp = ISHFT(pack_tmp, -20)
37487 1690449 : idata = idata + 1
37488 1690449 : data_tmp = ISHFT(pack_tmp, 3)
37489 1690449 : ipack = ipack + 1
37490 1690449 : pack_tmp = packed_data(ipack)
37491 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
37492 1690449 : pack_tmp = ISHFT(pack_tmp, -3)
37493 1690449 : idata = idata + 1
37494 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37495 1690449 : full_data(idata) = data_tmp
37496 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37497 1690449 : idata = idata + 1
37498 1690449 : data_tmp = ISHFT(pack_tmp, 33)
37499 1690449 : ipack = ipack + 1
37500 1690449 : pack_tmp = packed_data(ipack)
37501 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
37502 1690449 : pack_tmp = ISHFT(pack_tmp, -33)
37503 1690449 : idata = idata + 1
37504 1690449 : data_tmp = ISHFT(pack_tmp, 16)
37505 1690449 : ipack = ipack + 1
37506 1690449 : pack_tmp = packed_data(ipack)
37507 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
37508 1690449 : pack_tmp = ISHFT(pack_tmp, -16)
37509 1690449 : idata = idata + 1
37510 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37511 1690449 : full_data(idata) = data_tmp
37512 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37513 1690449 : idata = idata + 1
37514 1690449 : data_tmp = ISHFT(pack_tmp, 46)
37515 1690449 : ipack = ipack + 1
37516 1690449 : pack_tmp = packed_data(ipack)
37517 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
37518 1690449 : pack_tmp = ISHFT(pack_tmp, -46)
37519 1690449 : idata = idata + 1
37520 1690449 : data_tmp = ISHFT(pack_tmp, 29)
37521 1690449 : ipack = ipack + 1
37522 1690449 : pack_tmp = packed_data(ipack)
37523 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
37524 1690449 : pack_tmp = ISHFT(pack_tmp, -29)
37525 1690449 : idata = idata + 1
37526 1690449 : data_tmp = ISHFT(pack_tmp, 12)
37527 1690449 : ipack = ipack + 1
37528 1690449 : pack_tmp = packed_data(ipack)
37529 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
37530 1690449 : pack_tmp = ISHFT(pack_tmp, -12)
37531 1690449 : idata = idata + 1
37532 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37533 1690449 : full_data(idata) = data_tmp
37534 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37535 1690449 : idata = idata + 1
37536 1690449 : data_tmp = ISHFT(pack_tmp, 42)
37537 1690449 : ipack = ipack + 1
37538 1690449 : pack_tmp = packed_data(ipack)
37539 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
37540 1690449 : pack_tmp = ISHFT(pack_tmp, -42)
37541 1690449 : idata = idata + 1
37542 1690449 : data_tmp = ISHFT(pack_tmp, 25)
37543 1690449 : ipack = ipack + 1
37544 1690449 : pack_tmp = packed_data(ipack)
37545 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
37546 1690449 : pack_tmp = ISHFT(pack_tmp, -25)
37547 1690449 : idata = idata + 1
37548 1690449 : data_tmp = ISHFT(pack_tmp, 8)
37549 1690449 : ipack = ipack + 1
37550 1690449 : pack_tmp = packed_data(ipack)
37551 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
37552 1690449 : pack_tmp = ISHFT(pack_tmp, -8)
37553 1690449 : idata = idata + 1
37554 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37555 1690449 : full_data(idata) = data_tmp
37556 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37557 1690449 : idata = idata + 1
37558 1690449 : data_tmp = ISHFT(pack_tmp, 38)
37559 1690449 : ipack = ipack + 1
37560 1690449 : pack_tmp = packed_data(ipack)
37561 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
37562 1690449 : pack_tmp = ISHFT(pack_tmp, -38)
37563 1690449 : idata = idata + 1
37564 1690449 : data_tmp = ISHFT(pack_tmp, 21)
37565 1690449 : ipack = ipack + 1
37566 1690449 : pack_tmp = packed_data(ipack)
37567 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
37568 1690449 : pack_tmp = ISHFT(pack_tmp, -21)
37569 1690449 : idata = idata + 1
37570 1690449 : data_tmp = ISHFT(pack_tmp, 4)
37571 1690449 : ipack = ipack + 1
37572 1690449 : pack_tmp = packed_data(ipack)
37573 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
37574 1690449 : pack_tmp = ISHFT(pack_tmp, -4)
37575 1690449 : idata = idata + 1
37576 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37577 1690449 : full_data(idata) = data_tmp
37578 1690449 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37579 1690449 : idata = idata + 1
37580 1690449 : data_tmp = ISHFT(pack_tmp, 34)
37581 1690449 : ipack = ipack + 1
37582 1690449 : pack_tmp = packed_data(ipack)
37583 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
37584 1690449 : pack_tmp = ISHFT(pack_tmp, -34)
37585 1690449 : idata = idata + 1
37586 1690449 : data_tmp = ISHFT(pack_tmp, 17)
37587 1690449 : ipack = ipack + 1
37588 1690449 : pack_tmp = packed_data(ipack)
37589 1690449 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
37590 1690449 : pack_tmp = ISHFT(pack_tmp, -17)
37591 1690449 : idata = idata + 1
37592 1690449 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37593 1690449 : full_data(idata) = data_tmp
37594 1690529 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37595 : END DO
37596 114730 : IF (Ndata_rep < Ndata) THEN
37597 17086 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
37598 : END IF
37599 114730 : END SUBROUTINE bits2ints_47
37600 :
37601 : ! **************************************************************************************************
37602 : !> \brief ...
37603 : !> \param Ndata ...
37604 : !> \param packed_data ...
37605 : !> \param full_data ...
37606 : ! **************************************************************************************************
37607 26673 : 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 26673 : idata = 0
37618 26673 : ipack = 0
37619 26673 : Ndata_rep = (Ndata/64)*64
37620 26673 : DO kdata = 1, Ndata_rep, 64
37621 402084 : pack_tmp = 0
37622 402084 : idata = idata + 1
37623 402084 : data_tmp = full_data(idata)
37624 402084 : data_tmp = ISHFT(data_tmp, 16)
37625 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37626 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37627 402084 : idata = idata + 1
37628 402084 : data_tmp = full_data(idata)
37629 402084 : data_tmp = ISHFT(data_tmp, 16)
37630 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37631 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37632 402084 : ipack = ipack + 1
37633 402084 : packed_data(ipack) = pack_tmp
37634 402084 : data_tmp = full_data(idata)
37635 402084 : pack_tmp = ISHFT(data_tmp, 32)
37636 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37637 402084 : idata = idata + 1
37638 402084 : data_tmp = full_data(idata)
37639 402084 : data_tmp = ISHFT(data_tmp, 16)
37640 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37641 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37642 402084 : ipack = ipack + 1
37643 402084 : packed_data(ipack) = pack_tmp
37644 402084 : data_tmp = full_data(idata)
37645 402084 : pack_tmp = ISHFT(data_tmp, 48)
37646 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37647 402084 : idata = idata + 1
37648 402084 : data_tmp = full_data(idata)
37649 402084 : data_tmp = ISHFT(data_tmp, 16)
37650 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37651 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37652 402084 : idata = idata + 1
37653 402084 : data_tmp = full_data(idata)
37654 : data_tmp = ISHFT(data_tmp, 16)
37655 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37656 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37657 402084 : ipack = ipack + 1
37658 402084 : packed_data(ipack) = pack_tmp
37659 402084 : data_tmp = full_data(idata)
37660 402084 : pack_tmp = ISHFT(data_tmp, 16)
37661 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37662 402084 : idata = idata + 1
37663 402084 : data_tmp = full_data(idata)
37664 402084 : data_tmp = ISHFT(data_tmp, 16)
37665 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37666 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37667 402084 : ipack = ipack + 1
37668 402084 : packed_data(ipack) = pack_tmp
37669 402084 : data_tmp = full_data(idata)
37670 402084 : pack_tmp = ISHFT(data_tmp, 32)
37671 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37672 402084 : idata = idata + 1
37673 402084 : data_tmp = full_data(idata)
37674 402084 : data_tmp = ISHFT(data_tmp, 16)
37675 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37676 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37677 402084 : ipack = ipack + 1
37678 402084 : packed_data(ipack) = pack_tmp
37679 402084 : data_tmp = full_data(idata)
37680 402084 : pack_tmp = ISHFT(data_tmp, 48)
37681 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37682 402084 : idata = idata + 1
37683 402084 : data_tmp = full_data(idata)
37684 402084 : data_tmp = ISHFT(data_tmp, 16)
37685 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37686 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37687 402084 : idata = idata + 1
37688 402084 : data_tmp = full_data(idata)
37689 : data_tmp = ISHFT(data_tmp, 16)
37690 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37691 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37692 402084 : ipack = ipack + 1
37693 402084 : packed_data(ipack) = pack_tmp
37694 402084 : data_tmp = full_data(idata)
37695 402084 : pack_tmp = ISHFT(data_tmp, 16)
37696 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37697 402084 : idata = idata + 1
37698 402084 : data_tmp = full_data(idata)
37699 402084 : data_tmp = ISHFT(data_tmp, 16)
37700 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37701 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37702 402084 : ipack = ipack + 1
37703 402084 : packed_data(ipack) = pack_tmp
37704 402084 : data_tmp = full_data(idata)
37705 402084 : pack_tmp = ISHFT(data_tmp, 32)
37706 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37707 402084 : idata = idata + 1
37708 402084 : data_tmp = full_data(idata)
37709 402084 : data_tmp = ISHFT(data_tmp, 16)
37710 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37711 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37712 402084 : ipack = ipack + 1
37713 402084 : packed_data(ipack) = pack_tmp
37714 402084 : data_tmp = full_data(idata)
37715 402084 : pack_tmp = ISHFT(data_tmp, 48)
37716 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37717 402084 : idata = idata + 1
37718 402084 : data_tmp = full_data(idata)
37719 402084 : data_tmp = ISHFT(data_tmp, 16)
37720 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37721 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37722 402084 : idata = idata + 1
37723 402084 : data_tmp = full_data(idata)
37724 : data_tmp = ISHFT(data_tmp, 16)
37725 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37726 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37727 402084 : ipack = ipack + 1
37728 402084 : packed_data(ipack) = pack_tmp
37729 402084 : data_tmp = full_data(idata)
37730 402084 : pack_tmp = ISHFT(data_tmp, 16)
37731 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37732 402084 : idata = idata + 1
37733 402084 : data_tmp = full_data(idata)
37734 402084 : data_tmp = ISHFT(data_tmp, 16)
37735 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37736 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37737 402084 : ipack = ipack + 1
37738 402084 : packed_data(ipack) = pack_tmp
37739 402084 : data_tmp = full_data(idata)
37740 402084 : pack_tmp = ISHFT(data_tmp, 32)
37741 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37742 402084 : idata = idata + 1
37743 402084 : data_tmp = full_data(idata)
37744 402084 : data_tmp = ISHFT(data_tmp, 16)
37745 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37746 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37747 402084 : ipack = ipack + 1
37748 402084 : packed_data(ipack) = pack_tmp
37749 402084 : data_tmp = full_data(idata)
37750 402084 : pack_tmp = ISHFT(data_tmp, 48)
37751 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37752 402084 : idata = idata + 1
37753 402084 : data_tmp = full_data(idata)
37754 402084 : data_tmp = ISHFT(data_tmp, 16)
37755 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37756 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37757 402084 : idata = idata + 1
37758 402084 : data_tmp = full_data(idata)
37759 : data_tmp = ISHFT(data_tmp, 16)
37760 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37761 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37762 402084 : ipack = ipack + 1
37763 402084 : packed_data(ipack) = pack_tmp
37764 402084 : data_tmp = full_data(idata)
37765 402084 : pack_tmp = ISHFT(data_tmp, 16)
37766 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37767 402084 : idata = idata + 1
37768 402084 : data_tmp = full_data(idata)
37769 402084 : data_tmp = ISHFT(data_tmp, 16)
37770 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37771 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37772 402084 : ipack = ipack + 1
37773 402084 : packed_data(ipack) = pack_tmp
37774 402084 : data_tmp = full_data(idata)
37775 402084 : pack_tmp = ISHFT(data_tmp, 32)
37776 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37777 402084 : idata = idata + 1
37778 402084 : data_tmp = full_data(idata)
37779 402084 : data_tmp = ISHFT(data_tmp, 16)
37780 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37781 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37782 402084 : ipack = ipack + 1
37783 402084 : packed_data(ipack) = pack_tmp
37784 402084 : data_tmp = full_data(idata)
37785 402084 : pack_tmp = ISHFT(data_tmp, 48)
37786 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37787 402084 : idata = idata + 1
37788 402084 : data_tmp = full_data(idata)
37789 402084 : data_tmp = ISHFT(data_tmp, 16)
37790 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37791 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37792 402084 : idata = idata + 1
37793 402084 : data_tmp = full_data(idata)
37794 : data_tmp = ISHFT(data_tmp, 16)
37795 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37796 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37797 402084 : ipack = ipack + 1
37798 402084 : packed_data(ipack) = pack_tmp
37799 402084 : data_tmp = full_data(idata)
37800 402084 : pack_tmp = ISHFT(data_tmp, 16)
37801 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37802 402084 : idata = idata + 1
37803 402084 : data_tmp = full_data(idata)
37804 402084 : data_tmp = ISHFT(data_tmp, 16)
37805 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37806 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37807 402084 : ipack = ipack + 1
37808 402084 : packed_data(ipack) = pack_tmp
37809 402084 : data_tmp = full_data(idata)
37810 402084 : pack_tmp = ISHFT(data_tmp, 32)
37811 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37812 402084 : idata = idata + 1
37813 402084 : data_tmp = full_data(idata)
37814 402084 : data_tmp = ISHFT(data_tmp, 16)
37815 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37816 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37817 402084 : ipack = ipack + 1
37818 402084 : packed_data(ipack) = pack_tmp
37819 402084 : data_tmp = full_data(idata)
37820 402084 : pack_tmp = ISHFT(data_tmp, 48)
37821 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37822 402084 : idata = idata + 1
37823 402084 : data_tmp = full_data(idata)
37824 402084 : data_tmp = ISHFT(data_tmp, 16)
37825 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37826 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37827 402084 : idata = idata + 1
37828 402084 : data_tmp = full_data(idata)
37829 : data_tmp = ISHFT(data_tmp, 16)
37830 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37831 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37832 402084 : ipack = ipack + 1
37833 402084 : packed_data(ipack) = pack_tmp
37834 402084 : data_tmp = full_data(idata)
37835 402084 : pack_tmp = ISHFT(data_tmp, 16)
37836 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37837 402084 : idata = idata + 1
37838 402084 : data_tmp = full_data(idata)
37839 402084 : data_tmp = ISHFT(data_tmp, 16)
37840 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37841 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37842 402084 : ipack = ipack + 1
37843 402084 : packed_data(ipack) = pack_tmp
37844 402084 : data_tmp = full_data(idata)
37845 402084 : pack_tmp = ISHFT(data_tmp, 32)
37846 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37847 402084 : idata = idata + 1
37848 402084 : data_tmp = full_data(idata)
37849 402084 : data_tmp = ISHFT(data_tmp, 16)
37850 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37851 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37852 402084 : ipack = ipack + 1
37853 402084 : packed_data(ipack) = pack_tmp
37854 402084 : data_tmp = full_data(idata)
37855 402084 : pack_tmp = ISHFT(data_tmp, 48)
37856 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37857 402084 : idata = idata + 1
37858 402084 : data_tmp = full_data(idata)
37859 402084 : data_tmp = ISHFT(data_tmp, 16)
37860 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37861 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37862 402084 : idata = idata + 1
37863 402084 : data_tmp = full_data(idata)
37864 : data_tmp = ISHFT(data_tmp, 16)
37865 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37866 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37867 402084 : ipack = ipack + 1
37868 402084 : packed_data(ipack) = pack_tmp
37869 402084 : data_tmp = full_data(idata)
37870 402084 : pack_tmp = ISHFT(data_tmp, 16)
37871 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37872 402084 : idata = idata + 1
37873 402084 : data_tmp = full_data(idata)
37874 402084 : data_tmp = ISHFT(data_tmp, 16)
37875 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37876 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37877 402084 : ipack = ipack + 1
37878 402084 : packed_data(ipack) = pack_tmp
37879 402084 : data_tmp = full_data(idata)
37880 402084 : pack_tmp = ISHFT(data_tmp, 32)
37881 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37882 402084 : idata = idata + 1
37883 402084 : data_tmp = full_data(idata)
37884 402084 : data_tmp = ISHFT(data_tmp, 16)
37885 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37886 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37887 402084 : ipack = ipack + 1
37888 402084 : packed_data(ipack) = pack_tmp
37889 402084 : data_tmp = full_data(idata)
37890 402084 : pack_tmp = ISHFT(data_tmp, 48)
37891 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37892 402084 : idata = idata + 1
37893 402084 : data_tmp = full_data(idata)
37894 402084 : data_tmp = ISHFT(data_tmp, 16)
37895 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37896 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37897 402084 : idata = idata + 1
37898 402084 : data_tmp = full_data(idata)
37899 : data_tmp = ISHFT(data_tmp, 16)
37900 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37901 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37902 402084 : ipack = ipack + 1
37903 402084 : packed_data(ipack) = pack_tmp
37904 402084 : data_tmp = full_data(idata)
37905 402084 : pack_tmp = ISHFT(data_tmp, 16)
37906 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37907 402084 : idata = idata + 1
37908 402084 : data_tmp = full_data(idata)
37909 402084 : data_tmp = ISHFT(data_tmp, 16)
37910 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37911 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37912 402084 : ipack = ipack + 1
37913 402084 : packed_data(ipack) = pack_tmp
37914 402084 : data_tmp = full_data(idata)
37915 402084 : pack_tmp = ISHFT(data_tmp, 32)
37916 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37917 402084 : idata = idata + 1
37918 402084 : data_tmp = full_data(idata)
37919 402084 : data_tmp = ISHFT(data_tmp, 16)
37920 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37921 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37922 402084 : ipack = ipack + 1
37923 402084 : packed_data(ipack) = pack_tmp
37924 402084 : data_tmp = full_data(idata)
37925 402084 : pack_tmp = ISHFT(data_tmp, 48)
37926 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37927 402084 : idata = idata + 1
37928 402084 : data_tmp = full_data(idata)
37929 402084 : data_tmp = ISHFT(data_tmp, 16)
37930 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37931 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37932 402084 : idata = idata + 1
37933 402084 : data_tmp = full_data(idata)
37934 : data_tmp = ISHFT(data_tmp, 16)
37935 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37936 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37937 402084 : ipack = ipack + 1
37938 402084 : packed_data(ipack) = pack_tmp
37939 402084 : data_tmp = full_data(idata)
37940 402084 : pack_tmp = ISHFT(data_tmp, 16)
37941 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37942 402084 : idata = idata + 1
37943 402084 : data_tmp = full_data(idata)
37944 402084 : data_tmp = ISHFT(data_tmp, 16)
37945 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37946 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37947 402084 : ipack = ipack + 1
37948 402084 : packed_data(ipack) = pack_tmp
37949 402084 : data_tmp = full_data(idata)
37950 402084 : pack_tmp = ISHFT(data_tmp, 32)
37951 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37952 402084 : idata = idata + 1
37953 402084 : data_tmp = full_data(idata)
37954 402084 : data_tmp = ISHFT(data_tmp, 16)
37955 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37956 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37957 402084 : ipack = ipack + 1
37958 402084 : packed_data(ipack) = pack_tmp
37959 402084 : data_tmp = full_data(idata)
37960 402084 : pack_tmp = ISHFT(data_tmp, 48)
37961 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37962 402084 : idata = idata + 1
37963 402084 : data_tmp = full_data(idata)
37964 402084 : data_tmp = ISHFT(data_tmp, 16)
37965 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37966 402084 : pack_tmp = ISHFT(pack_tmp, 0)
37967 402084 : idata = idata + 1
37968 402084 : data_tmp = full_data(idata)
37969 : data_tmp = ISHFT(data_tmp, 16)
37970 402084 : data_tmp = IAND(data_tmp, mask_left(0))
37971 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37972 402084 : ipack = ipack + 1
37973 402084 : packed_data(ipack) = pack_tmp
37974 402084 : data_tmp = full_data(idata)
37975 402084 : pack_tmp = ISHFT(data_tmp, 16)
37976 402084 : pack_tmp = ISHFT(pack_tmp, -16)
37977 402084 : idata = idata + 1
37978 402084 : data_tmp = full_data(idata)
37979 402084 : data_tmp = ISHFT(data_tmp, 16)
37980 402084 : data_tmp = IAND(data_tmp, mask_left(16))
37981 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37982 402084 : ipack = ipack + 1
37983 402084 : packed_data(ipack) = pack_tmp
37984 402084 : data_tmp = full_data(idata)
37985 402084 : pack_tmp = ISHFT(data_tmp, 32)
37986 402084 : pack_tmp = ISHFT(pack_tmp, -32)
37987 402084 : idata = idata + 1
37988 402084 : data_tmp = full_data(idata)
37989 402084 : data_tmp = ISHFT(data_tmp, 16)
37990 402084 : data_tmp = IAND(data_tmp, mask_left(32))
37991 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
37992 402084 : ipack = ipack + 1
37993 402084 : packed_data(ipack) = pack_tmp
37994 402084 : data_tmp = full_data(idata)
37995 402084 : pack_tmp = ISHFT(data_tmp, 48)
37996 402084 : pack_tmp = ISHFT(pack_tmp, -48)
37997 402084 : idata = idata + 1
37998 402084 : data_tmp = full_data(idata)
37999 402084 : data_tmp = ISHFT(data_tmp, 16)
38000 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38001 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38002 402084 : idata = idata + 1
38003 402084 : data_tmp = full_data(idata)
38004 : data_tmp = ISHFT(data_tmp, 16)
38005 402084 : data_tmp = IAND(data_tmp, mask_left(0))
38006 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38007 402084 : ipack = ipack + 1
38008 402084 : packed_data(ipack) = pack_tmp
38009 402084 : data_tmp = full_data(idata)
38010 402084 : pack_tmp = ISHFT(data_tmp, 16)
38011 402084 : pack_tmp = ISHFT(pack_tmp, -16)
38012 402084 : idata = idata + 1
38013 402084 : data_tmp = full_data(idata)
38014 402084 : data_tmp = ISHFT(data_tmp, 16)
38015 402084 : data_tmp = IAND(data_tmp, mask_left(16))
38016 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38017 402084 : ipack = ipack + 1
38018 402084 : packed_data(ipack) = pack_tmp
38019 402084 : data_tmp = full_data(idata)
38020 402084 : pack_tmp = ISHFT(data_tmp, 32)
38021 402084 : pack_tmp = ISHFT(pack_tmp, -32)
38022 402084 : idata = idata + 1
38023 402084 : data_tmp = full_data(idata)
38024 402084 : data_tmp = ISHFT(data_tmp, 16)
38025 402084 : data_tmp = IAND(data_tmp, mask_left(32))
38026 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38027 402084 : ipack = ipack + 1
38028 402084 : packed_data(ipack) = pack_tmp
38029 402084 : data_tmp = full_data(idata)
38030 402084 : pack_tmp = ISHFT(data_tmp, 48)
38031 402084 : pack_tmp = ISHFT(pack_tmp, -48)
38032 402084 : idata = idata + 1
38033 402084 : data_tmp = full_data(idata)
38034 402084 : data_tmp = ISHFT(data_tmp, 16)
38035 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38036 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38037 402084 : idata = idata + 1
38038 402084 : data_tmp = full_data(idata)
38039 : data_tmp = ISHFT(data_tmp, 16)
38040 402084 : data_tmp = IAND(data_tmp, mask_left(0))
38041 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38042 402084 : ipack = ipack + 1
38043 402084 : packed_data(ipack) = pack_tmp
38044 402084 : data_tmp = full_data(idata)
38045 402084 : pack_tmp = ISHFT(data_tmp, 16)
38046 402084 : pack_tmp = ISHFT(pack_tmp, -16)
38047 402084 : idata = idata + 1
38048 402084 : data_tmp = full_data(idata)
38049 402084 : data_tmp = ISHFT(data_tmp, 16)
38050 402084 : data_tmp = IAND(data_tmp, mask_left(16))
38051 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38052 402084 : ipack = ipack + 1
38053 402084 : packed_data(ipack) = pack_tmp
38054 402084 : data_tmp = full_data(idata)
38055 402084 : pack_tmp = ISHFT(data_tmp, 32)
38056 402084 : pack_tmp = ISHFT(pack_tmp, -32)
38057 402084 : idata = idata + 1
38058 402084 : data_tmp = full_data(idata)
38059 402084 : data_tmp = ISHFT(data_tmp, 16)
38060 402084 : data_tmp = IAND(data_tmp, mask_left(32))
38061 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38062 402084 : ipack = ipack + 1
38063 402084 : packed_data(ipack) = pack_tmp
38064 402084 : data_tmp = full_data(idata)
38065 402084 : pack_tmp = ISHFT(data_tmp, 48)
38066 402084 : pack_tmp = ISHFT(pack_tmp, -48)
38067 402084 : idata = idata + 1
38068 402084 : data_tmp = full_data(idata)
38069 402084 : data_tmp = ISHFT(data_tmp, 16)
38070 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38071 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38072 402084 : idata = idata + 1
38073 402084 : data_tmp = full_data(idata)
38074 : data_tmp = ISHFT(data_tmp, 16)
38075 402084 : data_tmp = IAND(data_tmp, mask_left(0))
38076 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38077 402084 : ipack = ipack + 1
38078 402084 : packed_data(ipack) = pack_tmp
38079 402084 : data_tmp = full_data(idata)
38080 402084 : pack_tmp = ISHFT(data_tmp, 16)
38081 402084 : pack_tmp = ISHFT(pack_tmp, -16)
38082 402084 : idata = idata + 1
38083 402084 : data_tmp = full_data(idata)
38084 402084 : data_tmp = ISHFT(data_tmp, 16)
38085 402084 : data_tmp = IAND(data_tmp, mask_left(16))
38086 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38087 402084 : ipack = ipack + 1
38088 402084 : packed_data(ipack) = pack_tmp
38089 402084 : data_tmp = full_data(idata)
38090 402084 : pack_tmp = ISHFT(data_tmp, 32)
38091 402084 : pack_tmp = ISHFT(pack_tmp, -32)
38092 402084 : idata = idata + 1
38093 402084 : data_tmp = full_data(idata)
38094 402084 : data_tmp = ISHFT(data_tmp, 16)
38095 402084 : data_tmp = IAND(data_tmp, mask_left(32))
38096 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38097 402084 : ipack = ipack + 1
38098 402084 : packed_data(ipack) = pack_tmp
38099 402084 : data_tmp = full_data(idata)
38100 402084 : pack_tmp = ISHFT(data_tmp, 48)
38101 402084 : pack_tmp = ISHFT(pack_tmp, -48)
38102 402084 : idata = idata + 1
38103 402084 : data_tmp = full_data(idata)
38104 402084 : data_tmp = ISHFT(data_tmp, 16)
38105 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38106 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38107 402084 : idata = idata + 1
38108 402084 : data_tmp = full_data(idata)
38109 : data_tmp = ISHFT(data_tmp, 16)
38110 402084 : data_tmp = IAND(data_tmp, mask_left(0))
38111 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38112 402084 : ipack = ipack + 1
38113 402084 : packed_data(ipack) = pack_tmp
38114 402084 : data_tmp = full_data(idata)
38115 402084 : pack_tmp = ISHFT(data_tmp, 16)
38116 402084 : pack_tmp = ISHFT(pack_tmp, -16)
38117 402084 : idata = idata + 1
38118 402084 : data_tmp = full_data(idata)
38119 402084 : data_tmp = ISHFT(data_tmp, 16)
38120 402084 : data_tmp = IAND(data_tmp, mask_left(16))
38121 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38122 402084 : ipack = ipack + 1
38123 402084 : packed_data(ipack) = pack_tmp
38124 402084 : data_tmp = full_data(idata)
38125 402084 : pack_tmp = ISHFT(data_tmp, 32)
38126 402084 : pack_tmp = ISHFT(pack_tmp, -32)
38127 402084 : idata = idata + 1
38128 402084 : data_tmp = full_data(idata)
38129 402084 : data_tmp = ISHFT(data_tmp, 16)
38130 402084 : data_tmp = IAND(data_tmp, mask_left(32))
38131 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38132 402084 : ipack = ipack + 1
38133 402084 : packed_data(ipack) = pack_tmp
38134 402084 : data_tmp = full_data(idata)
38135 402084 : pack_tmp = ISHFT(data_tmp, 48)
38136 402084 : pack_tmp = ISHFT(pack_tmp, -48)
38137 402084 : idata = idata + 1
38138 402084 : data_tmp = full_data(idata)
38139 402084 : data_tmp = ISHFT(data_tmp, 16)
38140 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38141 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38142 402084 : idata = idata + 1
38143 402084 : data_tmp = full_data(idata)
38144 : data_tmp = ISHFT(data_tmp, 16)
38145 402084 : data_tmp = IAND(data_tmp, mask_left(0))
38146 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38147 402084 : ipack = ipack + 1
38148 402084 : packed_data(ipack) = pack_tmp
38149 402084 : data_tmp = full_data(idata)
38150 402084 : pack_tmp = ISHFT(data_tmp, 16)
38151 402084 : pack_tmp = ISHFT(pack_tmp, -16)
38152 402084 : idata = idata + 1
38153 402084 : data_tmp = full_data(idata)
38154 402084 : data_tmp = ISHFT(data_tmp, 16)
38155 402084 : data_tmp = IAND(data_tmp, mask_left(16))
38156 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38157 402084 : ipack = ipack + 1
38158 402084 : packed_data(ipack) = pack_tmp
38159 402084 : data_tmp = full_data(idata)
38160 402084 : pack_tmp = ISHFT(data_tmp, 32)
38161 402084 : pack_tmp = ISHFT(pack_tmp, -32)
38162 402084 : idata = idata + 1
38163 402084 : data_tmp = full_data(idata)
38164 402084 : data_tmp = ISHFT(data_tmp, 16)
38165 402084 : data_tmp = IAND(data_tmp, mask_left(32))
38166 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38167 402084 : ipack = ipack + 1
38168 402084 : packed_data(ipack) = pack_tmp
38169 402084 : data_tmp = full_data(idata)
38170 402084 : pack_tmp = ISHFT(data_tmp, 48)
38171 402084 : pack_tmp = ISHFT(pack_tmp, -48)
38172 402084 : idata = idata + 1
38173 402084 : data_tmp = full_data(idata)
38174 402084 : data_tmp = ISHFT(data_tmp, 16)
38175 402084 : pack_tmp = IOR(pack_tmp, data_tmp)
38176 : pack_tmp = ISHFT(pack_tmp, 0)
38177 402084 : pack_tmp = ISHFT(pack_tmp, 0)
38178 402084 : ipack = ipack + 1
38179 402318 : packed_data(ipack) = pack_tmp
38180 : END DO
38181 26673 : 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 26673 : END SUBROUTINE ints2bits_48
38185 :
38186 : ! **************************************************************************************************
38187 : !> \brief ...
38188 : !> \param Ndata ...
38189 : !> \param packed_data ...
38190 : !> \param full_data ...
38191 : ! **************************************************************************************************
38192 112296 : 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 112296 : ipack = 0
38203 112296 : idata = 0
38204 112296 : pack_tmp = 0
38205 112296 : Ndata_rep = (Ndata/64)*64
38206 112296 : DO kdata = 1, Ndata_rep, 64
38207 1662011 : idata = idata + 1
38208 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38209 1662011 : ipack = ipack + 1
38210 1662011 : pack_tmp = packed_data(ipack)
38211 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38212 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38213 1662011 : idata = idata + 1
38214 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38215 1662011 : ipack = ipack + 1
38216 1662011 : pack_tmp = packed_data(ipack)
38217 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38218 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38219 1662011 : idata = idata + 1
38220 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38221 1662011 : ipack = ipack + 1
38222 1662011 : pack_tmp = packed_data(ipack)
38223 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38224 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38225 1662011 : idata = idata + 1
38226 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38227 1662011 : full_data(idata) = data_tmp
38228 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38229 1662011 : idata = idata + 1
38230 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38231 1662011 : ipack = ipack + 1
38232 1662011 : pack_tmp = packed_data(ipack)
38233 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38234 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38235 1662011 : idata = idata + 1
38236 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38237 1662011 : ipack = ipack + 1
38238 1662011 : pack_tmp = packed_data(ipack)
38239 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38240 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38241 1662011 : idata = idata + 1
38242 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38243 1662011 : ipack = ipack + 1
38244 1662011 : pack_tmp = packed_data(ipack)
38245 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38246 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38247 1662011 : idata = idata + 1
38248 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38249 1662011 : full_data(idata) = data_tmp
38250 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38251 1662011 : idata = idata + 1
38252 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38253 1662011 : ipack = ipack + 1
38254 1662011 : pack_tmp = packed_data(ipack)
38255 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38256 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38257 1662011 : idata = idata + 1
38258 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38259 1662011 : ipack = ipack + 1
38260 1662011 : pack_tmp = packed_data(ipack)
38261 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38262 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38263 1662011 : idata = idata + 1
38264 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38265 1662011 : ipack = ipack + 1
38266 1662011 : pack_tmp = packed_data(ipack)
38267 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38268 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38269 1662011 : idata = idata + 1
38270 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38271 1662011 : full_data(idata) = data_tmp
38272 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38273 1662011 : idata = idata + 1
38274 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38275 1662011 : ipack = ipack + 1
38276 1662011 : pack_tmp = packed_data(ipack)
38277 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38278 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38279 1662011 : idata = idata + 1
38280 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38281 1662011 : ipack = ipack + 1
38282 1662011 : pack_tmp = packed_data(ipack)
38283 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38284 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38285 1662011 : idata = idata + 1
38286 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38287 1662011 : ipack = ipack + 1
38288 1662011 : pack_tmp = packed_data(ipack)
38289 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38290 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38291 1662011 : idata = idata + 1
38292 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38293 1662011 : full_data(idata) = data_tmp
38294 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38295 1662011 : idata = idata + 1
38296 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38297 1662011 : ipack = ipack + 1
38298 1662011 : pack_tmp = packed_data(ipack)
38299 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38300 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38301 1662011 : idata = idata + 1
38302 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38303 1662011 : ipack = ipack + 1
38304 1662011 : pack_tmp = packed_data(ipack)
38305 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38306 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38307 1662011 : idata = idata + 1
38308 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38309 1662011 : ipack = ipack + 1
38310 1662011 : pack_tmp = packed_data(ipack)
38311 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38312 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38313 1662011 : idata = idata + 1
38314 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38315 1662011 : full_data(idata) = data_tmp
38316 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38317 1662011 : idata = idata + 1
38318 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38319 1662011 : ipack = ipack + 1
38320 1662011 : pack_tmp = packed_data(ipack)
38321 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38322 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38323 1662011 : idata = idata + 1
38324 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38325 1662011 : ipack = ipack + 1
38326 1662011 : pack_tmp = packed_data(ipack)
38327 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38328 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38329 1662011 : idata = idata + 1
38330 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38331 1662011 : ipack = ipack + 1
38332 1662011 : pack_tmp = packed_data(ipack)
38333 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38334 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38335 1662011 : idata = idata + 1
38336 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38337 1662011 : full_data(idata) = data_tmp
38338 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38339 1662011 : idata = idata + 1
38340 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38341 1662011 : ipack = ipack + 1
38342 1662011 : pack_tmp = packed_data(ipack)
38343 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38344 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38345 1662011 : idata = idata + 1
38346 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38347 1662011 : ipack = ipack + 1
38348 1662011 : pack_tmp = packed_data(ipack)
38349 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38350 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38351 1662011 : idata = idata + 1
38352 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38353 1662011 : ipack = ipack + 1
38354 1662011 : pack_tmp = packed_data(ipack)
38355 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38356 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38357 1662011 : idata = idata + 1
38358 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38359 1662011 : full_data(idata) = data_tmp
38360 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38361 1662011 : idata = idata + 1
38362 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38363 1662011 : ipack = ipack + 1
38364 1662011 : pack_tmp = packed_data(ipack)
38365 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38366 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38367 1662011 : idata = idata + 1
38368 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38369 1662011 : ipack = ipack + 1
38370 1662011 : pack_tmp = packed_data(ipack)
38371 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38372 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38373 1662011 : idata = idata + 1
38374 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38375 1662011 : ipack = ipack + 1
38376 1662011 : pack_tmp = packed_data(ipack)
38377 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38378 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38379 1662011 : idata = idata + 1
38380 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38381 1662011 : full_data(idata) = data_tmp
38382 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38383 1662011 : idata = idata + 1
38384 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38385 1662011 : ipack = ipack + 1
38386 1662011 : pack_tmp = packed_data(ipack)
38387 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38388 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38389 1662011 : idata = idata + 1
38390 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38391 1662011 : ipack = ipack + 1
38392 1662011 : pack_tmp = packed_data(ipack)
38393 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38394 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38395 1662011 : idata = idata + 1
38396 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38397 1662011 : ipack = ipack + 1
38398 1662011 : pack_tmp = packed_data(ipack)
38399 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38400 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38401 1662011 : idata = idata + 1
38402 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38403 1662011 : full_data(idata) = data_tmp
38404 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38405 1662011 : idata = idata + 1
38406 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38407 1662011 : ipack = ipack + 1
38408 1662011 : pack_tmp = packed_data(ipack)
38409 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38410 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38411 1662011 : idata = idata + 1
38412 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38413 1662011 : ipack = ipack + 1
38414 1662011 : pack_tmp = packed_data(ipack)
38415 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38416 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38417 1662011 : idata = idata + 1
38418 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38419 1662011 : ipack = ipack + 1
38420 1662011 : pack_tmp = packed_data(ipack)
38421 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38422 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38423 1662011 : idata = idata + 1
38424 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38425 1662011 : full_data(idata) = data_tmp
38426 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38427 1662011 : idata = idata + 1
38428 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38429 1662011 : ipack = ipack + 1
38430 1662011 : pack_tmp = packed_data(ipack)
38431 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38432 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38433 1662011 : idata = idata + 1
38434 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38435 1662011 : ipack = ipack + 1
38436 1662011 : pack_tmp = packed_data(ipack)
38437 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38438 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38439 1662011 : idata = idata + 1
38440 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38441 1662011 : ipack = ipack + 1
38442 1662011 : pack_tmp = packed_data(ipack)
38443 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38444 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38445 1662011 : idata = idata + 1
38446 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38447 1662011 : full_data(idata) = data_tmp
38448 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38449 1662011 : idata = idata + 1
38450 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38451 1662011 : ipack = ipack + 1
38452 1662011 : pack_tmp = packed_data(ipack)
38453 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38454 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38455 1662011 : idata = idata + 1
38456 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38457 1662011 : ipack = ipack + 1
38458 1662011 : pack_tmp = packed_data(ipack)
38459 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38460 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38461 1662011 : idata = idata + 1
38462 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38463 1662011 : ipack = ipack + 1
38464 1662011 : pack_tmp = packed_data(ipack)
38465 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38466 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38467 1662011 : idata = idata + 1
38468 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38469 1662011 : full_data(idata) = data_tmp
38470 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38471 1662011 : idata = idata + 1
38472 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38473 1662011 : ipack = ipack + 1
38474 1662011 : pack_tmp = packed_data(ipack)
38475 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38476 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38477 1662011 : idata = idata + 1
38478 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38479 1662011 : ipack = ipack + 1
38480 1662011 : pack_tmp = packed_data(ipack)
38481 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38482 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38483 1662011 : idata = idata + 1
38484 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38485 1662011 : ipack = ipack + 1
38486 1662011 : pack_tmp = packed_data(ipack)
38487 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38488 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38489 1662011 : idata = idata + 1
38490 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38491 1662011 : full_data(idata) = data_tmp
38492 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38493 1662011 : idata = idata + 1
38494 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38495 1662011 : ipack = ipack + 1
38496 1662011 : pack_tmp = packed_data(ipack)
38497 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38498 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38499 1662011 : idata = idata + 1
38500 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38501 1662011 : ipack = ipack + 1
38502 1662011 : pack_tmp = packed_data(ipack)
38503 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38504 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38505 1662011 : idata = idata + 1
38506 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38507 1662011 : ipack = ipack + 1
38508 1662011 : pack_tmp = packed_data(ipack)
38509 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38510 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38511 1662011 : idata = idata + 1
38512 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38513 1662011 : full_data(idata) = data_tmp
38514 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38515 1662011 : idata = idata + 1
38516 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38517 1662011 : ipack = ipack + 1
38518 1662011 : pack_tmp = packed_data(ipack)
38519 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38520 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38521 1662011 : idata = idata + 1
38522 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38523 1662011 : ipack = ipack + 1
38524 1662011 : pack_tmp = packed_data(ipack)
38525 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38526 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38527 1662011 : idata = idata + 1
38528 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38529 1662011 : ipack = ipack + 1
38530 1662011 : pack_tmp = packed_data(ipack)
38531 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38532 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38533 1662011 : idata = idata + 1
38534 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38535 1662011 : full_data(idata) = data_tmp
38536 1662011 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38537 1662011 : idata = idata + 1
38538 1662011 : data_tmp = ISHFT(pack_tmp, 48)
38539 1662011 : ipack = ipack + 1
38540 1662011 : pack_tmp = packed_data(ipack)
38541 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38542 1662011 : pack_tmp = ISHFT(pack_tmp, -48)
38543 1662011 : idata = idata + 1
38544 1662011 : data_tmp = ISHFT(pack_tmp, 32)
38545 1662011 : ipack = ipack + 1
38546 1662011 : pack_tmp = packed_data(ipack)
38547 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38548 1662011 : pack_tmp = ISHFT(pack_tmp, -32)
38549 1662011 : idata = idata + 1
38550 1662011 : data_tmp = ISHFT(pack_tmp, 16)
38551 1662011 : ipack = ipack + 1
38552 1662011 : pack_tmp = packed_data(ipack)
38553 1662011 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38554 1662011 : pack_tmp = ISHFT(pack_tmp, -16)
38555 1662011 : idata = idata + 1
38556 1662011 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38557 1662011 : full_data(idata) = data_tmp
38558 1663576 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38559 : END DO
38560 112296 : 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 112296 : END SUBROUTINE bits2ints_48
38564 :
38565 : ! **************************************************************************************************
38566 : !> \brief ...
38567 : !> \param Ndata ...
38568 : !> \param packed_data ...
38569 : !> \param full_data ...
38570 : ! **************************************************************************************************
38571 25532 : 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 25532 : idata = 0
38582 25532 : ipack = 0
38583 25532 : Ndata_rep = (Ndata/64)*64
38584 25532 : DO kdata = 1, Ndata_rep, 64
38585 393229 : pack_tmp = 0
38586 393229 : idata = idata + 1
38587 393229 : data_tmp = full_data(idata)
38588 393229 : data_tmp = ISHFT(data_tmp, 15)
38589 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38590 393229 : pack_tmp = ISHFT(pack_tmp, -15)
38591 393229 : idata = idata + 1
38592 393229 : data_tmp = full_data(idata)
38593 393229 : data_tmp = ISHFT(data_tmp, 15)
38594 393229 : data_tmp = IAND(data_tmp, mask_left(15))
38595 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38596 393229 : ipack = ipack + 1
38597 393229 : packed_data(ipack) = pack_tmp
38598 393229 : data_tmp = full_data(idata)
38599 393229 : pack_tmp = ISHFT(data_tmp, 30)
38600 393229 : pack_tmp = ISHFT(pack_tmp, -30)
38601 393229 : idata = idata + 1
38602 393229 : data_tmp = full_data(idata)
38603 393229 : data_tmp = ISHFT(data_tmp, 15)
38604 393229 : data_tmp = IAND(data_tmp, mask_left(30))
38605 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38606 393229 : ipack = ipack + 1
38607 393229 : packed_data(ipack) = pack_tmp
38608 393229 : data_tmp = full_data(idata)
38609 393229 : pack_tmp = ISHFT(data_tmp, 45)
38610 393229 : pack_tmp = ISHFT(pack_tmp, -45)
38611 393229 : idata = idata + 1
38612 393229 : data_tmp = full_data(idata)
38613 393229 : data_tmp = ISHFT(data_tmp, 15)
38614 393229 : data_tmp = IAND(data_tmp, mask_left(45))
38615 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38616 393229 : ipack = ipack + 1
38617 393229 : packed_data(ipack) = pack_tmp
38618 393229 : data_tmp = full_data(idata)
38619 393229 : pack_tmp = ISHFT(data_tmp, 60)
38620 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38621 393229 : idata = idata + 1
38622 393229 : data_tmp = full_data(idata)
38623 393229 : data_tmp = ISHFT(data_tmp, 15)
38624 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38625 393229 : pack_tmp = ISHFT(pack_tmp, -11)
38626 393229 : idata = idata + 1
38627 393229 : data_tmp = full_data(idata)
38628 393229 : data_tmp = ISHFT(data_tmp, 15)
38629 393229 : data_tmp = IAND(data_tmp, mask_left(11))
38630 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38631 393229 : ipack = ipack + 1
38632 393229 : packed_data(ipack) = pack_tmp
38633 393229 : data_tmp = full_data(idata)
38634 393229 : pack_tmp = ISHFT(data_tmp, 26)
38635 393229 : pack_tmp = ISHFT(pack_tmp, -26)
38636 393229 : idata = idata + 1
38637 393229 : data_tmp = full_data(idata)
38638 393229 : data_tmp = ISHFT(data_tmp, 15)
38639 393229 : data_tmp = IAND(data_tmp, mask_left(26))
38640 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38641 393229 : ipack = ipack + 1
38642 393229 : packed_data(ipack) = pack_tmp
38643 393229 : data_tmp = full_data(idata)
38644 393229 : pack_tmp = ISHFT(data_tmp, 41)
38645 393229 : pack_tmp = ISHFT(pack_tmp, -41)
38646 393229 : idata = idata + 1
38647 393229 : data_tmp = full_data(idata)
38648 393229 : data_tmp = ISHFT(data_tmp, 15)
38649 393229 : data_tmp = IAND(data_tmp, mask_left(41))
38650 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38651 393229 : ipack = ipack + 1
38652 393229 : packed_data(ipack) = pack_tmp
38653 393229 : data_tmp = full_data(idata)
38654 393229 : pack_tmp = ISHFT(data_tmp, 56)
38655 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38656 393229 : idata = idata + 1
38657 393229 : data_tmp = full_data(idata)
38658 393229 : data_tmp = ISHFT(data_tmp, 15)
38659 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38660 393229 : pack_tmp = ISHFT(pack_tmp, -7)
38661 393229 : idata = idata + 1
38662 393229 : data_tmp = full_data(idata)
38663 393229 : data_tmp = ISHFT(data_tmp, 15)
38664 393229 : data_tmp = IAND(data_tmp, mask_left(7))
38665 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38666 393229 : ipack = ipack + 1
38667 393229 : packed_data(ipack) = pack_tmp
38668 393229 : data_tmp = full_data(idata)
38669 393229 : pack_tmp = ISHFT(data_tmp, 22)
38670 393229 : pack_tmp = ISHFT(pack_tmp, -22)
38671 393229 : idata = idata + 1
38672 393229 : data_tmp = full_data(idata)
38673 393229 : data_tmp = ISHFT(data_tmp, 15)
38674 393229 : data_tmp = IAND(data_tmp, mask_left(22))
38675 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38676 393229 : ipack = ipack + 1
38677 393229 : packed_data(ipack) = pack_tmp
38678 393229 : data_tmp = full_data(idata)
38679 393229 : pack_tmp = ISHFT(data_tmp, 37)
38680 393229 : pack_tmp = ISHFT(pack_tmp, -37)
38681 393229 : idata = idata + 1
38682 393229 : data_tmp = full_data(idata)
38683 393229 : data_tmp = ISHFT(data_tmp, 15)
38684 393229 : data_tmp = IAND(data_tmp, mask_left(37))
38685 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38686 393229 : ipack = ipack + 1
38687 393229 : packed_data(ipack) = pack_tmp
38688 393229 : data_tmp = full_data(idata)
38689 393229 : pack_tmp = ISHFT(data_tmp, 52)
38690 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38691 393229 : idata = idata + 1
38692 393229 : data_tmp = full_data(idata)
38693 393229 : data_tmp = ISHFT(data_tmp, 15)
38694 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38695 393229 : pack_tmp = ISHFT(pack_tmp, -3)
38696 393229 : idata = idata + 1
38697 393229 : data_tmp = full_data(idata)
38698 393229 : data_tmp = ISHFT(data_tmp, 15)
38699 393229 : data_tmp = IAND(data_tmp, mask_left(3))
38700 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38701 393229 : ipack = ipack + 1
38702 393229 : packed_data(ipack) = pack_tmp
38703 393229 : data_tmp = full_data(idata)
38704 393229 : pack_tmp = ISHFT(data_tmp, 18)
38705 393229 : pack_tmp = ISHFT(pack_tmp, -18)
38706 393229 : idata = idata + 1
38707 393229 : data_tmp = full_data(idata)
38708 393229 : data_tmp = ISHFT(data_tmp, 15)
38709 393229 : data_tmp = IAND(data_tmp, mask_left(18))
38710 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38711 393229 : ipack = ipack + 1
38712 393229 : packed_data(ipack) = pack_tmp
38713 393229 : data_tmp = full_data(idata)
38714 393229 : pack_tmp = ISHFT(data_tmp, 33)
38715 393229 : pack_tmp = ISHFT(pack_tmp, -33)
38716 393229 : idata = idata + 1
38717 393229 : data_tmp = full_data(idata)
38718 393229 : data_tmp = ISHFT(data_tmp, 15)
38719 393229 : data_tmp = IAND(data_tmp, mask_left(33))
38720 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38721 393229 : ipack = ipack + 1
38722 393229 : packed_data(ipack) = pack_tmp
38723 393229 : data_tmp = full_data(idata)
38724 393229 : pack_tmp = ISHFT(data_tmp, 48)
38725 393229 : pack_tmp = ISHFT(pack_tmp, -48)
38726 393229 : idata = idata + 1
38727 393229 : data_tmp = full_data(idata)
38728 393229 : data_tmp = ISHFT(data_tmp, 15)
38729 393229 : data_tmp = IAND(data_tmp, mask_left(48))
38730 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38731 393229 : ipack = ipack + 1
38732 393229 : packed_data(ipack) = pack_tmp
38733 393229 : data_tmp = full_data(idata)
38734 393229 : pack_tmp = ISHFT(data_tmp, 63)
38735 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38736 393229 : idata = idata + 1
38737 393229 : data_tmp = full_data(idata)
38738 393229 : data_tmp = ISHFT(data_tmp, 15)
38739 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38740 393229 : pack_tmp = ISHFT(pack_tmp, -14)
38741 393229 : idata = idata + 1
38742 393229 : data_tmp = full_data(idata)
38743 393229 : data_tmp = ISHFT(data_tmp, 15)
38744 393229 : data_tmp = IAND(data_tmp, mask_left(14))
38745 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38746 393229 : ipack = ipack + 1
38747 393229 : packed_data(ipack) = pack_tmp
38748 393229 : data_tmp = full_data(idata)
38749 393229 : pack_tmp = ISHFT(data_tmp, 29)
38750 393229 : pack_tmp = ISHFT(pack_tmp, -29)
38751 393229 : idata = idata + 1
38752 393229 : data_tmp = full_data(idata)
38753 393229 : data_tmp = ISHFT(data_tmp, 15)
38754 393229 : data_tmp = IAND(data_tmp, mask_left(29))
38755 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38756 393229 : ipack = ipack + 1
38757 393229 : packed_data(ipack) = pack_tmp
38758 393229 : data_tmp = full_data(idata)
38759 393229 : pack_tmp = ISHFT(data_tmp, 44)
38760 393229 : pack_tmp = ISHFT(pack_tmp, -44)
38761 393229 : idata = idata + 1
38762 393229 : data_tmp = full_data(idata)
38763 393229 : data_tmp = ISHFT(data_tmp, 15)
38764 393229 : data_tmp = IAND(data_tmp, mask_left(44))
38765 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38766 393229 : ipack = ipack + 1
38767 393229 : packed_data(ipack) = pack_tmp
38768 393229 : data_tmp = full_data(idata)
38769 393229 : pack_tmp = ISHFT(data_tmp, 59)
38770 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38771 393229 : idata = idata + 1
38772 393229 : data_tmp = full_data(idata)
38773 393229 : data_tmp = ISHFT(data_tmp, 15)
38774 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38775 393229 : pack_tmp = ISHFT(pack_tmp, -10)
38776 393229 : idata = idata + 1
38777 393229 : data_tmp = full_data(idata)
38778 393229 : data_tmp = ISHFT(data_tmp, 15)
38779 393229 : data_tmp = IAND(data_tmp, mask_left(10))
38780 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38781 393229 : ipack = ipack + 1
38782 393229 : packed_data(ipack) = pack_tmp
38783 393229 : data_tmp = full_data(idata)
38784 393229 : pack_tmp = ISHFT(data_tmp, 25)
38785 393229 : pack_tmp = ISHFT(pack_tmp, -25)
38786 393229 : idata = idata + 1
38787 393229 : data_tmp = full_data(idata)
38788 393229 : data_tmp = ISHFT(data_tmp, 15)
38789 393229 : data_tmp = IAND(data_tmp, mask_left(25))
38790 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38791 393229 : ipack = ipack + 1
38792 393229 : packed_data(ipack) = pack_tmp
38793 393229 : data_tmp = full_data(idata)
38794 393229 : pack_tmp = ISHFT(data_tmp, 40)
38795 393229 : pack_tmp = ISHFT(pack_tmp, -40)
38796 393229 : idata = idata + 1
38797 393229 : data_tmp = full_data(idata)
38798 393229 : data_tmp = ISHFT(data_tmp, 15)
38799 393229 : data_tmp = IAND(data_tmp, mask_left(40))
38800 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38801 393229 : ipack = ipack + 1
38802 393229 : packed_data(ipack) = pack_tmp
38803 393229 : data_tmp = full_data(idata)
38804 393229 : pack_tmp = ISHFT(data_tmp, 55)
38805 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38806 393229 : idata = idata + 1
38807 393229 : data_tmp = full_data(idata)
38808 393229 : data_tmp = ISHFT(data_tmp, 15)
38809 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38810 393229 : pack_tmp = ISHFT(pack_tmp, -6)
38811 393229 : idata = idata + 1
38812 393229 : data_tmp = full_data(idata)
38813 393229 : data_tmp = ISHFT(data_tmp, 15)
38814 393229 : data_tmp = IAND(data_tmp, mask_left(6))
38815 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38816 393229 : ipack = ipack + 1
38817 393229 : packed_data(ipack) = pack_tmp
38818 393229 : data_tmp = full_data(idata)
38819 393229 : pack_tmp = ISHFT(data_tmp, 21)
38820 393229 : pack_tmp = ISHFT(pack_tmp, -21)
38821 393229 : idata = idata + 1
38822 393229 : data_tmp = full_data(idata)
38823 393229 : data_tmp = ISHFT(data_tmp, 15)
38824 393229 : data_tmp = IAND(data_tmp, mask_left(21))
38825 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38826 393229 : ipack = ipack + 1
38827 393229 : packed_data(ipack) = pack_tmp
38828 393229 : data_tmp = full_data(idata)
38829 393229 : pack_tmp = ISHFT(data_tmp, 36)
38830 393229 : pack_tmp = ISHFT(pack_tmp, -36)
38831 393229 : idata = idata + 1
38832 393229 : data_tmp = full_data(idata)
38833 393229 : data_tmp = ISHFT(data_tmp, 15)
38834 393229 : data_tmp = IAND(data_tmp, mask_left(36))
38835 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38836 393229 : ipack = ipack + 1
38837 393229 : packed_data(ipack) = pack_tmp
38838 393229 : data_tmp = full_data(idata)
38839 393229 : pack_tmp = ISHFT(data_tmp, 51)
38840 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38841 393229 : idata = idata + 1
38842 393229 : data_tmp = full_data(idata)
38843 393229 : data_tmp = ISHFT(data_tmp, 15)
38844 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38845 393229 : pack_tmp = ISHFT(pack_tmp, -2)
38846 393229 : idata = idata + 1
38847 393229 : data_tmp = full_data(idata)
38848 393229 : data_tmp = ISHFT(data_tmp, 15)
38849 393229 : data_tmp = IAND(data_tmp, mask_left(2))
38850 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38851 393229 : ipack = ipack + 1
38852 393229 : packed_data(ipack) = pack_tmp
38853 393229 : data_tmp = full_data(idata)
38854 393229 : pack_tmp = ISHFT(data_tmp, 17)
38855 393229 : pack_tmp = ISHFT(pack_tmp, -17)
38856 393229 : idata = idata + 1
38857 393229 : data_tmp = full_data(idata)
38858 393229 : data_tmp = ISHFT(data_tmp, 15)
38859 393229 : data_tmp = IAND(data_tmp, mask_left(17))
38860 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38861 393229 : ipack = ipack + 1
38862 393229 : packed_data(ipack) = pack_tmp
38863 393229 : data_tmp = full_data(idata)
38864 393229 : pack_tmp = ISHFT(data_tmp, 32)
38865 393229 : pack_tmp = ISHFT(pack_tmp, -32)
38866 393229 : idata = idata + 1
38867 393229 : data_tmp = full_data(idata)
38868 393229 : data_tmp = ISHFT(data_tmp, 15)
38869 393229 : data_tmp = IAND(data_tmp, mask_left(32))
38870 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38871 393229 : ipack = ipack + 1
38872 393229 : packed_data(ipack) = pack_tmp
38873 393229 : data_tmp = full_data(idata)
38874 393229 : pack_tmp = ISHFT(data_tmp, 47)
38875 393229 : pack_tmp = ISHFT(pack_tmp, -47)
38876 393229 : idata = idata + 1
38877 393229 : data_tmp = full_data(idata)
38878 393229 : data_tmp = ISHFT(data_tmp, 15)
38879 393229 : data_tmp = IAND(data_tmp, mask_left(47))
38880 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38881 393229 : ipack = ipack + 1
38882 393229 : packed_data(ipack) = pack_tmp
38883 393229 : data_tmp = full_data(idata)
38884 393229 : pack_tmp = ISHFT(data_tmp, 62)
38885 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38886 393229 : idata = idata + 1
38887 393229 : data_tmp = full_data(idata)
38888 393229 : data_tmp = ISHFT(data_tmp, 15)
38889 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38890 393229 : pack_tmp = ISHFT(pack_tmp, -13)
38891 393229 : idata = idata + 1
38892 393229 : data_tmp = full_data(idata)
38893 393229 : data_tmp = ISHFT(data_tmp, 15)
38894 393229 : data_tmp = IAND(data_tmp, mask_left(13))
38895 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38896 393229 : ipack = ipack + 1
38897 393229 : packed_data(ipack) = pack_tmp
38898 393229 : data_tmp = full_data(idata)
38899 393229 : pack_tmp = ISHFT(data_tmp, 28)
38900 393229 : pack_tmp = ISHFT(pack_tmp, -28)
38901 393229 : idata = idata + 1
38902 393229 : data_tmp = full_data(idata)
38903 393229 : data_tmp = ISHFT(data_tmp, 15)
38904 393229 : data_tmp = IAND(data_tmp, mask_left(28))
38905 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38906 393229 : ipack = ipack + 1
38907 393229 : packed_data(ipack) = pack_tmp
38908 393229 : data_tmp = full_data(idata)
38909 393229 : pack_tmp = ISHFT(data_tmp, 43)
38910 393229 : pack_tmp = ISHFT(pack_tmp, -43)
38911 393229 : idata = idata + 1
38912 393229 : data_tmp = full_data(idata)
38913 393229 : data_tmp = ISHFT(data_tmp, 15)
38914 393229 : data_tmp = IAND(data_tmp, mask_left(43))
38915 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38916 393229 : ipack = ipack + 1
38917 393229 : packed_data(ipack) = pack_tmp
38918 393229 : data_tmp = full_data(idata)
38919 393229 : pack_tmp = ISHFT(data_tmp, 58)
38920 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38921 393229 : idata = idata + 1
38922 393229 : data_tmp = full_data(idata)
38923 393229 : data_tmp = ISHFT(data_tmp, 15)
38924 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38925 393229 : pack_tmp = ISHFT(pack_tmp, -9)
38926 393229 : idata = idata + 1
38927 393229 : data_tmp = full_data(idata)
38928 393229 : data_tmp = ISHFT(data_tmp, 15)
38929 393229 : data_tmp = IAND(data_tmp, mask_left(9))
38930 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38931 393229 : ipack = ipack + 1
38932 393229 : packed_data(ipack) = pack_tmp
38933 393229 : data_tmp = full_data(idata)
38934 393229 : pack_tmp = ISHFT(data_tmp, 24)
38935 393229 : pack_tmp = ISHFT(pack_tmp, -24)
38936 393229 : idata = idata + 1
38937 393229 : data_tmp = full_data(idata)
38938 393229 : data_tmp = ISHFT(data_tmp, 15)
38939 393229 : data_tmp = IAND(data_tmp, mask_left(24))
38940 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38941 393229 : ipack = ipack + 1
38942 393229 : packed_data(ipack) = pack_tmp
38943 393229 : data_tmp = full_data(idata)
38944 393229 : pack_tmp = ISHFT(data_tmp, 39)
38945 393229 : pack_tmp = ISHFT(pack_tmp, -39)
38946 393229 : idata = idata + 1
38947 393229 : data_tmp = full_data(idata)
38948 393229 : data_tmp = ISHFT(data_tmp, 15)
38949 393229 : data_tmp = IAND(data_tmp, mask_left(39))
38950 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38951 393229 : ipack = ipack + 1
38952 393229 : packed_data(ipack) = pack_tmp
38953 393229 : data_tmp = full_data(idata)
38954 393229 : pack_tmp = ISHFT(data_tmp, 54)
38955 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38956 393229 : idata = idata + 1
38957 393229 : data_tmp = full_data(idata)
38958 393229 : data_tmp = ISHFT(data_tmp, 15)
38959 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38960 393229 : pack_tmp = ISHFT(pack_tmp, -5)
38961 393229 : idata = idata + 1
38962 393229 : data_tmp = full_data(idata)
38963 393229 : data_tmp = ISHFT(data_tmp, 15)
38964 393229 : data_tmp = IAND(data_tmp, mask_left(5))
38965 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38966 393229 : ipack = ipack + 1
38967 393229 : packed_data(ipack) = pack_tmp
38968 393229 : data_tmp = full_data(idata)
38969 393229 : pack_tmp = ISHFT(data_tmp, 20)
38970 393229 : pack_tmp = ISHFT(pack_tmp, -20)
38971 393229 : idata = idata + 1
38972 393229 : data_tmp = full_data(idata)
38973 393229 : data_tmp = ISHFT(data_tmp, 15)
38974 393229 : data_tmp = IAND(data_tmp, mask_left(20))
38975 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38976 393229 : ipack = ipack + 1
38977 393229 : packed_data(ipack) = pack_tmp
38978 393229 : data_tmp = full_data(idata)
38979 393229 : pack_tmp = ISHFT(data_tmp, 35)
38980 393229 : pack_tmp = ISHFT(pack_tmp, -35)
38981 393229 : idata = idata + 1
38982 393229 : data_tmp = full_data(idata)
38983 393229 : data_tmp = ISHFT(data_tmp, 15)
38984 393229 : data_tmp = IAND(data_tmp, mask_left(35))
38985 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38986 393229 : ipack = ipack + 1
38987 393229 : packed_data(ipack) = pack_tmp
38988 393229 : data_tmp = full_data(idata)
38989 393229 : pack_tmp = ISHFT(data_tmp, 50)
38990 393229 : pack_tmp = ISHFT(pack_tmp, -49)
38991 393229 : idata = idata + 1
38992 393229 : data_tmp = full_data(idata)
38993 393229 : data_tmp = ISHFT(data_tmp, 15)
38994 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
38995 393229 : pack_tmp = ISHFT(pack_tmp, -1)
38996 393229 : idata = idata + 1
38997 393229 : data_tmp = full_data(idata)
38998 393229 : data_tmp = ISHFT(data_tmp, 15)
38999 393229 : data_tmp = IAND(data_tmp, mask_left(1))
39000 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39001 393229 : ipack = ipack + 1
39002 393229 : packed_data(ipack) = pack_tmp
39003 393229 : data_tmp = full_data(idata)
39004 393229 : pack_tmp = ISHFT(data_tmp, 16)
39005 393229 : pack_tmp = ISHFT(pack_tmp, -16)
39006 393229 : idata = idata + 1
39007 393229 : data_tmp = full_data(idata)
39008 393229 : data_tmp = ISHFT(data_tmp, 15)
39009 393229 : data_tmp = IAND(data_tmp, mask_left(16))
39010 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39011 393229 : ipack = ipack + 1
39012 393229 : packed_data(ipack) = pack_tmp
39013 393229 : data_tmp = full_data(idata)
39014 393229 : pack_tmp = ISHFT(data_tmp, 31)
39015 393229 : pack_tmp = ISHFT(pack_tmp, -31)
39016 393229 : idata = idata + 1
39017 393229 : data_tmp = full_data(idata)
39018 393229 : data_tmp = ISHFT(data_tmp, 15)
39019 393229 : data_tmp = IAND(data_tmp, mask_left(31))
39020 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39021 393229 : ipack = ipack + 1
39022 393229 : packed_data(ipack) = pack_tmp
39023 393229 : data_tmp = full_data(idata)
39024 393229 : pack_tmp = ISHFT(data_tmp, 46)
39025 393229 : pack_tmp = ISHFT(pack_tmp, -46)
39026 393229 : idata = idata + 1
39027 393229 : data_tmp = full_data(idata)
39028 393229 : data_tmp = ISHFT(data_tmp, 15)
39029 393229 : data_tmp = IAND(data_tmp, mask_left(46))
39030 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39031 393229 : ipack = ipack + 1
39032 393229 : packed_data(ipack) = pack_tmp
39033 393229 : data_tmp = full_data(idata)
39034 393229 : pack_tmp = ISHFT(data_tmp, 61)
39035 393229 : pack_tmp = ISHFT(pack_tmp, -49)
39036 393229 : idata = idata + 1
39037 393229 : data_tmp = full_data(idata)
39038 393229 : data_tmp = ISHFT(data_tmp, 15)
39039 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39040 393229 : pack_tmp = ISHFT(pack_tmp, -12)
39041 393229 : idata = idata + 1
39042 393229 : data_tmp = full_data(idata)
39043 393229 : data_tmp = ISHFT(data_tmp, 15)
39044 393229 : data_tmp = IAND(data_tmp, mask_left(12))
39045 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39046 393229 : ipack = ipack + 1
39047 393229 : packed_data(ipack) = pack_tmp
39048 393229 : data_tmp = full_data(idata)
39049 393229 : pack_tmp = ISHFT(data_tmp, 27)
39050 393229 : pack_tmp = ISHFT(pack_tmp, -27)
39051 393229 : idata = idata + 1
39052 393229 : data_tmp = full_data(idata)
39053 393229 : data_tmp = ISHFT(data_tmp, 15)
39054 393229 : data_tmp = IAND(data_tmp, mask_left(27))
39055 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39056 393229 : ipack = ipack + 1
39057 393229 : packed_data(ipack) = pack_tmp
39058 393229 : data_tmp = full_data(idata)
39059 393229 : pack_tmp = ISHFT(data_tmp, 42)
39060 393229 : pack_tmp = ISHFT(pack_tmp, -42)
39061 393229 : idata = idata + 1
39062 393229 : data_tmp = full_data(idata)
39063 393229 : data_tmp = ISHFT(data_tmp, 15)
39064 393229 : data_tmp = IAND(data_tmp, mask_left(42))
39065 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39066 393229 : ipack = ipack + 1
39067 393229 : packed_data(ipack) = pack_tmp
39068 393229 : data_tmp = full_data(idata)
39069 393229 : pack_tmp = ISHFT(data_tmp, 57)
39070 393229 : pack_tmp = ISHFT(pack_tmp, -49)
39071 393229 : idata = idata + 1
39072 393229 : data_tmp = full_data(idata)
39073 393229 : data_tmp = ISHFT(data_tmp, 15)
39074 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39075 393229 : pack_tmp = ISHFT(pack_tmp, -8)
39076 393229 : idata = idata + 1
39077 393229 : data_tmp = full_data(idata)
39078 393229 : data_tmp = ISHFT(data_tmp, 15)
39079 393229 : data_tmp = IAND(data_tmp, mask_left(8))
39080 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39081 393229 : ipack = ipack + 1
39082 393229 : packed_data(ipack) = pack_tmp
39083 393229 : data_tmp = full_data(idata)
39084 393229 : pack_tmp = ISHFT(data_tmp, 23)
39085 393229 : pack_tmp = ISHFT(pack_tmp, -23)
39086 393229 : idata = idata + 1
39087 393229 : data_tmp = full_data(idata)
39088 393229 : data_tmp = ISHFT(data_tmp, 15)
39089 393229 : data_tmp = IAND(data_tmp, mask_left(23))
39090 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39091 393229 : ipack = ipack + 1
39092 393229 : packed_data(ipack) = pack_tmp
39093 393229 : data_tmp = full_data(idata)
39094 393229 : pack_tmp = ISHFT(data_tmp, 38)
39095 393229 : pack_tmp = ISHFT(pack_tmp, -38)
39096 393229 : idata = idata + 1
39097 393229 : data_tmp = full_data(idata)
39098 393229 : data_tmp = ISHFT(data_tmp, 15)
39099 393229 : data_tmp = IAND(data_tmp, mask_left(38))
39100 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39101 393229 : ipack = ipack + 1
39102 393229 : packed_data(ipack) = pack_tmp
39103 393229 : data_tmp = full_data(idata)
39104 393229 : pack_tmp = ISHFT(data_tmp, 53)
39105 393229 : pack_tmp = ISHFT(pack_tmp, -49)
39106 393229 : idata = idata + 1
39107 393229 : data_tmp = full_data(idata)
39108 393229 : data_tmp = ISHFT(data_tmp, 15)
39109 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39110 393229 : pack_tmp = ISHFT(pack_tmp, -4)
39111 393229 : idata = idata + 1
39112 393229 : data_tmp = full_data(idata)
39113 393229 : data_tmp = ISHFT(data_tmp, 15)
39114 393229 : data_tmp = IAND(data_tmp, mask_left(4))
39115 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39116 393229 : ipack = ipack + 1
39117 393229 : packed_data(ipack) = pack_tmp
39118 393229 : data_tmp = full_data(idata)
39119 393229 : pack_tmp = ISHFT(data_tmp, 19)
39120 393229 : pack_tmp = ISHFT(pack_tmp, -19)
39121 393229 : idata = idata + 1
39122 393229 : data_tmp = full_data(idata)
39123 393229 : data_tmp = ISHFT(data_tmp, 15)
39124 393229 : data_tmp = IAND(data_tmp, mask_left(19))
39125 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39126 393229 : ipack = ipack + 1
39127 393229 : packed_data(ipack) = pack_tmp
39128 393229 : data_tmp = full_data(idata)
39129 393229 : pack_tmp = ISHFT(data_tmp, 34)
39130 393229 : pack_tmp = ISHFT(pack_tmp, -34)
39131 393229 : idata = idata + 1
39132 393229 : data_tmp = full_data(idata)
39133 393229 : data_tmp = ISHFT(data_tmp, 15)
39134 393229 : data_tmp = IAND(data_tmp, mask_left(34))
39135 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39136 393229 : ipack = ipack + 1
39137 393229 : packed_data(ipack) = pack_tmp
39138 393229 : data_tmp = full_data(idata)
39139 393229 : pack_tmp = ISHFT(data_tmp, 49)
39140 393229 : pack_tmp = ISHFT(pack_tmp, -49)
39141 393229 : idata = idata + 1
39142 393229 : data_tmp = full_data(idata)
39143 393229 : data_tmp = ISHFT(data_tmp, 15)
39144 393229 : pack_tmp = IOR(pack_tmp, data_tmp)
39145 : pack_tmp = ISHFT(pack_tmp, 0)
39146 393229 : pack_tmp = ISHFT(pack_tmp, 0)
39147 393229 : ipack = ipack + 1
39148 393233 : packed_data(ipack) = pack_tmp
39149 : END DO
39150 25532 : 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 25532 : END SUBROUTINE ints2bits_49
39154 :
39155 : ! **************************************************************************************************
39156 : !> \brief ...
39157 : !> \param Ndata ...
39158 : !> \param packed_data ...
39159 : !> \param full_data ...
39160 : ! **************************************************************************************************
39161 101717 : 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 101717 : ipack = 0
39172 101717 : idata = 0
39173 101717 : pack_tmp = 0
39174 101717 : Ndata_rep = (Ndata/64)*64
39175 101717 : DO kdata = 1, Ndata_rep, 64
39176 1575537 : idata = idata + 1
39177 1575537 : data_tmp = ISHFT(pack_tmp, 49)
39178 1575537 : ipack = ipack + 1
39179 1575537 : pack_tmp = packed_data(ipack)
39180 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
39181 1575537 : pack_tmp = ISHFT(pack_tmp, -49)
39182 1575537 : idata = idata + 1
39183 1575537 : data_tmp = ISHFT(pack_tmp, 34)
39184 1575537 : ipack = ipack + 1
39185 1575537 : pack_tmp = packed_data(ipack)
39186 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
39187 1575537 : pack_tmp = ISHFT(pack_tmp, -34)
39188 1575537 : idata = idata + 1
39189 1575537 : data_tmp = ISHFT(pack_tmp, 19)
39190 1575537 : ipack = ipack + 1
39191 1575537 : pack_tmp = packed_data(ipack)
39192 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
39193 1575537 : pack_tmp = ISHFT(pack_tmp, -19)
39194 1575537 : idata = idata + 1
39195 1575537 : data_tmp = ISHFT(pack_tmp, 4)
39196 1575537 : ipack = ipack + 1
39197 1575537 : pack_tmp = packed_data(ipack)
39198 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
39199 1575537 : pack_tmp = ISHFT(pack_tmp, -4)
39200 1575537 : idata = idata + 1
39201 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39202 1575537 : full_data(idata) = data_tmp
39203 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39204 1575537 : idata = idata + 1
39205 1575537 : data_tmp = ISHFT(pack_tmp, 38)
39206 1575537 : ipack = ipack + 1
39207 1575537 : pack_tmp = packed_data(ipack)
39208 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
39209 1575537 : pack_tmp = ISHFT(pack_tmp, -38)
39210 1575537 : idata = idata + 1
39211 1575537 : data_tmp = ISHFT(pack_tmp, 23)
39212 1575537 : ipack = ipack + 1
39213 1575537 : pack_tmp = packed_data(ipack)
39214 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
39215 1575537 : pack_tmp = ISHFT(pack_tmp, -23)
39216 1575537 : idata = idata + 1
39217 1575537 : data_tmp = ISHFT(pack_tmp, 8)
39218 1575537 : ipack = ipack + 1
39219 1575537 : pack_tmp = packed_data(ipack)
39220 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
39221 1575537 : pack_tmp = ISHFT(pack_tmp, -8)
39222 1575537 : idata = idata + 1
39223 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39224 1575537 : full_data(idata) = data_tmp
39225 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39226 1575537 : idata = idata + 1
39227 1575537 : data_tmp = ISHFT(pack_tmp, 42)
39228 1575537 : ipack = ipack + 1
39229 1575537 : pack_tmp = packed_data(ipack)
39230 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
39231 1575537 : pack_tmp = ISHFT(pack_tmp, -42)
39232 1575537 : idata = idata + 1
39233 1575537 : data_tmp = ISHFT(pack_tmp, 27)
39234 1575537 : ipack = ipack + 1
39235 1575537 : pack_tmp = packed_data(ipack)
39236 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
39237 1575537 : pack_tmp = ISHFT(pack_tmp, -27)
39238 1575537 : idata = idata + 1
39239 1575537 : data_tmp = ISHFT(pack_tmp, 12)
39240 1575537 : ipack = ipack + 1
39241 1575537 : pack_tmp = packed_data(ipack)
39242 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
39243 1575537 : pack_tmp = ISHFT(pack_tmp, -12)
39244 1575537 : idata = idata + 1
39245 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39246 1575537 : full_data(idata) = data_tmp
39247 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39248 1575537 : idata = idata + 1
39249 1575537 : data_tmp = ISHFT(pack_tmp, 46)
39250 1575537 : ipack = ipack + 1
39251 1575537 : pack_tmp = packed_data(ipack)
39252 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
39253 1575537 : pack_tmp = ISHFT(pack_tmp, -46)
39254 1575537 : idata = idata + 1
39255 1575537 : data_tmp = ISHFT(pack_tmp, 31)
39256 1575537 : ipack = ipack + 1
39257 1575537 : pack_tmp = packed_data(ipack)
39258 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
39259 1575537 : pack_tmp = ISHFT(pack_tmp, -31)
39260 1575537 : idata = idata + 1
39261 1575537 : data_tmp = ISHFT(pack_tmp, 16)
39262 1575537 : ipack = ipack + 1
39263 1575537 : pack_tmp = packed_data(ipack)
39264 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
39265 1575537 : pack_tmp = ISHFT(pack_tmp, -16)
39266 1575537 : idata = idata + 1
39267 1575537 : data_tmp = ISHFT(pack_tmp, 1)
39268 1575537 : ipack = ipack + 1
39269 1575537 : pack_tmp = packed_data(ipack)
39270 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
39271 1575537 : pack_tmp = ISHFT(pack_tmp, -1)
39272 1575537 : idata = idata + 1
39273 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39274 1575537 : full_data(idata) = data_tmp
39275 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39276 1575537 : idata = idata + 1
39277 1575537 : data_tmp = ISHFT(pack_tmp, 35)
39278 1575537 : ipack = ipack + 1
39279 1575537 : pack_tmp = packed_data(ipack)
39280 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
39281 1575537 : pack_tmp = ISHFT(pack_tmp, -35)
39282 1575537 : idata = idata + 1
39283 1575537 : data_tmp = ISHFT(pack_tmp, 20)
39284 1575537 : ipack = ipack + 1
39285 1575537 : pack_tmp = packed_data(ipack)
39286 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
39287 1575537 : pack_tmp = ISHFT(pack_tmp, -20)
39288 1575537 : idata = idata + 1
39289 1575537 : data_tmp = ISHFT(pack_tmp, 5)
39290 1575537 : ipack = ipack + 1
39291 1575537 : pack_tmp = packed_data(ipack)
39292 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
39293 1575537 : pack_tmp = ISHFT(pack_tmp, -5)
39294 1575537 : idata = idata + 1
39295 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39296 1575537 : full_data(idata) = data_tmp
39297 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39298 1575537 : idata = idata + 1
39299 1575537 : data_tmp = ISHFT(pack_tmp, 39)
39300 1575537 : ipack = ipack + 1
39301 1575537 : pack_tmp = packed_data(ipack)
39302 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
39303 1575537 : pack_tmp = ISHFT(pack_tmp, -39)
39304 1575537 : idata = idata + 1
39305 1575537 : data_tmp = ISHFT(pack_tmp, 24)
39306 1575537 : ipack = ipack + 1
39307 1575537 : pack_tmp = packed_data(ipack)
39308 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
39309 1575537 : pack_tmp = ISHFT(pack_tmp, -24)
39310 1575537 : idata = idata + 1
39311 1575537 : data_tmp = ISHFT(pack_tmp, 9)
39312 1575537 : ipack = ipack + 1
39313 1575537 : pack_tmp = packed_data(ipack)
39314 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
39315 1575537 : pack_tmp = ISHFT(pack_tmp, -9)
39316 1575537 : idata = idata + 1
39317 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39318 1575537 : full_data(idata) = data_tmp
39319 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39320 1575537 : idata = idata + 1
39321 1575537 : data_tmp = ISHFT(pack_tmp, 43)
39322 1575537 : ipack = ipack + 1
39323 1575537 : pack_tmp = packed_data(ipack)
39324 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
39325 1575537 : pack_tmp = ISHFT(pack_tmp, -43)
39326 1575537 : idata = idata + 1
39327 1575537 : data_tmp = ISHFT(pack_tmp, 28)
39328 1575537 : ipack = ipack + 1
39329 1575537 : pack_tmp = packed_data(ipack)
39330 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
39331 1575537 : pack_tmp = ISHFT(pack_tmp, -28)
39332 1575537 : idata = idata + 1
39333 1575537 : data_tmp = ISHFT(pack_tmp, 13)
39334 1575537 : ipack = ipack + 1
39335 1575537 : pack_tmp = packed_data(ipack)
39336 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
39337 1575537 : pack_tmp = ISHFT(pack_tmp, -13)
39338 1575537 : idata = idata + 1
39339 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39340 1575537 : full_data(idata) = data_tmp
39341 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39342 1575537 : idata = idata + 1
39343 1575537 : data_tmp = ISHFT(pack_tmp, 47)
39344 1575537 : ipack = ipack + 1
39345 1575537 : pack_tmp = packed_data(ipack)
39346 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
39347 1575537 : pack_tmp = ISHFT(pack_tmp, -47)
39348 1575537 : idata = idata + 1
39349 1575537 : data_tmp = ISHFT(pack_tmp, 32)
39350 1575537 : ipack = ipack + 1
39351 1575537 : pack_tmp = packed_data(ipack)
39352 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
39353 1575537 : pack_tmp = ISHFT(pack_tmp, -32)
39354 1575537 : idata = idata + 1
39355 1575537 : data_tmp = ISHFT(pack_tmp, 17)
39356 1575537 : ipack = ipack + 1
39357 1575537 : pack_tmp = packed_data(ipack)
39358 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
39359 1575537 : pack_tmp = ISHFT(pack_tmp, -17)
39360 1575537 : idata = idata + 1
39361 1575537 : data_tmp = ISHFT(pack_tmp, 2)
39362 1575537 : ipack = ipack + 1
39363 1575537 : pack_tmp = packed_data(ipack)
39364 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
39365 1575537 : pack_tmp = ISHFT(pack_tmp, -2)
39366 1575537 : idata = idata + 1
39367 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39368 1575537 : full_data(idata) = data_tmp
39369 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39370 1575537 : idata = idata + 1
39371 1575537 : data_tmp = ISHFT(pack_tmp, 36)
39372 1575537 : ipack = ipack + 1
39373 1575537 : pack_tmp = packed_data(ipack)
39374 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
39375 1575537 : pack_tmp = ISHFT(pack_tmp, -36)
39376 1575537 : idata = idata + 1
39377 1575537 : data_tmp = ISHFT(pack_tmp, 21)
39378 1575537 : ipack = ipack + 1
39379 1575537 : pack_tmp = packed_data(ipack)
39380 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
39381 1575537 : pack_tmp = ISHFT(pack_tmp, -21)
39382 1575537 : idata = idata + 1
39383 1575537 : data_tmp = ISHFT(pack_tmp, 6)
39384 1575537 : ipack = ipack + 1
39385 1575537 : pack_tmp = packed_data(ipack)
39386 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
39387 1575537 : pack_tmp = ISHFT(pack_tmp, -6)
39388 1575537 : idata = idata + 1
39389 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39390 1575537 : full_data(idata) = data_tmp
39391 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39392 1575537 : idata = idata + 1
39393 1575537 : data_tmp = ISHFT(pack_tmp, 40)
39394 1575537 : ipack = ipack + 1
39395 1575537 : pack_tmp = packed_data(ipack)
39396 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
39397 1575537 : pack_tmp = ISHFT(pack_tmp, -40)
39398 1575537 : idata = idata + 1
39399 1575537 : data_tmp = ISHFT(pack_tmp, 25)
39400 1575537 : ipack = ipack + 1
39401 1575537 : pack_tmp = packed_data(ipack)
39402 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
39403 1575537 : pack_tmp = ISHFT(pack_tmp, -25)
39404 1575537 : idata = idata + 1
39405 1575537 : data_tmp = ISHFT(pack_tmp, 10)
39406 1575537 : ipack = ipack + 1
39407 1575537 : pack_tmp = packed_data(ipack)
39408 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
39409 1575537 : pack_tmp = ISHFT(pack_tmp, -10)
39410 1575537 : idata = idata + 1
39411 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39412 1575537 : full_data(idata) = data_tmp
39413 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39414 1575537 : idata = idata + 1
39415 1575537 : data_tmp = ISHFT(pack_tmp, 44)
39416 1575537 : ipack = ipack + 1
39417 1575537 : pack_tmp = packed_data(ipack)
39418 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
39419 1575537 : pack_tmp = ISHFT(pack_tmp, -44)
39420 1575537 : idata = idata + 1
39421 1575537 : data_tmp = ISHFT(pack_tmp, 29)
39422 1575537 : ipack = ipack + 1
39423 1575537 : pack_tmp = packed_data(ipack)
39424 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
39425 1575537 : pack_tmp = ISHFT(pack_tmp, -29)
39426 1575537 : idata = idata + 1
39427 1575537 : data_tmp = ISHFT(pack_tmp, 14)
39428 1575537 : ipack = ipack + 1
39429 1575537 : pack_tmp = packed_data(ipack)
39430 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
39431 1575537 : pack_tmp = ISHFT(pack_tmp, -14)
39432 1575537 : idata = idata + 1
39433 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39434 1575537 : full_data(idata) = data_tmp
39435 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39436 1575537 : idata = idata + 1
39437 1575537 : data_tmp = ISHFT(pack_tmp, 48)
39438 1575537 : ipack = ipack + 1
39439 1575537 : pack_tmp = packed_data(ipack)
39440 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
39441 1575537 : pack_tmp = ISHFT(pack_tmp, -48)
39442 1575537 : idata = idata + 1
39443 1575537 : data_tmp = ISHFT(pack_tmp, 33)
39444 1575537 : ipack = ipack + 1
39445 1575537 : pack_tmp = packed_data(ipack)
39446 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
39447 1575537 : pack_tmp = ISHFT(pack_tmp, -33)
39448 1575537 : idata = idata + 1
39449 1575537 : data_tmp = ISHFT(pack_tmp, 18)
39450 1575537 : ipack = ipack + 1
39451 1575537 : pack_tmp = packed_data(ipack)
39452 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
39453 1575537 : pack_tmp = ISHFT(pack_tmp, -18)
39454 1575537 : idata = idata + 1
39455 1575537 : data_tmp = ISHFT(pack_tmp, 3)
39456 1575537 : ipack = ipack + 1
39457 1575537 : pack_tmp = packed_data(ipack)
39458 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
39459 1575537 : pack_tmp = ISHFT(pack_tmp, -3)
39460 1575537 : idata = idata + 1
39461 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39462 1575537 : full_data(idata) = data_tmp
39463 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39464 1575537 : idata = idata + 1
39465 1575537 : data_tmp = ISHFT(pack_tmp, 37)
39466 1575537 : ipack = ipack + 1
39467 1575537 : pack_tmp = packed_data(ipack)
39468 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
39469 1575537 : pack_tmp = ISHFT(pack_tmp, -37)
39470 1575537 : idata = idata + 1
39471 1575537 : data_tmp = ISHFT(pack_tmp, 22)
39472 1575537 : ipack = ipack + 1
39473 1575537 : pack_tmp = packed_data(ipack)
39474 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
39475 1575537 : pack_tmp = ISHFT(pack_tmp, -22)
39476 1575537 : idata = idata + 1
39477 1575537 : data_tmp = ISHFT(pack_tmp, 7)
39478 1575537 : ipack = ipack + 1
39479 1575537 : pack_tmp = packed_data(ipack)
39480 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
39481 1575537 : pack_tmp = ISHFT(pack_tmp, -7)
39482 1575537 : idata = idata + 1
39483 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39484 1575537 : full_data(idata) = data_tmp
39485 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39486 1575537 : idata = idata + 1
39487 1575537 : data_tmp = ISHFT(pack_tmp, 41)
39488 1575537 : ipack = ipack + 1
39489 1575537 : pack_tmp = packed_data(ipack)
39490 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
39491 1575537 : pack_tmp = ISHFT(pack_tmp, -41)
39492 1575537 : idata = idata + 1
39493 1575537 : data_tmp = ISHFT(pack_tmp, 26)
39494 1575537 : ipack = ipack + 1
39495 1575537 : pack_tmp = packed_data(ipack)
39496 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
39497 1575537 : pack_tmp = ISHFT(pack_tmp, -26)
39498 1575537 : idata = idata + 1
39499 1575537 : data_tmp = ISHFT(pack_tmp, 11)
39500 1575537 : ipack = ipack + 1
39501 1575537 : pack_tmp = packed_data(ipack)
39502 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
39503 1575537 : pack_tmp = ISHFT(pack_tmp, -11)
39504 1575537 : idata = idata + 1
39505 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39506 1575537 : full_data(idata) = data_tmp
39507 1575537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39508 1575537 : idata = idata + 1
39509 1575537 : data_tmp = ISHFT(pack_tmp, 45)
39510 1575537 : ipack = ipack + 1
39511 1575537 : pack_tmp = packed_data(ipack)
39512 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
39513 1575537 : pack_tmp = ISHFT(pack_tmp, -45)
39514 1575537 : idata = idata + 1
39515 1575537 : data_tmp = ISHFT(pack_tmp, 30)
39516 1575537 : ipack = ipack + 1
39517 1575537 : pack_tmp = packed_data(ipack)
39518 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
39519 1575537 : pack_tmp = ISHFT(pack_tmp, -30)
39520 1575537 : idata = idata + 1
39521 1575537 : data_tmp = ISHFT(pack_tmp, 15)
39522 1575537 : ipack = ipack + 1
39523 1575537 : pack_tmp = packed_data(ipack)
39524 1575537 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
39525 1575537 : pack_tmp = ISHFT(pack_tmp, -15)
39526 1575537 : idata = idata + 1
39527 1575537 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39528 1575537 : full_data(idata) = data_tmp
39529 1575553 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39530 : END DO
39531 101717 : 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 101717 : END SUBROUTINE bits2ints_49
39535 :
39536 : ! **************************************************************************************************
39537 : !> \brief ...
39538 : !> \param Ndata ...
39539 : !> \param packed_data ...
39540 : !> \param full_data ...
39541 : ! **************************************************************************************************
39542 25110 : 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 25110 : idata = 0
39553 25110 : ipack = 0
39554 25110 : Ndata_rep = (Ndata/64)*64
39555 25110 : DO kdata = 1, Ndata_rep, 64
39556 389775 : pack_tmp = 0
39557 389775 : idata = idata + 1
39558 389775 : data_tmp = full_data(idata)
39559 389775 : data_tmp = ISHFT(data_tmp, 14)
39560 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39561 389775 : pack_tmp = ISHFT(pack_tmp, -14)
39562 389775 : idata = idata + 1
39563 389775 : data_tmp = full_data(idata)
39564 389775 : data_tmp = ISHFT(data_tmp, 14)
39565 389775 : data_tmp = IAND(data_tmp, mask_left(14))
39566 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39567 389775 : ipack = ipack + 1
39568 389775 : packed_data(ipack) = pack_tmp
39569 389775 : data_tmp = full_data(idata)
39570 389775 : pack_tmp = ISHFT(data_tmp, 28)
39571 389775 : pack_tmp = ISHFT(pack_tmp, -28)
39572 389775 : idata = idata + 1
39573 389775 : data_tmp = full_data(idata)
39574 389775 : data_tmp = ISHFT(data_tmp, 14)
39575 389775 : data_tmp = IAND(data_tmp, mask_left(28))
39576 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39577 389775 : ipack = ipack + 1
39578 389775 : packed_data(ipack) = pack_tmp
39579 389775 : data_tmp = full_data(idata)
39580 389775 : pack_tmp = ISHFT(data_tmp, 42)
39581 389775 : pack_tmp = ISHFT(pack_tmp, -42)
39582 389775 : idata = idata + 1
39583 389775 : data_tmp = full_data(idata)
39584 389775 : data_tmp = ISHFT(data_tmp, 14)
39585 389775 : data_tmp = IAND(data_tmp, mask_left(42))
39586 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39587 389775 : ipack = ipack + 1
39588 389775 : packed_data(ipack) = pack_tmp
39589 389775 : data_tmp = full_data(idata)
39590 389775 : pack_tmp = ISHFT(data_tmp, 56)
39591 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39592 389775 : idata = idata + 1
39593 389775 : data_tmp = full_data(idata)
39594 389775 : data_tmp = ISHFT(data_tmp, 14)
39595 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39596 389775 : pack_tmp = ISHFT(pack_tmp, -6)
39597 389775 : idata = idata + 1
39598 389775 : data_tmp = full_data(idata)
39599 389775 : data_tmp = ISHFT(data_tmp, 14)
39600 389775 : data_tmp = IAND(data_tmp, mask_left(6))
39601 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39602 389775 : ipack = ipack + 1
39603 389775 : packed_data(ipack) = pack_tmp
39604 389775 : data_tmp = full_data(idata)
39605 389775 : pack_tmp = ISHFT(data_tmp, 20)
39606 389775 : pack_tmp = ISHFT(pack_tmp, -20)
39607 389775 : idata = idata + 1
39608 389775 : data_tmp = full_data(idata)
39609 389775 : data_tmp = ISHFT(data_tmp, 14)
39610 389775 : data_tmp = IAND(data_tmp, mask_left(20))
39611 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39612 389775 : ipack = ipack + 1
39613 389775 : packed_data(ipack) = pack_tmp
39614 389775 : data_tmp = full_data(idata)
39615 389775 : pack_tmp = ISHFT(data_tmp, 34)
39616 389775 : pack_tmp = ISHFT(pack_tmp, -34)
39617 389775 : idata = idata + 1
39618 389775 : data_tmp = full_data(idata)
39619 389775 : data_tmp = ISHFT(data_tmp, 14)
39620 389775 : data_tmp = IAND(data_tmp, mask_left(34))
39621 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39622 389775 : ipack = ipack + 1
39623 389775 : packed_data(ipack) = pack_tmp
39624 389775 : data_tmp = full_data(idata)
39625 389775 : pack_tmp = ISHFT(data_tmp, 48)
39626 389775 : pack_tmp = ISHFT(pack_tmp, -48)
39627 389775 : idata = idata + 1
39628 389775 : data_tmp = full_data(idata)
39629 389775 : data_tmp = ISHFT(data_tmp, 14)
39630 389775 : data_tmp = IAND(data_tmp, mask_left(48))
39631 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39632 389775 : ipack = ipack + 1
39633 389775 : packed_data(ipack) = pack_tmp
39634 389775 : data_tmp = full_data(idata)
39635 389775 : pack_tmp = ISHFT(data_tmp, 62)
39636 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39637 389775 : idata = idata + 1
39638 389775 : data_tmp = full_data(idata)
39639 389775 : data_tmp = ISHFT(data_tmp, 14)
39640 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39641 389775 : pack_tmp = ISHFT(pack_tmp, -12)
39642 389775 : idata = idata + 1
39643 389775 : data_tmp = full_data(idata)
39644 389775 : data_tmp = ISHFT(data_tmp, 14)
39645 389775 : data_tmp = IAND(data_tmp, mask_left(12))
39646 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39647 389775 : ipack = ipack + 1
39648 389775 : packed_data(ipack) = pack_tmp
39649 389775 : data_tmp = full_data(idata)
39650 389775 : pack_tmp = ISHFT(data_tmp, 26)
39651 389775 : pack_tmp = ISHFT(pack_tmp, -26)
39652 389775 : idata = idata + 1
39653 389775 : data_tmp = full_data(idata)
39654 389775 : data_tmp = ISHFT(data_tmp, 14)
39655 389775 : data_tmp = IAND(data_tmp, mask_left(26))
39656 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39657 389775 : ipack = ipack + 1
39658 389775 : packed_data(ipack) = pack_tmp
39659 389775 : data_tmp = full_data(idata)
39660 389775 : pack_tmp = ISHFT(data_tmp, 40)
39661 389775 : pack_tmp = ISHFT(pack_tmp, -40)
39662 389775 : idata = idata + 1
39663 389775 : data_tmp = full_data(idata)
39664 389775 : data_tmp = ISHFT(data_tmp, 14)
39665 389775 : data_tmp = IAND(data_tmp, mask_left(40))
39666 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39667 389775 : ipack = ipack + 1
39668 389775 : packed_data(ipack) = pack_tmp
39669 389775 : data_tmp = full_data(idata)
39670 389775 : pack_tmp = ISHFT(data_tmp, 54)
39671 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39672 389775 : idata = idata + 1
39673 389775 : data_tmp = full_data(idata)
39674 389775 : data_tmp = ISHFT(data_tmp, 14)
39675 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39676 389775 : pack_tmp = ISHFT(pack_tmp, -4)
39677 389775 : idata = idata + 1
39678 389775 : data_tmp = full_data(idata)
39679 389775 : data_tmp = ISHFT(data_tmp, 14)
39680 389775 : data_tmp = IAND(data_tmp, mask_left(4))
39681 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39682 389775 : ipack = ipack + 1
39683 389775 : packed_data(ipack) = pack_tmp
39684 389775 : data_tmp = full_data(idata)
39685 389775 : pack_tmp = ISHFT(data_tmp, 18)
39686 389775 : pack_tmp = ISHFT(pack_tmp, -18)
39687 389775 : idata = idata + 1
39688 389775 : data_tmp = full_data(idata)
39689 389775 : data_tmp = ISHFT(data_tmp, 14)
39690 389775 : data_tmp = IAND(data_tmp, mask_left(18))
39691 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39692 389775 : ipack = ipack + 1
39693 389775 : packed_data(ipack) = pack_tmp
39694 389775 : data_tmp = full_data(idata)
39695 389775 : pack_tmp = ISHFT(data_tmp, 32)
39696 389775 : pack_tmp = ISHFT(pack_tmp, -32)
39697 389775 : idata = idata + 1
39698 389775 : data_tmp = full_data(idata)
39699 389775 : data_tmp = ISHFT(data_tmp, 14)
39700 389775 : data_tmp = IAND(data_tmp, mask_left(32))
39701 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39702 389775 : ipack = ipack + 1
39703 389775 : packed_data(ipack) = pack_tmp
39704 389775 : data_tmp = full_data(idata)
39705 389775 : pack_tmp = ISHFT(data_tmp, 46)
39706 389775 : pack_tmp = ISHFT(pack_tmp, -46)
39707 389775 : idata = idata + 1
39708 389775 : data_tmp = full_data(idata)
39709 389775 : data_tmp = ISHFT(data_tmp, 14)
39710 389775 : data_tmp = IAND(data_tmp, mask_left(46))
39711 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39712 389775 : ipack = ipack + 1
39713 389775 : packed_data(ipack) = pack_tmp
39714 389775 : data_tmp = full_data(idata)
39715 389775 : pack_tmp = ISHFT(data_tmp, 60)
39716 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39717 389775 : idata = idata + 1
39718 389775 : data_tmp = full_data(idata)
39719 389775 : data_tmp = ISHFT(data_tmp, 14)
39720 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39721 389775 : pack_tmp = ISHFT(pack_tmp, -10)
39722 389775 : idata = idata + 1
39723 389775 : data_tmp = full_data(idata)
39724 389775 : data_tmp = ISHFT(data_tmp, 14)
39725 389775 : data_tmp = IAND(data_tmp, mask_left(10))
39726 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39727 389775 : ipack = ipack + 1
39728 389775 : packed_data(ipack) = pack_tmp
39729 389775 : data_tmp = full_data(idata)
39730 389775 : pack_tmp = ISHFT(data_tmp, 24)
39731 389775 : pack_tmp = ISHFT(pack_tmp, -24)
39732 389775 : idata = idata + 1
39733 389775 : data_tmp = full_data(idata)
39734 389775 : data_tmp = ISHFT(data_tmp, 14)
39735 389775 : data_tmp = IAND(data_tmp, mask_left(24))
39736 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39737 389775 : ipack = ipack + 1
39738 389775 : packed_data(ipack) = pack_tmp
39739 389775 : data_tmp = full_data(idata)
39740 389775 : pack_tmp = ISHFT(data_tmp, 38)
39741 389775 : pack_tmp = ISHFT(pack_tmp, -38)
39742 389775 : idata = idata + 1
39743 389775 : data_tmp = full_data(idata)
39744 389775 : data_tmp = ISHFT(data_tmp, 14)
39745 389775 : data_tmp = IAND(data_tmp, mask_left(38))
39746 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39747 389775 : ipack = ipack + 1
39748 389775 : packed_data(ipack) = pack_tmp
39749 389775 : data_tmp = full_data(idata)
39750 389775 : pack_tmp = ISHFT(data_tmp, 52)
39751 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39752 389775 : idata = idata + 1
39753 389775 : data_tmp = full_data(idata)
39754 389775 : data_tmp = ISHFT(data_tmp, 14)
39755 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39756 389775 : pack_tmp = ISHFT(pack_tmp, -2)
39757 389775 : idata = idata + 1
39758 389775 : data_tmp = full_data(idata)
39759 389775 : data_tmp = ISHFT(data_tmp, 14)
39760 389775 : data_tmp = IAND(data_tmp, mask_left(2))
39761 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39762 389775 : ipack = ipack + 1
39763 389775 : packed_data(ipack) = pack_tmp
39764 389775 : data_tmp = full_data(idata)
39765 389775 : pack_tmp = ISHFT(data_tmp, 16)
39766 389775 : pack_tmp = ISHFT(pack_tmp, -16)
39767 389775 : idata = idata + 1
39768 389775 : data_tmp = full_data(idata)
39769 389775 : data_tmp = ISHFT(data_tmp, 14)
39770 389775 : data_tmp = IAND(data_tmp, mask_left(16))
39771 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39772 389775 : ipack = ipack + 1
39773 389775 : packed_data(ipack) = pack_tmp
39774 389775 : data_tmp = full_data(idata)
39775 389775 : pack_tmp = ISHFT(data_tmp, 30)
39776 389775 : pack_tmp = ISHFT(pack_tmp, -30)
39777 389775 : idata = idata + 1
39778 389775 : data_tmp = full_data(idata)
39779 389775 : data_tmp = ISHFT(data_tmp, 14)
39780 389775 : data_tmp = IAND(data_tmp, mask_left(30))
39781 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39782 389775 : ipack = ipack + 1
39783 389775 : packed_data(ipack) = pack_tmp
39784 389775 : data_tmp = full_data(idata)
39785 389775 : pack_tmp = ISHFT(data_tmp, 44)
39786 389775 : pack_tmp = ISHFT(pack_tmp, -44)
39787 389775 : idata = idata + 1
39788 389775 : data_tmp = full_data(idata)
39789 389775 : data_tmp = ISHFT(data_tmp, 14)
39790 389775 : data_tmp = IAND(data_tmp, mask_left(44))
39791 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39792 389775 : ipack = ipack + 1
39793 389775 : packed_data(ipack) = pack_tmp
39794 389775 : data_tmp = full_data(idata)
39795 389775 : pack_tmp = ISHFT(data_tmp, 58)
39796 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39797 389775 : idata = idata + 1
39798 389775 : data_tmp = full_data(idata)
39799 389775 : data_tmp = ISHFT(data_tmp, 14)
39800 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39801 389775 : pack_tmp = ISHFT(pack_tmp, -8)
39802 389775 : idata = idata + 1
39803 389775 : data_tmp = full_data(idata)
39804 389775 : data_tmp = ISHFT(data_tmp, 14)
39805 389775 : data_tmp = IAND(data_tmp, mask_left(8))
39806 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39807 389775 : ipack = ipack + 1
39808 389775 : packed_data(ipack) = pack_tmp
39809 389775 : data_tmp = full_data(idata)
39810 389775 : pack_tmp = ISHFT(data_tmp, 22)
39811 389775 : pack_tmp = ISHFT(pack_tmp, -22)
39812 389775 : idata = idata + 1
39813 389775 : data_tmp = full_data(idata)
39814 389775 : data_tmp = ISHFT(data_tmp, 14)
39815 389775 : data_tmp = IAND(data_tmp, mask_left(22))
39816 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39817 389775 : ipack = ipack + 1
39818 389775 : packed_data(ipack) = pack_tmp
39819 389775 : data_tmp = full_data(idata)
39820 389775 : pack_tmp = ISHFT(data_tmp, 36)
39821 389775 : pack_tmp = ISHFT(pack_tmp, -36)
39822 389775 : idata = idata + 1
39823 389775 : data_tmp = full_data(idata)
39824 389775 : data_tmp = ISHFT(data_tmp, 14)
39825 389775 : data_tmp = IAND(data_tmp, mask_left(36))
39826 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39827 389775 : ipack = ipack + 1
39828 389775 : packed_data(ipack) = pack_tmp
39829 389775 : data_tmp = full_data(idata)
39830 389775 : pack_tmp = ISHFT(data_tmp, 50)
39831 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39832 389775 : idata = idata + 1
39833 389775 : data_tmp = full_data(idata)
39834 389775 : data_tmp = ISHFT(data_tmp, 14)
39835 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39836 389775 : pack_tmp = ISHFT(pack_tmp, 0)
39837 389775 : idata = idata + 1
39838 389775 : data_tmp = full_data(idata)
39839 : data_tmp = ISHFT(data_tmp, 14)
39840 389775 : data_tmp = IAND(data_tmp, mask_left(0))
39841 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39842 389775 : ipack = ipack + 1
39843 389775 : packed_data(ipack) = pack_tmp
39844 389775 : data_tmp = full_data(idata)
39845 389775 : pack_tmp = ISHFT(data_tmp, 14)
39846 389775 : pack_tmp = ISHFT(pack_tmp, -14)
39847 389775 : idata = idata + 1
39848 389775 : data_tmp = full_data(idata)
39849 389775 : data_tmp = ISHFT(data_tmp, 14)
39850 389775 : data_tmp = IAND(data_tmp, mask_left(14))
39851 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39852 389775 : ipack = ipack + 1
39853 389775 : packed_data(ipack) = pack_tmp
39854 389775 : data_tmp = full_data(idata)
39855 389775 : pack_tmp = ISHFT(data_tmp, 28)
39856 389775 : pack_tmp = ISHFT(pack_tmp, -28)
39857 389775 : idata = idata + 1
39858 389775 : data_tmp = full_data(idata)
39859 389775 : data_tmp = ISHFT(data_tmp, 14)
39860 389775 : data_tmp = IAND(data_tmp, mask_left(28))
39861 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39862 389775 : ipack = ipack + 1
39863 389775 : packed_data(ipack) = pack_tmp
39864 389775 : data_tmp = full_data(idata)
39865 389775 : pack_tmp = ISHFT(data_tmp, 42)
39866 389775 : pack_tmp = ISHFT(pack_tmp, -42)
39867 389775 : idata = idata + 1
39868 389775 : data_tmp = full_data(idata)
39869 389775 : data_tmp = ISHFT(data_tmp, 14)
39870 389775 : data_tmp = IAND(data_tmp, mask_left(42))
39871 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39872 389775 : ipack = ipack + 1
39873 389775 : packed_data(ipack) = pack_tmp
39874 389775 : data_tmp = full_data(idata)
39875 389775 : pack_tmp = ISHFT(data_tmp, 56)
39876 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39877 389775 : idata = idata + 1
39878 389775 : data_tmp = full_data(idata)
39879 389775 : data_tmp = ISHFT(data_tmp, 14)
39880 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39881 389775 : pack_tmp = ISHFT(pack_tmp, -6)
39882 389775 : idata = idata + 1
39883 389775 : data_tmp = full_data(idata)
39884 389775 : data_tmp = ISHFT(data_tmp, 14)
39885 389775 : data_tmp = IAND(data_tmp, mask_left(6))
39886 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39887 389775 : ipack = ipack + 1
39888 389775 : packed_data(ipack) = pack_tmp
39889 389775 : data_tmp = full_data(idata)
39890 389775 : pack_tmp = ISHFT(data_tmp, 20)
39891 389775 : pack_tmp = ISHFT(pack_tmp, -20)
39892 389775 : idata = idata + 1
39893 389775 : data_tmp = full_data(idata)
39894 389775 : data_tmp = ISHFT(data_tmp, 14)
39895 389775 : data_tmp = IAND(data_tmp, mask_left(20))
39896 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39897 389775 : ipack = ipack + 1
39898 389775 : packed_data(ipack) = pack_tmp
39899 389775 : data_tmp = full_data(idata)
39900 389775 : pack_tmp = ISHFT(data_tmp, 34)
39901 389775 : pack_tmp = ISHFT(pack_tmp, -34)
39902 389775 : idata = idata + 1
39903 389775 : data_tmp = full_data(idata)
39904 389775 : data_tmp = ISHFT(data_tmp, 14)
39905 389775 : data_tmp = IAND(data_tmp, mask_left(34))
39906 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39907 389775 : ipack = ipack + 1
39908 389775 : packed_data(ipack) = pack_tmp
39909 389775 : data_tmp = full_data(idata)
39910 389775 : pack_tmp = ISHFT(data_tmp, 48)
39911 389775 : pack_tmp = ISHFT(pack_tmp, -48)
39912 389775 : idata = idata + 1
39913 389775 : data_tmp = full_data(idata)
39914 389775 : data_tmp = ISHFT(data_tmp, 14)
39915 389775 : data_tmp = IAND(data_tmp, mask_left(48))
39916 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39917 389775 : ipack = ipack + 1
39918 389775 : packed_data(ipack) = pack_tmp
39919 389775 : data_tmp = full_data(idata)
39920 389775 : pack_tmp = ISHFT(data_tmp, 62)
39921 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39922 389775 : idata = idata + 1
39923 389775 : data_tmp = full_data(idata)
39924 389775 : data_tmp = ISHFT(data_tmp, 14)
39925 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39926 389775 : pack_tmp = ISHFT(pack_tmp, -12)
39927 389775 : idata = idata + 1
39928 389775 : data_tmp = full_data(idata)
39929 389775 : data_tmp = ISHFT(data_tmp, 14)
39930 389775 : data_tmp = IAND(data_tmp, mask_left(12))
39931 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39932 389775 : ipack = ipack + 1
39933 389775 : packed_data(ipack) = pack_tmp
39934 389775 : data_tmp = full_data(idata)
39935 389775 : pack_tmp = ISHFT(data_tmp, 26)
39936 389775 : pack_tmp = ISHFT(pack_tmp, -26)
39937 389775 : idata = idata + 1
39938 389775 : data_tmp = full_data(idata)
39939 389775 : data_tmp = ISHFT(data_tmp, 14)
39940 389775 : data_tmp = IAND(data_tmp, mask_left(26))
39941 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39942 389775 : ipack = ipack + 1
39943 389775 : packed_data(ipack) = pack_tmp
39944 389775 : data_tmp = full_data(idata)
39945 389775 : pack_tmp = ISHFT(data_tmp, 40)
39946 389775 : pack_tmp = ISHFT(pack_tmp, -40)
39947 389775 : idata = idata + 1
39948 389775 : data_tmp = full_data(idata)
39949 389775 : data_tmp = ISHFT(data_tmp, 14)
39950 389775 : data_tmp = IAND(data_tmp, mask_left(40))
39951 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39952 389775 : ipack = ipack + 1
39953 389775 : packed_data(ipack) = pack_tmp
39954 389775 : data_tmp = full_data(idata)
39955 389775 : pack_tmp = ISHFT(data_tmp, 54)
39956 389775 : pack_tmp = ISHFT(pack_tmp, -50)
39957 389775 : idata = idata + 1
39958 389775 : data_tmp = full_data(idata)
39959 389775 : data_tmp = ISHFT(data_tmp, 14)
39960 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39961 389775 : pack_tmp = ISHFT(pack_tmp, -4)
39962 389775 : idata = idata + 1
39963 389775 : data_tmp = full_data(idata)
39964 389775 : data_tmp = ISHFT(data_tmp, 14)
39965 389775 : data_tmp = IAND(data_tmp, mask_left(4))
39966 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39967 389775 : ipack = ipack + 1
39968 389775 : packed_data(ipack) = pack_tmp
39969 389775 : data_tmp = full_data(idata)
39970 389775 : pack_tmp = ISHFT(data_tmp, 18)
39971 389775 : pack_tmp = ISHFT(pack_tmp, -18)
39972 389775 : idata = idata + 1
39973 389775 : data_tmp = full_data(idata)
39974 389775 : data_tmp = ISHFT(data_tmp, 14)
39975 389775 : data_tmp = IAND(data_tmp, mask_left(18))
39976 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39977 389775 : ipack = ipack + 1
39978 389775 : packed_data(ipack) = pack_tmp
39979 389775 : data_tmp = full_data(idata)
39980 389775 : pack_tmp = ISHFT(data_tmp, 32)
39981 389775 : pack_tmp = ISHFT(pack_tmp, -32)
39982 389775 : idata = idata + 1
39983 389775 : data_tmp = full_data(idata)
39984 389775 : data_tmp = ISHFT(data_tmp, 14)
39985 389775 : data_tmp = IAND(data_tmp, mask_left(32))
39986 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39987 389775 : ipack = ipack + 1
39988 389775 : packed_data(ipack) = pack_tmp
39989 389775 : data_tmp = full_data(idata)
39990 389775 : pack_tmp = ISHFT(data_tmp, 46)
39991 389775 : pack_tmp = ISHFT(pack_tmp, -46)
39992 389775 : idata = idata + 1
39993 389775 : data_tmp = full_data(idata)
39994 389775 : data_tmp = ISHFT(data_tmp, 14)
39995 389775 : data_tmp = IAND(data_tmp, mask_left(46))
39996 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
39997 389775 : ipack = ipack + 1
39998 389775 : packed_data(ipack) = pack_tmp
39999 389775 : data_tmp = full_data(idata)
40000 389775 : pack_tmp = ISHFT(data_tmp, 60)
40001 389775 : pack_tmp = ISHFT(pack_tmp, -50)
40002 389775 : idata = idata + 1
40003 389775 : data_tmp = full_data(idata)
40004 389775 : data_tmp = ISHFT(data_tmp, 14)
40005 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40006 389775 : pack_tmp = ISHFT(pack_tmp, -10)
40007 389775 : idata = idata + 1
40008 389775 : data_tmp = full_data(idata)
40009 389775 : data_tmp = ISHFT(data_tmp, 14)
40010 389775 : data_tmp = IAND(data_tmp, mask_left(10))
40011 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40012 389775 : ipack = ipack + 1
40013 389775 : packed_data(ipack) = pack_tmp
40014 389775 : data_tmp = full_data(idata)
40015 389775 : pack_tmp = ISHFT(data_tmp, 24)
40016 389775 : pack_tmp = ISHFT(pack_tmp, -24)
40017 389775 : idata = idata + 1
40018 389775 : data_tmp = full_data(idata)
40019 389775 : data_tmp = ISHFT(data_tmp, 14)
40020 389775 : data_tmp = IAND(data_tmp, mask_left(24))
40021 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40022 389775 : ipack = ipack + 1
40023 389775 : packed_data(ipack) = pack_tmp
40024 389775 : data_tmp = full_data(idata)
40025 389775 : pack_tmp = ISHFT(data_tmp, 38)
40026 389775 : pack_tmp = ISHFT(pack_tmp, -38)
40027 389775 : idata = idata + 1
40028 389775 : data_tmp = full_data(idata)
40029 389775 : data_tmp = ISHFT(data_tmp, 14)
40030 389775 : data_tmp = IAND(data_tmp, mask_left(38))
40031 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40032 389775 : ipack = ipack + 1
40033 389775 : packed_data(ipack) = pack_tmp
40034 389775 : data_tmp = full_data(idata)
40035 389775 : pack_tmp = ISHFT(data_tmp, 52)
40036 389775 : pack_tmp = ISHFT(pack_tmp, -50)
40037 389775 : idata = idata + 1
40038 389775 : data_tmp = full_data(idata)
40039 389775 : data_tmp = ISHFT(data_tmp, 14)
40040 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40041 389775 : pack_tmp = ISHFT(pack_tmp, -2)
40042 389775 : idata = idata + 1
40043 389775 : data_tmp = full_data(idata)
40044 389775 : data_tmp = ISHFT(data_tmp, 14)
40045 389775 : data_tmp = IAND(data_tmp, mask_left(2))
40046 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40047 389775 : ipack = ipack + 1
40048 389775 : packed_data(ipack) = pack_tmp
40049 389775 : data_tmp = full_data(idata)
40050 389775 : pack_tmp = ISHFT(data_tmp, 16)
40051 389775 : pack_tmp = ISHFT(pack_tmp, -16)
40052 389775 : idata = idata + 1
40053 389775 : data_tmp = full_data(idata)
40054 389775 : data_tmp = ISHFT(data_tmp, 14)
40055 389775 : data_tmp = IAND(data_tmp, mask_left(16))
40056 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40057 389775 : ipack = ipack + 1
40058 389775 : packed_data(ipack) = pack_tmp
40059 389775 : data_tmp = full_data(idata)
40060 389775 : pack_tmp = ISHFT(data_tmp, 30)
40061 389775 : pack_tmp = ISHFT(pack_tmp, -30)
40062 389775 : idata = idata + 1
40063 389775 : data_tmp = full_data(idata)
40064 389775 : data_tmp = ISHFT(data_tmp, 14)
40065 389775 : data_tmp = IAND(data_tmp, mask_left(30))
40066 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40067 389775 : ipack = ipack + 1
40068 389775 : packed_data(ipack) = pack_tmp
40069 389775 : data_tmp = full_data(idata)
40070 389775 : pack_tmp = ISHFT(data_tmp, 44)
40071 389775 : pack_tmp = ISHFT(pack_tmp, -44)
40072 389775 : idata = idata + 1
40073 389775 : data_tmp = full_data(idata)
40074 389775 : data_tmp = ISHFT(data_tmp, 14)
40075 389775 : data_tmp = IAND(data_tmp, mask_left(44))
40076 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40077 389775 : ipack = ipack + 1
40078 389775 : packed_data(ipack) = pack_tmp
40079 389775 : data_tmp = full_data(idata)
40080 389775 : pack_tmp = ISHFT(data_tmp, 58)
40081 389775 : pack_tmp = ISHFT(pack_tmp, -50)
40082 389775 : idata = idata + 1
40083 389775 : data_tmp = full_data(idata)
40084 389775 : data_tmp = ISHFT(data_tmp, 14)
40085 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40086 389775 : pack_tmp = ISHFT(pack_tmp, -8)
40087 389775 : idata = idata + 1
40088 389775 : data_tmp = full_data(idata)
40089 389775 : data_tmp = ISHFT(data_tmp, 14)
40090 389775 : data_tmp = IAND(data_tmp, mask_left(8))
40091 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40092 389775 : ipack = ipack + 1
40093 389775 : packed_data(ipack) = pack_tmp
40094 389775 : data_tmp = full_data(idata)
40095 389775 : pack_tmp = ISHFT(data_tmp, 22)
40096 389775 : pack_tmp = ISHFT(pack_tmp, -22)
40097 389775 : idata = idata + 1
40098 389775 : data_tmp = full_data(idata)
40099 389775 : data_tmp = ISHFT(data_tmp, 14)
40100 389775 : data_tmp = IAND(data_tmp, mask_left(22))
40101 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40102 389775 : ipack = ipack + 1
40103 389775 : packed_data(ipack) = pack_tmp
40104 389775 : data_tmp = full_data(idata)
40105 389775 : pack_tmp = ISHFT(data_tmp, 36)
40106 389775 : pack_tmp = ISHFT(pack_tmp, -36)
40107 389775 : idata = idata + 1
40108 389775 : data_tmp = full_data(idata)
40109 389775 : data_tmp = ISHFT(data_tmp, 14)
40110 389775 : data_tmp = IAND(data_tmp, mask_left(36))
40111 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40112 389775 : ipack = ipack + 1
40113 389775 : packed_data(ipack) = pack_tmp
40114 389775 : data_tmp = full_data(idata)
40115 389775 : pack_tmp = ISHFT(data_tmp, 50)
40116 389775 : pack_tmp = ISHFT(pack_tmp, -50)
40117 389775 : idata = idata + 1
40118 389775 : data_tmp = full_data(idata)
40119 389775 : data_tmp = ISHFT(data_tmp, 14)
40120 389775 : pack_tmp = IOR(pack_tmp, data_tmp)
40121 : pack_tmp = ISHFT(pack_tmp, 0)
40122 389775 : pack_tmp = ISHFT(pack_tmp, 0)
40123 389775 : ipack = ipack + 1
40124 389783 : packed_data(ipack) = pack_tmp
40125 : END DO
40126 25110 : 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 25110 : END SUBROUTINE ints2bits_50
40130 :
40131 : ! **************************************************************************************************
40132 : !> \brief ...
40133 : !> \param Ndata ...
40134 : !> \param packed_data ...
40135 : !> \param full_data ...
40136 : ! **************************************************************************************************
40137 99829 : 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 99829 : ipack = 0
40148 99829 : idata = 0
40149 99829 : pack_tmp = 0
40150 99829 : Ndata_rep = (Ndata/64)*64
40151 99829 : DO kdata = 1, Ndata_rep, 64
40152 1560357 : idata = idata + 1
40153 1560357 : data_tmp = ISHFT(pack_tmp, 50)
40154 1560357 : ipack = ipack + 1
40155 1560357 : pack_tmp = packed_data(ipack)
40156 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
40157 1560357 : pack_tmp = ISHFT(pack_tmp, -50)
40158 1560357 : idata = idata + 1
40159 1560357 : data_tmp = ISHFT(pack_tmp, 36)
40160 1560357 : ipack = ipack + 1
40161 1560357 : pack_tmp = packed_data(ipack)
40162 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
40163 1560357 : pack_tmp = ISHFT(pack_tmp, -36)
40164 1560357 : idata = idata + 1
40165 1560357 : data_tmp = ISHFT(pack_tmp, 22)
40166 1560357 : ipack = ipack + 1
40167 1560357 : pack_tmp = packed_data(ipack)
40168 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
40169 1560357 : pack_tmp = ISHFT(pack_tmp, -22)
40170 1560357 : idata = idata + 1
40171 1560357 : data_tmp = ISHFT(pack_tmp, 8)
40172 1560357 : ipack = ipack + 1
40173 1560357 : pack_tmp = packed_data(ipack)
40174 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
40175 1560357 : pack_tmp = ISHFT(pack_tmp, -8)
40176 1560357 : idata = idata + 1
40177 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40178 1560357 : full_data(idata) = data_tmp
40179 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40180 1560357 : idata = idata + 1
40181 1560357 : data_tmp = ISHFT(pack_tmp, 44)
40182 1560357 : ipack = ipack + 1
40183 1560357 : pack_tmp = packed_data(ipack)
40184 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
40185 1560357 : pack_tmp = ISHFT(pack_tmp, -44)
40186 1560357 : idata = idata + 1
40187 1560357 : data_tmp = ISHFT(pack_tmp, 30)
40188 1560357 : ipack = ipack + 1
40189 1560357 : pack_tmp = packed_data(ipack)
40190 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
40191 1560357 : pack_tmp = ISHFT(pack_tmp, -30)
40192 1560357 : idata = idata + 1
40193 1560357 : data_tmp = ISHFT(pack_tmp, 16)
40194 1560357 : ipack = ipack + 1
40195 1560357 : pack_tmp = packed_data(ipack)
40196 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
40197 1560357 : pack_tmp = ISHFT(pack_tmp, -16)
40198 1560357 : idata = idata + 1
40199 1560357 : data_tmp = ISHFT(pack_tmp, 2)
40200 1560357 : ipack = ipack + 1
40201 1560357 : pack_tmp = packed_data(ipack)
40202 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
40203 1560357 : pack_tmp = ISHFT(pack_tmp, -2)
40204 1560357 : idata = idata + 1
40205 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40206 1560357 : full_data(idata) = data_tmp
40207 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40208 1560357 : idata = idata + 1
40209 1560357 : data_tmp = ISHFT(pack_tmp, 38)
40210 1560357 : ipack = ipack + 1
40211 1560357 : pack_tmp = packed_data(ipack)
40212 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
40213 1560357 : pack_tmp = ISHFT(pack_tmp, -38)
40214 1560357 : idata = idata + 1
40215 1560357 : data_tmp = ISHFT(pack_tmp, 24)
40216 1560357 : ipack = ipack + 1
40217 1560357 : pack_tmp = packed_data(ipack)
40218 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
40219 1560357 : pack_tmp = ISHFT(pack_tmp, -24)
40220 1560357 : idata = idata + 1
40221 1560357 : data_tmp = ISHFT(pack_tmp, 10)
40222 1560357 : ipack = ipack + 1
40223 1560357 : pack_tmp = packed_data(ipack)
40224 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
40225 1560357 : pack_tmp = ISHFT(pack_tmp, -10)
40226 1560357 : idata = idata + 1
40227 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40228 1560357 : full_data(idata) = data_tmp
40229 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40230 1560357 : idata = idata + 1
40231 1560357 : data_tmp = ISHFT(pack_tmp, 46)
40232 1560357 : ipack = ipack + 1
40233 1560357 : pack_tmp = packed_data(ipack)
40234 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
40235 1560357 : pack_tmp = ISHFT(pack_tmp, -46)
40236 1560357 : idata = idata + 1
40237 1560357 : data_tmp = ISHFT(pack_tmp, 32)
40238 1560357 : ipack = ipack + 1
40239 1560357 : pack_tmp = packed_data(ipack)
40240 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
40241 1560357 : pack_tmp = ISHFT(pack_tmp, -32)
40242 1560357 : idata = idata + 1
40243 1560357 : data_tmp = ISHFT(pack_tmp, 18)
40244 1560357 : ipack = ipack + 1
40245 1560357 : pack_tmp = packed_data(ipack)
40246 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
40247 1560357 : pack_tmp = ISHFT(pack_tmp, -18)
40248 1560357 : idata = idata + 1
40249 1560357 : data_tmp = ISHFT(pack_tmp, 4)
40250 1560357 : ipack = ipack + 1
40251 1560357 : pack_tmp = packed_data(ipack)
40252 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
40253 1560357 : pack_tmp = ISHFT(pack_tmp, -4)
40254 1560357 : idata = idata + 1
40255 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40256 1560357 : full_data(idata) = data_tmp
40257 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40258 1560357 : idata = idata + 1
40259 1560357 : data_tmp = ISHFT(pack_tmp, 40)
40260 1560357 : ipack = ipack + 1
40261 1560357 : pack_tmp = packed_data(ipack)
40262 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
40263 1560357 : pack_tmp = ISHFT(pack_tmp, -40)
40264 1560357 : idata = idata + 1
40265 1560357 : data_tmp = ISHFT(pack_tmp, 26)
40266 1560357 : ipack = ipack + 1
40267 1560357 : pack_tmp = packed_data(ipack)
40268 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
40269 1560357 : pack_tmp = ISHFT(pack_tmp, -26)
40270 1560357 : idata = idata + 1
40271 1560357 : data_tmp = ISHFT(pack_tmp, 12)
40272 1560357 : ipack = ipack + 1
40273 1560357 : pack_tmp = packed_data(ipack)
40274 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
40275 1560357 : pack_tmp = ISHFT(pack_tmp, -12)
40276 1560357 : idata = idata + 1
40277 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40278 1560357 : full_data(idata) = data_tmp
40279 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40280 1560357 : idata = idata + 1
40281 1560357 : data_tmp = ISHFT(pack_tmp, 48)
40282 1560357 : ipack = ipack + 1
40283 1560357 : pack_tmp = packed_data(ipack)
40284 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
40285 1560357 : pack_tmp = ISHFT(pack_tmp, -48)
40286 1560357 : idata = idata + 1
40287 1560357 : data_tmp = ISHFT(pack_tmp, 34)
40288 1560357 : ipack = ipack + 1
40289 1560357 : pack_tmp = packed_data(ipack)
40290 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
40291 1560357 : pack_tmp = ISHFT(pack_tmp, -34)
40292 1560357 : idata = idata + 1
40293 1560357 : data_tmp = ISHFT(pack_tmp, 20)
40294 1560357 : ipack = ipack + 1
40295 1560357 : pack_tmp = packed_data(ipack)
40296 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
40297 1560357 : pack_tmp = ISHFT(pack_tmp, -20)
40298 1560357 : idata = idata + 1
40299 1560357 : data_tmp = ISHFT(pack_tmp, 6)
40300 1560357 : ipack = ipack + 1
40301 1560357 : pack_tmp = packed_data(ipack)
40302 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
40303 1560357 : pack_tmp = ISHFT(pack_tmp, -6)
40304 1560357 : idata = idata + 1
40305 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40306 1560357 : full_data(idata) = data_tmp
40307 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40308 1560357 : idata = idata + 1
40309 1560357 : data_tmp = ISHFT(pack_tmp, 42)
40310 1560357 : ipack = ipack + 1
40311 1560357 : pack_tmp = packed_data(ipack)
40312 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
40313 1560357 : pack_tmp = ISHFT(pack_tmp, -42)
40314 1560357 : idata = idata + 1
40315 1560357 : data_tmp = ISHFT(pack_tmp, 28)
40316 1560357 : ipack = ipack + 1
40317 1560357 : pack_tmp = packed_data(ipack)
40318 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
40319 1560357 : pack_tmp = ISHFT(pack_tmp, -28)
40320 1560357 : idata = idata + 1
40321 1560357 : data_tmp = ISHFT(pack_tmp, 14)
40322 1560357 : ipack = ipack + 1
40323 1560357 : pack_tmp = packed_data(ipack)
40324 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
40325 1560357 : pack_tmp = ISHFT(pack_tmp, -14)
40326 1560357 : idata = idata + 1
40327 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40328 1560357 : full_data(idata) = data_tmp
40329 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40330 1560357 : idata = idata + 1
40331 1560357 : data_tmp = ISHFT(pack_tmp, 50)
40332 1560357 : ipack = ipack + 1
40333 1560357 : pack_tmp = packed_data(ipack)
40334 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
40335 1560357 : pack_tmp = ISHFT(pack_tmp, -50)
40336 1560357 : idata = idata + 1
40337 1560357 : data_tmp = ISHFT(pack_tmp, 36)
40338 1560357 : ipack = ipack + 1
40339 1560357 : pack_tmp = packed_data(ipack)
40340 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
40341 1560357 : pack_tmp = ISHFT(pack_tmp, -36)
40342 1560357 : idata = idata + 1
40343 1560357 : data_tmp = ISHFT(pack_tmp, 22)
40344 1560357 : ipack = ipack + 1
40345 1560357 : pack_tmp = packed_data(ipack)
40346 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
40347 1560357 : pack_tmp = ISHFT(pack_tmp, -22)
40348 1560357 : idata = idata + 1
40349 1560357 : data_tmp = ISHFT(pack_tmp, 8)
40350 1560357 : ipack = ipack + 1
40351 1560357 : pack_tmp = packed_data(ipack)
40352 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
40353 1560357 : pack_tmp = ISHFT(pack_tmp, -8)
40354 1560357 : idata = idata + 1
40355 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40356 1560357 : full_data(idata) = data_tmp
40357 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40358 1560357 : idata = idata + 1
40359 1560357 : data_tmp = ISHFT(pack_tmp, 44)
40360 1560357 : ipack = ipack + 1
40361 1560357 : pack_tmp = packed_data(ipack)
40362 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
40363 1560357 : pack_tmp = ISHFT(pack_tmp, -44)
40364 1560357 : idata = idata + 1
40365 1560357 : data_tmp = ISHFT(pack_tmp, 30)
40366 1560357 : ipack = ipack + 1
40367 1560357 : pack_tmp = packed_data(ipack)
40368 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
40369 1560357 : pack_tmp = ISHFT(pack_tmp, -30)
40370 1560357 : idata = idata + 1
40371 1560357 : data_tmp = ISHFT(pack_tmp, 16)
40372 1560357 : ipack = ipack + 1
40373 1560357 : pack_tmp = packed_data(ipack)
40374 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
40375 1560357 : pack_tmp = ISHFT(pack_tmp, -16)
40376 1560357 : idata = idata + 1
40377 1560357 : data_tmp = ISHFT(pack_tmp, 2)
40378 1560357 : ipack = ipack + 1
40379 1560357 : pack_tmp = packed_data(ipack)
40380 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
40381 1560357 : pack_tmp = ISHFT(pack_tmp, -2)
40382 1560357 : idata = idata + 1
40383 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40384 1560357 : full_data(idata) = data_tmp
40385 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40386 1560357 : idata = idata + 1
40387 1560357 : data_tmp = ISHFT(pack_tmp, 38)
40388 1560357 : ipack = ipack + 1
40389 1560357 : pack_tmp = packed_data(ipack)
40390 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
40391 1560357 : pack_tmp = ISHFT(pack_tmp, -38)
40392 1560357 : idata = idata + 1
40393 1560357 : data_tmp = ISHFT(pack_tmp, 24)
40394 1560357 : ipack = ipack + 1
40395 1560357 : pack_tmp = packed_data(ipack)
40396 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
40397 1560357 : pack_tmp = ISHFT(pack_tmp, -24)
40398 1560357 : idata = idata + 1
40399 1560357 : data_tmp = ISHFT(pack_tmp, 10)
40400 1560357 : ipack = ipack + 1
40401 1560357 : pack_tmp = packed_data(ipack)
40402 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
40403 1560357 : pack_tmp = ISHFT(pack_tmp, -10)
40404 1560357 : idata = idata + 1
40405 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40406 1560357 : full_data(idata) = data_tmp
40407 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40408 1560357 : idata = idata + 1
40409 1560357 : data_tmp = ISHFT(pack_tmp, 46)
40410 1560357 : ipack = ipack + 1
40411 1560357 : pack_tmp = packed_data(ipack)
40412 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
40413 1560357 : pack_tmp = ISHFT(pack_tmp, -46)
40414 1560357 : idata = idata + 1
40415 1560357 : data_tmp = ISHFT(pack_tmp, 32)
40416 1560357 : ipack = ipack + 1
40417 1560357 : pack_tmp = packed_data(ipack)
40418 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
40419 1560357 : pack_tmp = ISHFT(pack_tmp, -32)
40420 1560357 : idata = idata + 1
40421 1560357 : data_tmp = ISHFT(pack_tmp, 18)
40422 1560357 : ipack = ipack + 1
40423 1560357 : pack_tmp = packed_data(ipack)
40424 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
40425 1560357 : pack_tmp = ISHFT(pack_tmp, -18)
40426 1560357 : idata = idata + 1
40427 1560357 : data_tmp = ISHFT(pack_tmp, 4)
40428 1560357 : ipack = ipack + 1
40429 1560357 : pack_tmp = packed_data(ipack)
40430 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
40431 1560357 : pack_tmp = ISHFT(pack_tmp, -4)
40432 1560357 : idata = idata + 1
40433 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40434 1560357 : full_data(idata) = data_tmp
40435 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40436 1560357 : idata = idata + 1
40437 1560357 : data_tmp = ISHFT(pack_tmp, 40)
40438 1560357 : ipack = ipack + 1
40439 1560357 : pack_tmp = packed_data(ipack)
40440 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
40441 1560357 : pack_tmp = ISHFT(pack_tmp, -40)
40442 1560357 : idata = idata + 1
40443 1560357 : data_tmp = ISHFT(pack_tmp, 26)
40444 1560357 : ipack = ipack + 1
40445 1560357 : pack_tmp = packed_data(ipack)
40446 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
40447 1560357 : pack_tmp = ISHFT(pack_tmp, -26)
40448 1560357 : idata = idata + 1
40449 1560357 : data_tmp = ISHFT(pack_tmp, 12)
40450 1560357 : ipack = ipack + 1
40451 1560357 : pack_tmp = packed_data(ipack)
40452 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
40453 1560357 : pack_tmp = ISHFT(pack_tmp, -12)
40454 1560357 : idata = idata + 1
40455 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40456 1560357 : full_data(idata) = data_tmp
40457 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40458 1560357 : idata = idata + 1
40459 1560357 : data_tmp = ISHFT(pack_tmp, 48)
40460 1560357 : ipack = ipack + 1
40461 1560357 : pack_tmp = packed_data(ipack)
40462 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
40463 1560357 : pack_tmp = ISHFT(pack_tmp, -48)
40464 1560357 : idata = idata + 1
40465 1560357 : data_tmp = ISHFT(pack_tmp, 34)
40466 1560357 : ipack = ipack + 1
40467 1560357 : pack_tmp = packed_data(ipack)
40468 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
40469 1560357 : pack_tmp = ISHFT(pack_tmp, -34)
40470 1560357 : idata = idata + 1
40471 1560357 : data_tmp = ISHFT(pack_tmp, 20)
40472 1560357 : ipack = ipack + 1
40473 1560357 : pack_tmp = packed_data(ipack)
40474 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
40475 1560357 : pack_tmp = ISHFT(pack_tmp, -20)
40476 1560357 : idata = idata + 1
40477 1560357 : data_tmp = ISHFT(pack_tmp, 6)
40478 1560357 : ipack = ipack + 1
40479 1560357 : pack_tmp = packed_data(ipack)
40480 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
40481 1560357 : pack_tmp = ISHFT(pack_tmp, -6)
40482 1560357 : idata = idata + 1
40483 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40484 1560357 : full_data(idata) = data_tmp
40485 1560357 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40486 1560357 : idata = idata + 1
40487 1560357 : data_tmp = ISHFT(pack_tmp, 42)
40488 1560357 : ipack = ipack + 1
40489 1560357 : pack_tmp = packed_data(ipack)
40490 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
40491 1560357 : pack_tmp = ISHFT(pack_tmp, -42)
40492 1560357 : idata = idata + 1
40493 1560357 : data_tmp = ISHFT(pack_tmp, 28)
40494 1560357 : ipack = ipack + 1
40495 1560357 : pack_tmp = packed_data(ipack)
40496 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
40497 1560357 : pack_tmp = ISHFT(pack_tmp, -28)
40498 1560357 : idata = idata + 1
40499 1560357 : data_tmp = ISHFT(pack_tmp, 14)
40500 1560357 : ipack = ipack + 1
40501 1560357 : pack_tmp = packed_data(ipack)
40502 1560357 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
40503 1560357 : pack_tmp = ISHFT(pack_tmp, -14)
40504 1560357 : idata = idata + 1
40505 1560357 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40506 1560357 : full_data(idata) = data_tmp
40507 1560373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40508 : END DO
40509 99829 : 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 99829 : END SUBROUTINE bits2ints_50
40513 :
40514 : ! **************************************************************************************************
40515 : !> \brief ...
40516 : !> \param Ndata ...
40517 : !> \param packed_data ...
40518 : !> \param full_data ...
40519 : ! **************************************************************************************************
40520 24160 : 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 24160 : idata = 0
40531 24160 : ipack = 0
40532 24160 : Ndata_rep = (Ndata/64)*64
40533 24160 : DO kdata = 1, Ndata_rep, 64
40534 382854 : pack_tmp = 0
40535 382854 : idata = idata + 1
40536 382854 : data_tmp = full_data(idata)
40537 382854 : data_tmp = ISHFT(data_tmp, 13)
40538 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40539 382854 : pack_tmp = ISHFT(pack_tmp, -13)
40540 382854 : idata = idata + 1
40541 382854 : data_tmp = full_data(idata)
40542 382854 : data_tmp = ISHFT(data_tmp, 13)
40543 382854 : data_tmp = IAND(data_tmp, mask_left(13))
40544 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40545 382854 : ipack = ipack + 1
40546 382854 : packed_data(ipack) = pack_tmp
40547 382854 : data_tmp = full_data(idata)
40548 382854 : pack_tmp = ISHFT(data_tmp, 26)
40549 382854 : pack_tmp = ISHFT(pack_tmp, -26)
40550 382854 : idata = idata + 1
40551 382854 : data_tmp = full_data(idata)
40552 382854 : data_tmp = ISHFT(data_tmp, 13)
40553 382854 : data_tmp = IAND(data_tmp, mask_left(26))
40554 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40555 382854 : ipack = ipack + 1
40556 382854 : packed_data(ipack) = pack_tmp
40557 382854 : data_tmp = full_data(idata)
40558 382854 : pack_tmp = ISHFT(data_tmp, 39)
40559 382854 : pack_tmp = ISHFT(pack_tmp, -39)
40560 382854 : idata = idata + 1
40561 382854 : data_tmp = full_data(idata)
40562 382854 : data_tmp = ISHFT(data_tmp, 13)
40563 382854 : data_tmp = IAND(data_tmp, mask_left(39))
40564 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40565 382854 : ipack = ipack + 1
40566 382854 : packed_data(ipack) = pack_tmp
40567 382854 : data_tmp = full_data(idata)
40568 382854 : pack_tmp = ISHFT(data_tmp, 52)
40569 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40570 382854 : idata = idata + 1
40571 382854 : data_tmp = full_data(idata)
40572 382854 : data_tmp = ISHFT(data_tmp, 13)
40573 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40574 382854 : pack_tmp = ISHFT(pack_tmp, -1)
40575 382854 : idata = idata + 1
40576 382854 : data_tmp = full_data(idata)
40577 382854 : data_tmp = ISHFT(data_tmp, 13)
40578 382854 : data_tmp = IAND(data_tmp, mask_left(1))
40579 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40580 382854 : ipack = ipack + 1
40581 382854 : packed_data(ipack) = pack_tmp
40582 382854 : data_tmp = full_data(idata)
40583 382854 : pack_tmp = ISHFT(data_tmp, 14)
40584 382854 : pack_tmp = ISHFT(pack_tmp, -14)
40585 382854 : idata = idata + 1
40586 382854 : data_tmp = full_data(idata)
40587 382854 : data_tmp = ISHFT(data_tmp, 13)
40588 382854 : data_tmp = IAND(data_tmp, mask_left(14))
40589 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40590 382854 : ipack = ipack + 1
40591 382854 : packed_data(ipack) = pack_tmp
40592 382854 : data_tmp = full_data(idata)
40593 382854 : pack_tmp = ISHFT(data_tmp, 27)
40594 382854 : pack_tmp = ISHFT(pack_tmp, -27)
40595 382854 : idata = idata + 1
40596 382854 : data_tmp = full_data(idata)
40597 382854 : data_tmp = ISHFT(data_tmp, 13)
40598 382854 : data_tmp = IAND(data_tmp, mask_left(27))
40599 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40600 382854 : ipack = ipack + 1
40601 382854 : packed_data(ipack) = pack_tmp
40602 382854 : data_tmp = full_data(idata)
40603 382854 : pack_tmp = ISHFT(data_tmp, 40)
40604 382854 : pack_tmp = ISHFT(pack_tmp, -40)
40605 382854 : idata = idata + 1
40606 382854 : data_tmp = full_data(idata)
40607 382854 : data_tmp = ISHFT(data_tmp, 13)
40608 382854 : data_tmp = IAND(data_tmp, mask_left(40))
40609 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40610 382854 : ipack = ipack + 1
40611 382854 : packed_data(ipack) = pack_tmp
40612 382854 : data_tmp = full_data(idata)
40613 382854 : pack_tmp = ISHFT(data_tmp, 53)
40614 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40615 382854 : idata = idata + 1
40616 382854 : data_tmp = full_data(idata)
40617 382854 : data_tmp = ISHFT(data_tmp, 13)
40618 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40619 382854 : pack_tmp = ISHFT(pack_tmp, -2)
40620 382854 : idata = idata + 1
40621 382854 : data_tmp = full_data(idata)
40622 382854 : data_tmp = ISHFT(data_tmp, 13)
40623 382854 : data_tmp = IAND(data_tmp, mask_left(2))
40624 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40625 382854 : ipack = ipack + 1
40626 382854 : packed_data(ipack) = pack_tmp
40627 382854 : data_tmp = full_data(idata)
40628 382854 : pack_tmp = ISHFT(data_tmp, 15)
40629 382854 : pack_tmp = ISHFT(pack_tmp, -15)
40630 382854 : idata = idata + 1
40631 382854 : data_tmp = full_data(idata)
40632 382854 : data_tmp = ISHFT(data_tmp, 13)
40633 382854 : data_tmp = IAND(data_tmp, mask_left(15))
40634 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40635 382854 : ipack = ipack + 1
40636 382854 : packed_data(ipack) = pack_tmp
40637 382854 : data_tmp = full_data(idata)
40638 382854 : pack_tmp = ISHFT(data_tmp, 28)
40639 382854 : pack_tmp = ISHFT(pack_tmp, -28)
40640 382854 : idata = idata + 1
40641 382854 : data_tmp = full_data(idata)
40642 382854 : data_tmp = ISHFT(data_tmp, 13)
40643 382854 : data_tmp = IAND(data_tmp, mask_left(28))
40644 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40645 382854 : ipack = ipack + 1
40646 382854 : packed_data(ipack) = pack_tmp
40647 382854 : data_tmp = full_data(idata)
40648 382854 : pack_tmp = ISHFT(data_tmp, 41)
40649 382854 : pack_tmp = ISHFT(pack_tmp, -41)
40650 382854 : idata = idata + 1
40651 382854 : data_tmp = full_data(idata)
40652 382854 : data_tmp = ISHFT(data_tmp, 13)
40653 382854 : data_tmp = IAND(data_tmp, mask_left(41))
40654 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40655 382854 : ipack = ipack + 1
40656 382854 : packed_data(ipack) = pack_tmp
40657 382854 : data_tmp = full_data(idata)
40658 382854 : pack_tmp = ISHFT(data_tmp, 54)
40659 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40660 382854 : idata = idata + 1
40661 382854 : data_tmp = full_data(idata)
40662 382854 : data_tmp = ISHFT(data_tmp, 13)
40663 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40664 382854 : pack_tmp = ISHFT(pack_tmp, -3)
40665 382854 : idata = idata + 1
40666 382854 : data_tmp = full_data(idata)
40667 382854 : data_tmp = ISHFT(data_tmp, 13)
40668 382854 : data_tmp = IAND(data_tmp, mask_left(3))
40669 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40670 382854 : ipack = ipack + 1
40671 382854 : packed_data(ipack) = pack_tmp
40672 382854 : data_tmp = full_data(idata)
40673 382854 : pack_tmp = ISHFT(data_tmp, 16)
40674 382854 : pack_tmp = ISHFT(pack_tmp, -16)
40675 382854 : idata = idata + 1
40676 382854 : data_tmp = full_data(idata)
40677 382854 : data_tmp = ISHFT(data_tmp, 13)
40678 382854 : data_tmp = IAND(data_tmp, mask_left(16))
40679 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40680 382854 : ipack = ipack + 1
40681 382854 : packed_data(ipack) = pack_tmp
40682 382854 : data_tmp = full_data(idata)
40683 382854 : pack_tmp = ISHFT(data_tmp, 29)
40684 382854 : pack_tmp = ISHFT(pack_tmp, -29)
40685 382854 : idata = idata + 1
40686 382854 : data_tmp = full_data(idata)
40687 382854 : data_tmp = ISHFT(data_tmp, 13)
40688 382854 : data_tmp = IAND(data_tmp, mask_left(29))
40689 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40690 382854 : ipack = ipack + 1
40691 382854 : packed_data(ipack) = pack_tmp
40692 382854 : data_tmp = full_data(idata)
40693 382854 : pack_tmp = ISHFT(data_tmp, 42)
40694 382854 : pack_tmp = ISHFT(pack_tmp, -42)
40695 382854 : idata = idata + 1
40696 382854 : data_tmp = full_data(idata)
40697 382854 : data_tmp = ISHFT(data_tmp, 13)
40698 382854 : data_tmp = IAND(data_tmp, mask_left(42))
40699 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40700 382854 : ipack = ipack + 1
40701 382854 : packed_data(ipack) = pack_tmp
40702 382854 : data_tmp = full_data(idata)
40703 382854 : pack_tmp = ISHFT(data_tmp, 55)
40704 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40705 382854 : idata = idata + 1
40706 382854 : data_tmp = full_data(idata)
40707 382854 : data_tmp = ISHFT(data_tmp, 13)
40708 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40709 382854 : pack_tmp = ISHFT(pack_tmp, -4)
40710 382854 : idata = idata + 1
40711 382854 : data_tmp = full_data(idata)
40712 382854 : data_tmp = ISHFT(data_tmp, 13)
40713 382854 : data_tmp = IAND(data_tmp, mask_left(4))
40714 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40715 382854 : ipack = ipack + 1
40716 382854 : packed_data(ipack) = pack_tmp
40717 382854 : data_tmp = full_data(idata)
40718 382854 : pack_tmp = ISHFT(data_tmp, 17)
40719 382854 : pack_tmp = ISHFT(pack_tmp, -17)
40720 382854 : idata = idata + 1
40721 382854 : data_tmp = full_data(idata)
40722 382854 : data_tmp = ISHFT(data_tmp, 13)
40723 382854 : data_tmp = IAND(data_tmp, mask_left(17))
40724 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40725 382854 : ipack = ipack + 1
40726 382854 : packed_data(ipack) = pack_tmp
40727 382854 : data_tmp = full_data(idata)
40728 382854 : pack_tmp = ISHFT(data_tmp, 30)
40729 382854 : pack_tmp = ISHFT(pack_tmp, -30)
40730 382854 : idata = idata + 1
40731 382854 : data_tmp = full_data(idata)
40732 382854 : data_tmp = ISHFT(data_tmp, 13)
40733 382854 : data_tmp = IAND(data_tmp, mask_left(30))
40734 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40735 382854 : ipack = ipack + 1
40736 382854 : packed_data(ipack) = pack_tmp
40737 382854 : data_tmp = full_data(idata)
40738 382854 : pack_tmp = ISHFT(data_tmp, 43)
40739 382854 : pack_tmp = ISHFT(pack_tmp, -43)
40740 382854 : idata = idata + 1
40741 382854 : data_tmp = full_data(idata)
40742 382854 : data_tmp = ISHFT(data_tmp, 13)
40743 382854 : data_tmp = IAND(data_tmp, mask_left(43))
40744 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40745 382854 : ipack = ipack + 1
40746 382854 : packed_data(ipack) = pack_tmp
40747 382854 : data_tmp = full_data(idata)
40748 382854 : pack_tmp = ISHFT(data_tmp, 56)
40749 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40750 382854 : idata = idata + 1
40751 382854 : data_tmp = full_data(idata)
40752 382854 : data_tmp = ISHFT(data_tmp, 13)
40753 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40754 382854 : pack_tmp = ISHFT(pack_tmp, -5)
40755 382854 : idata = idata + 1
40756 382854 : data_tmp = full_data(idata)
40757 382854 : data_tmp = ISHFT(data_tmp, 13)
40758 382854 : data_tmp = IAND(data_tmp, mask_left(5))
40759 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40760 382854 : ipack = ipack + 1
40761 382854 : packed_data(ipack) = pack_tmp
40762 382854 : data_tmp = full_data(idata)
40763 382854 : pack_tmp = ISHFT(data_tmp, 18)
40764 382854 : pack_tmp = ISHFT(pack_tmp, -18)
40765 382854 : idata = idata + 1
40766 382854 : data_tmp = full_data(idata)
40767 382854 : data_tmp = ISHFT(data_tmp, 13)
40768 382854 : data_tmp = IAND(data_tmp, mask_left(18))
40769 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40770 382854 : ipack = ipack + 1
40771 382854 : packed_data(ipack) = pack_tmp
40772 382854 : data_tmp = full_data(idata)
40773 382854 : pack_tmp = ISHFT(data_tmp, 31)
40774 382854 : pack_tmp = ISHFT(pack_tmp, -31)
40775 382854 : idata = idata + 1
40776 382854 : data_tmp = full_data(idata)
40777 382854 : data_tmp = ISHFT(data_tmp, 13)
40778 382854 : data_tmp = IAND(data_tmp, mask_left(31))
40779 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40780 382854 : ipack = ipack + 1
40781 382854 : packed_data(ipack) = pack_tmp
40782 382854 : data_tmp = full_data(idata)
40783 382854 : pack_tmp = ISHFT(data_tmp, 44)
40784 382854 : pack_tmp = ISHFT(pack_tmp, -44)
40785 382854 : idata = idata + 1
40786 382854 : data_tmp = full_data(idata)
40787 382854 : data_tmp = ISHFT(data_tmp, 13)
40788 382854 : data_tmp = IAND(data_tmp, mask_left(44))
40789 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40790 382854 : ipack = ipack + 1
40791 382854 : packed_data(ipack) = pack_tmp
40792 382854 : data_tmp = full_data(idata)
40793 382854 : pack_tmp = ISHFT(data_tmp, 57)
40794 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40795 382854 : idata = idata + 1
40796 382854 : data_tmp = full_data(idata)
40797 382854 : data_tmp = ISHFT(data_tmp, 13)
40798 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40799 382854 : pack_tmp = ISHFT(pack_tmp, -6)
40800 382854 : idata = idata + 1
40801 382854 : data_tmp = full_data(idata)
40802 382854 : data_tmp = ISHFT(data_tmp, 13)
40803 382854 : data_tmp = IAND(data_tmp, mask_left(6))
40804 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40805 382854 : ipack = ipack + 1
40806 382854 : packed_data(ipack) = pack_tmp
40807 382854 : data_tmp = full_data(idata)
40808 382854 : pack_tmp = ISHFT(data_tmp, 19)
40809 382854 : pack_tmp = ISHFT(pack_tmp, -19)
40810 382854 : idata = idata + 1
40811 382854 : data_tmp = full_data(idata)
40812 382854 : data_tmp = ISHFT(data_tmp, 13)
40813 382854 : data_tmp = IAND(data_tmp, mask_left(19))
40814 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40815 382854 : ipack = ipack + 1
40816 382854 : packed_data(ipack) = pack_tmp
40817 382854 : data_tmp = full_data(idata)
40818 382854 : pack_tmp = ISHFT(data_tmp, 32)
40819 382854 : pack_tmp = ISHFT(pack_tmp, -32)
40820 382854 : idata = idata + 1
40821 382854 : data_tmp = full_data(idata)
40822 382854 : data_tmp = ISHFT(data_tmp, 13)
40823 382854 : data_tmp = IAND(data_tmp, mask_left(32))
40824 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40825 382854 : ipack = ipack + 1
40826 382854 : packed_data(ipack) = pack_tmp
40827 382854 : data_tmp = full_data(idata)
40828 382854 : pack_tmp = ISHFT(data_tmp, 45)
40829 382854 : pack_tmp = ISHFT(pack_tmp, -45)
40830 382854 : idata = idata + 1
40831 382854 : data_tmp = full_data(idata)
40832 382854 : data_tmp = ISHFT(data_tmp, 13)
40833 382854 : data_tmp = IAND(data_tmp, mask_left(45))
40834 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40835 382854 : ipack = ipack + 1
40836 382854 : packed_data(ipack) = pack_tmp
40837 382854 : data_tmp = full_data(idata)
40838 382854 : pack_tmp = ISHFT(data_tmp, 58)
40839 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40840 382854 : idata = idata + 1
40841 382854 : data_tmp = full_data(idata)
40842 382854 : data_tmp = ISHFT(data_tmp, 13)
40843 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40844 382854 : pack_tmp = ISHFT(pack_tmp, -7)
40845 382854 : idata = idata + 1
40846 382854 : data_tmp = full_data(idata)
40847 382854 : data_tmp = ISHFT(data_tmp, 13)
40848 382854 : data_tmp = IAND(data_tmp, mask_left(7))
40849 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40850 382854 : ipack = ipack + 1
40851 382854 : packed_data(ipack) = pack_tmp
40852 382854 : data_tmp = full_data(idata)
40853 382854 : pack_tmp = ISHFT(data_tmp, 20)
40854 382854 : pack_tmp = ISHFT(pack_tmp, -20)
40855 382854 : idata = idata + 1
40856 382854 : data_tmp = full_data(idata)
40857 382854 : data_tmp = ISHFT(data_tmp, 13)
40858 382854 : data_tmp = IAND(data_tmp, mask_left(20))
40859 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40860 382854 : ipack = ipack + 1
40861 382854 : packed_data(ipack) = pack_tmp
40862 382854 : data_tmp = full_data(idata)
40863 382854 : pack_tmp = ISHFT(data_tmp, 33)
40864 382854 : pack_tmp = ISHFT(pack_tmp, -33)
40865 382854 : idata = idata + 1
40866 382854 : data_tmp = full_data(idata)
40867 382854 : data_tmp = ISHFT(data_tmp, 13)
40868 382854 : data_tmp = IAND(data_tmp, mask_left(33))
40869 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40870 382854 : ipack = ipack + 1
40871 382854 : packed_data(ipack) = pack_tmp
40872 382854 : data_tmp = full_data(idata)
40873 382854 : pack_tmp = ISHFT(data_tmp, 46)
40874 382854 : pack_tmp = ISHFT(pack_tmp, -46)
40875 382854 : idata = idata + 1
40876 382854 : data_tmp = full_data(idata)
40877 382854 : data_tmp = ISHFT(data_tmp, 13)
40878 382854 : data_tmp = IAND(data_tmp, mask_left(46))
40879 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40880 382854 : ipack = ipack + 1
40881 382854 : packed_data(ipack) = pack_tmp
40882 382854 : data_tmp = full_data(idata)
40883 382854 : pack_tmp = ISHFT(data_tmp, 59)
40884 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40885 382854 : idata = idata + 1
40886 382854 : data_tmp = full_data(idata)
40887 382854 : data_tmp = ISHFT(data_tmp, 13)
40888 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40889 382854 : pack_tmp = ISHFT(pack_tmp, -8)
40890 382854 : idata = idata + 1
40891 382854 : data_tmp = full_data(idata)
40892 382854 : data_tmp = ISHFT(data_tmp, 13)
40893 382854 : data_tmp = IAND(data_tmp, mask_left(8))
40894 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40895 382854 : ipack = ipack + 1
40896 382854 : packed_data(ipack) = pack_tmp
40897 382854 : data_tmp = full_data(idata)
40898 382854 : pack_tmp = ISHFT(data_tmp, 21)
40899 382854 : pack_tmp = ISHFT(pack_tmp, -21)
40900 382854 : idata = idata + 1
40901 382854 : data_tmp = full_data(idata)
40902 382854 : data_tmp = ISHFT(data_tmp, 13)
40903 382854 : data_tmp = IAND(data_tmp, mask_left(21))
40904 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40905 382854 : ipack = ipack + 1
40906 382854 : packed_data(ipack) = pack_tmp
40907 382854 : data_tmp = full_data(idata)
40908 382854 : pack_tmp = ISHFT(data_tmp, 34)
40909 382854 : pack_tmp = ISHFT(pack_tmp, -34)
40910 382854 : idata = idata + 1
40911 382854 : data_tmp = full_data(idata)
40912 382854 : data_tmp = ISHFT(data_tmp, 13)
40913 382854 : data_tmp = IAND(data_tmp, mask_left(34))
40914 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40915 382854 : ipack = ipack + 1
40916 382854 : packed_data(ipack) = pack_tmp
40917 382854 : data_tmp = full_data(idata)
40918 382854 : pack_tmp = ISHFT(data_tmp, 47)
40919 382854 : pack_tmp = ISHFT(pack_tmp, -47)
40920 382854 : idata = idata + 1
40921 382854 : data_tmp = full_data(idata)
40922 382854 : data_tmp = ISHFT(data_tmp, 13)
40923 382854 : data_tmp = IAND(data_tmp, mask_left(47))
40924 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40925 382854 : ipack = ipack + 1
40926 382854 : packed_data(ipack) = pack_tmp
40927 382854 : data_tmp = full_data(idata)
40928 382854 : pack_tmp = ISHFT(data_tmp, 60)
40929 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40930 382854 : idata = idata + 1
40931 382854 : data_tmp = full_data(idata)
40932 382854 : data_tmp = ISHFT(data_tmp, 13)
40933 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40934 382854 : pack_tmp = ISHFT(pack_tmp, -9)
40935 382854 : idata = idata + 1
40936 382854 : data_tmp = full_data(idata)
40937 382854 : data_tmp = ISHFT(data_tmp, 13)
40938 382854 : data_tmp = IAND(data_tmp, mask_left(9))
40939 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40940 382854 : ipack = ipack + 1
40941 382854 : packed_data(ipack) = pack_tmp
40942 382854 : data_tmp = full_data(idata)
40943 382854 : pack_tmp = ISHFT(data_tmp, 22)
40944 382854 : pack_tmp = ISHFT(pack_tmp, -22)
40945 382854 : idata = idata + 1
40946 382854 : data_tmp = full_data(idata)
40947 382854 : data_tmp = ISHFT(data_tmp, 13)
40948 382854 : data_tmp = IAND(data_tmp, mask_left(22))
40949 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40950 382854 : ipack = ipack + 1
40951 382854 : packed_data(ipack) = pack_tmp
40952 382854 : data_tmp = full_data(idata)
40953 382854 : pack_tmp = ISHFT(data_tmp, 35)
40954 382854 : pack_tmp = ISHFT(pack_tmp, -35)
40955 382854 : idata = idata + 1
40956 382854 : data_tmp = full_data(idata)
40957 382854 : data_tmp = ISHFT(data_tmp, 13)
40958 382854 : data_tmp = IAND(data_tmp, mask_left(35))
40959 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40960 382854 : ipack = ipack + 1
40961 382854 : packed_data(ipack) = pack_tmp
40962 382854 : data_tmp = full_data(idata)
40963 382854 : pack_tmp = ISHFT(data_tmp, 48)
40964 382854 : pack_tmp = ISHFT(pack_tmp, -48)
40965 382854 : idata = idata + 1
40966 382854 : data_tmp = full_data(idata)
40967 382854 : data_tmp = ISHFT(data_tmp, 13)
40968 382854 : data_tmp = IAND(data_tmp, mask_left(48))
40969 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40970 382854 : ipack = ipack + 1
40971 382854 : packed_data(ipack) = pack_tmp
40972 382854 : data_tmp = full_data(idata)
40973 382854 : pack_tmp = ISHFT(data_tmp, 61)
40974 382854 : pack_tmp = ISHFT(pack_tmp, -51)
40975 382854 : idata = idata + 1
40976 382854 : data_tmp = full_data(idata)
40977 382854 : data_tmp = ISHFT(data_tmp, 13)
40978 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40979 382854 : pack_tmp = ISHFT(pack_tmp, -10)
40980 382854 : idata = idata + 1
40981 382854 : data_tmp = full_data(idata)
40982 382854 : data_tmp = ISHFT(data_tmp, 13)
40983 382854 : data_tmp = IAND(data_tmp, mask_left(10))
40984 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40985 382854 : ipack = ipack + 1
40986 382854 : packed_data(ipack) = pack_tmp
40987 382854 : data_tmp = full_data(idata)
40988 382854 : pack_tmp = ISHFT(data_tmp, 23)
40989 382854 : pack_tmp = ISHFT(pack_tmp, -23)
40990 382854 : idata = idata + 1
40991 382854 : data_tmp = full_data(idata)
40992 382854 : data_tmp = ISHFT(data_tmp, 13)
40993 382854 : data_tmp = IAND(data_tmp, mask_left(23))
40994 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
40995 382854 : ipack = ipack + 1
40996 382854 : packed_data(ipack) = pack_tmp
40997 382854 : data_tmp = full_data(idata)
40998 382854 : pack_tmp = ISHFT(data_tmp, 36)
40999 382854 : pack_tmp = ISHFT(pack_tmp, -36)
41000 382854 : idata = idata + 1
41001 382854 : data_tmp = full_data(idata)
41002 382854 : data_tmp = ISHFT(data_tmp, 13)
41003 382854 : data_tmp = IAND(data_tmp, mask_left(36))
41004 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41005 382854 : ipack = ipack + 1
41006 382854 : packed_data(ipack) = pack_tmp
41007 382854 : data_tmp = full_data(idata)
41008 382854 : pack_tmp = ISHFT(data_tmp, 49)
41009 382854 : pack_tmp = ISHFT(pack_tmp, -49)
41010 382854 : idata = idata + 1
41011 382854 : data_tmp = full_data(idata)
41012 382854 : data_tmp = ISHFT(data_tmp, 13)
41013 382854 : data_tmp = IAND(data_tmp, mask_left(49))
41014 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41015 382854 : ipack = ipack + 1
41016 382854 : packed_data(ipack) = pack_tmp
41017 382854 : data_tmp = full_data(idata)
41018 382854 : pack_tmp = ISHFT(data_tmp, 62)
41019 382854 : pack_tmp = ISHFT(pack_tmp, -51)
41020 382854 : idata = idata + 1
41021 382854 : data_tmp = full_data(idata)
41022 382854 : data_tmp = ISHFT(data_tmp, 13)
41023 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41024 382854 : pack_tmp = ISHFT(pack_tmp, -11)
41025 382854 : idata = idata + 1
41026 382854 : data_tmp = full_data(idata)
41027 382854 : data_tmp = ISHFT(data_tmp, 13)
41028 382854 : data_tmp = IAND(data_tmp, mask_left(11))
41029 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41030 382854 : ipack = ipack + 1
41031 382854 : packed_data(ipack) = pack_tmp
41032 382854 : data_tmp = full_data(idata)
41033 382854 : pack_tmp = ISHFT(data_tmp, 24)
41034 382854 : pack_tmp = ISHFT(pack_tmp, -24)
41035 382854 : idata = idata + 1
41036 382854 : data_tmp = full_data(idata)
41037 382854 : data_tmp = ISHFT(data_tmp, 13)
41038 382854 : data_tmp = IAND(data_tmp, mask_left(24))
41039 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41040 382854 : ipack = ipack + 1
41041 382854 : packed_data(ipack) = pack_tmp
41042 382854 : data_tmp = full_data(idata)
41043 382854 : pack_tmp = ISHFT(data_tmp, 37)
41044 382854 : pack_tmp = ISHFT(pack_tmp, -37)
41045 382854 : idata = idata + 1
41046 382854 : data_tmp = full_data(idata)
41047 382854 : data_tmp = ISHFT(data_tmp, 13)
41048 382854 : data_tmp = IAND(data_tmp, mask_left(37))
41049 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41050 382854 : ipack = ipack + 1
41051 382854 : packed_data(ipack) = pack_tmp
41052 382854 : data_tmp = full_data(idata)
41053 382854 : pack_tmp = ISHFT(data_tmp, 50)
41054 382854 : pack_tmp = ISHFT(pack_tmp, -50)
41055 382854 : idata = idata + 1
41056 382854 : data_tmp = full_data(idata)
41057 382854 : data_tmp = ISHFT(data_tmp, 13)
41058 382854 : data_tmp = IAND(data_tmp, mask_left(50))
41059 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41060 382854 : ipack = ipack + 1
41061 382854 : packed_data(ipack) = pack_tmp
41062 382854 : data_tmp = full_data(idata)
41063 382854 : pack_tmp = ISHFT(data_tmp, 63)
41064 382854 : pack_tmp = ISHFT(pack_tmp, -51)
41065 382854 : idata = idata + 1
41066 382854 : data_tmp = full_data(idata)
41067 382854 : data_tmp = ISHFT(data_tmp, 13)
41068 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41069 382854 : pack_tmp = ISHFT(pack_tmp, -12)
41070 382854 : idata = idata + 1
41071 382854 : data_tmp = full_data(idata)
41072 382854 : data_tmp = ISHFT(data_tmp, 13)
41073 382854 : data_tmp = IAND(data_tmp, mask_left(12))
41074 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41075 382854 : ipack = ipack + 1
41076 382854 : packed_data(ipack) = pack_tmp
41077 382854 : data_tmp = full_data(idata)
41078 382854 : pack_tmp = ISHFT(data_tmp, 25)
41079 382854 : pack_tmp = ISHFT(pack_tmp, -25)
41080 382854 : idata = idata + 1
41081 382854 : data_tmp = full_data(idata)
41082 382854 : data_tmp = ISHFT(data_tmp, 13)
41083 382854 : data_tmp = IAND(data_tmp, mask_left(25))
41084 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41085 382854 : ipack = ipack + 1
41086 382854 : packed_data(ipack) = pack_tmp
41087 382854 : data_tmp = full_data(idata)
41088 382854 : pack_tmp = ISHFT(data_tmp, 38)
41089 382854 : pack_tmp = ISHFT(pack_tmp, -38)
41090 382854 : idata = idata + 1
41091 382854 : data_tmp = full_data(idata)
41092 382854 : data_tmp = ISHFT(data_tmp, 13)
41093 382854 : data_tmp = IAND(data_tmp, mask_left(38))
41094 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41095 382854 : ipack = ipack + 1
41096 382854 : packed_data(ipack) = pack_tmp
41097 382854 : data_tmp = full_data(idata)
41098 382854 : pack_tmp = ISHFT(data_tmp, 51)
41099 382854 : pack_tmp = ISHFT(pack_tmp, -51)
41100 382854 : idata = idata + 1
41101 382854 : data_tmp = full_data(idata)
41102 382854 : data_tmp = ISHFT(data_tmp, 13)
41103 382854 : pack_tmp = IOR(pack_tmp, data_tmp)
41104 : pack_tmp = ISHFT(pack_tmp, 0)
41105 382854 : pack_tmp = ISHFT(pack_tmp, 0)
41106 382854 : ipack = ipack + 1
41107 382898 : packed_data(ipack) = pack_tmp
41108 : END DO
41109 24160 : 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 24160 : END SUBROUTINE ints2bits_51
41113 :
41114 : ! **************************************************************************************************
41115 : !> \brief ...
41116 : !> \param Ndata ...
41117 : !> \param packed_data ...
41118 : !> \param full_data ...
41119 : ! **************************************************************************************************
41120 98507 : 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 98507 : ipack = 0
41131 98507 : idata = 0
41132 98507 : pack_tmp = 0
41133 98507 : Ndata_rep = (Ndata/64)*64
41134 98507 : DO kdata = 1, Ndata_rep, 64
41135 1552754 : idata = idata + 1
41136 1552754 : data_tmp = ISHFT(pack_tmp, 51)
41137 1552754 : ipack = ipack + 1
41138 1552754 : pack_tmp = packed_data(ipack)
41139 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
41140 1552754 : pack_tmp = ISHFT(pack_tmp, -51)
41141 1552754 : idata = idata + 1
41142 1552754 : data_tmp = ISHFT(pack_tmp, 38)
41143 1552754 : ipack = ipack + 1
41144 1552754 : pack_tmp = packed_data(ipack)
41145 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
41146 1552754 : pack_tmp = ISHFT(pack_tmp, -38)
41147 1552754 : idata = idata + 1
41148 1552754 : data_tmp = ISHFT(pack_tmp, 25)
41149 1552754 : ipack = ipack + 1
41150 1552754 : pack_tmp = packed_data(ipack)
41151 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
41152 1552754 : pack_tmp = ISHFT(pack_tmp, -25)
41153 1552754 : idata = idata + 1
41154 1552754 : data_tmp = ISHFT(pack_tmp, 12)
41155 1552754 : ipack = ipack + 1
41156 1552754 : pack_tmp = packed_data(ipack)
41157 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
41158 1552754 : pack_tmp = ISHFT(pack_tmp, -12)
41159 1552754 : idata = idata + 1
41160 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41161 1552754 : full_data(idata) = data_tmp
41162 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41163 1552754 : idata = idata + 1
41164 1552754 : data_tmp = ISHFT(pack_tmp, 50)
41165 1552754 : ipack = ipack + 1
41166 1552754 : pack_tmp = packed_data(ipack)
41167 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
41168 1552754 : pack_tmp = ISHFT(pack_tmp, -50)
41169 1552754 : idata = idata + 1
41170 1552754 : data_tmp = ISHFT(pack_tmp, 37)
41171 1552754 : ipack = ipack + 1
41172 1552754 : pack_tmp = packed_data(ipack)
41173 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
41174 1552754 : pack_tmp = ISHFT(pack_tmp, -37)
41175 1552754 : idata = idata + 1
41176 1552754 : data_tmp = ISHFT(pack_tmp, 24)
41177 1552754 : ipack = ipack + 1
41178 1552754 : pack_tmp = packed_data(ipack)
41179 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
41180 1552754 : pack_tmp = ISHFT(pack_tmp, -24)
41181 1552754 : idata = idata + 1
41182 1552754 : data_tmp = ISHFT(pack_tmp, 11)
41183 1552754 : ipack = ipack + 1
41184 1552754 : pack_tmp = packed_data(ipack)
41185 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
41186 1552754 : pack_tmp = ISHFT(pack_tmp, -11)
41187 1552754 : idata = idata + 1
41188 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41189 1552754 : full_data(idata) = data_tmp
41190 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41191 1552754 : idata = idata + 1
41192 1552754 : data_tmp = ISHFT(pack_tmp, 49)
41193 1552754 : ipack = ipack + 1
41194 1552754 : pack_tmp = packed_data(ipack)
41195 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
41196 1552754 : pack_tmp = ISHFT(pack_tmp, -49)
41197 1552754 : idata = idata + 1
41198 1552754 : data_tmp = ISHFT(pack_tmp, 36)
41199 1552754 : ipack = ipack + 1
41200 1552754 : pack_tmp = packed_data(ipack)
41201 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
41202 1552754 : pack_tmp = ISHFT(pack_tmp, -36)
41203 1552754 : idata = idata + 1
41204 1552754 : data_tmp = ISHFT(pack_tmp, 23)
41205 1552754 : ipack = ipack + 1
41206 1552754 : pack_tmp = packed_data(ipack)
41207 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
41208 1552754 : pack_tmp = ISHFT(pack_tmp, -23)
41209 1552754 : idata = idata + 1
41210 1552754 : data_tmp = ISHFT(pack_tmp, 10)
41211 1552754 : ipack = ipack + 1
41212 1552754 : pack_tmp = packed_data(ipack)
41213 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
41214 1552754 : pack_tmp = ISHFT(pack_tmp, -10)
41215 1552754 : idata = idata + 1
41216 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41217 1552754 : full_data(idata) = data_tmp
41218 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41219 1552754 : idata = idata + 1
41220 1552754 : data_tmp = ISHFT(pack_tmp, 48)
41221 1552754 : ipack = ipack + 1
41222 1552754 : pack_tmp = packed_data(ipack)
41223 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
41224 1552754 : pack_tmp = ISHFT(pack_tmp, -48)
41225 1552754 : idata = idata + 1
41226 1552754 : data_tmp = ISHFT(pack_tmp, 35)
41227 1552754 : ipack = ipack + 1
41228 1552754 : pack_tmp = packed_data(ipack)
41229 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
41230 1552754 : pack_tmp = ISHFT(pack_tmp, -35)
41231 1552754 : idata = idata + 1
41232 1552754 : data_tmp = ISHFT(pack_tmp, 22)
41233 1552754 : ipack = ipack + 1
41234 1552754 : pack_tmp = packed_data(ipack)
41235 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
41236 1552754 : pack_tmp = ISHFT(pack_tmp, -22)
41237 1552754 : idata = idata + 1
41238 1552754 : data_tmp = ISHFT(pack_tmp, 9)
41239 1552754 : ipack = ipack + 1
41240 1552754 : pack_tmp = packed_data(ipack)
41241 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
41242 1552754 : pack_tmp = ISHFT(pack_tmp, -9)
41243 1552754 : idata = idata + 1
41244 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41245 1552754 : full_data(idata) = data_tmp
41246 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41247 1552754 : idata = idata + 1
41248 1552754 : data_tmp = ISHFT(pack_tmp, 47)
41249 1552754 : ipack = ipack + 1
41250 1552754 : pack_tmp = packed_data(ipack)
41251 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
41252 1552754 : pack_tmp = ISHFT(pack_tmp, -47)
41253 1552754 : idata = idata + 1
41254 1552754 : data_tmp = ISHFT(pack_tmp, 34)
41255 1552754 : ipack = ipack + 1
41256 1552754 : pack_tmp = packed_data(ipack)
41257 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
41258 1552754 : pack_tmp = ISHFT(pack_tmp, -34)
41259 1552754 : idata = idata + 1
41260 1552754 : data_tmp = ISHFT(pack_tmp, 21)
41261 1552754 : ipack = ipack + 1
41262 1552754 : pack_tmp = packed_data(ipack)
41263 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
41264 1552754 : pack_tmp = ISHFT(pack_tmp, -21)
41265 1552754 : idata = idata + 1
41266 1552754 : data_tmp = ISHFT(pack_tmp, 8)
41267 1552754 : ipack = ipack + 1
41268 1552754 : pack_tmp = packed_data(ipack)
41269 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
41270 1552754 : pack_tmp = ISHFT(pack_tmp, -8)
41271 1552754 : idata = idata + 1
41272 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41273 1552754 : full_data(idata) = data_tmp
41274 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41275 1552754 : idata = idata + 1
41276 1552754 : data_tmp = ISHFT(pack_tmp, 46)
41277 1552754 : ipack = ipack + 1
41278 1552754 : pack_tmp = packed_data(ipack)
41279 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
41280 1552754 : pack_tmp = ISHFT(pack_tmp, -46)
41281 1552754 : idata = idata + 1
41282 1552754 : data_tmp = ISHFT(pack_tmp, 33)
41283 1552754 : ipack = ipack + 1
41284 1552754 : pack_tmp = packed_data(ipack)
41285 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
41286 1552754 : pack_tmp = ISHFT(pack_tmp, -33)
41287 1552754 : idata = idata + 1
41288 1552754 : data_tmp = ISHFT(pack_tmp, 20)
41289 1552754 : ipack = ipack + 1
41290 1552754 : pack_tmp = packed_data(ipack)
41291 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
41292 1552754 : pack_tmp = ISHFT(pack_tmp, -20)
41293 1552754 : idata = idata + 1
41294 1552754 : data_tmp = ISHFT(pack_tmp, 7)
41295 1552754 : ipack = ipack + 1
41296 1552754 : pack_tmp = packed_data(ipack)
41297 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
41298 1552754 : pack_tmp = ISHFT(pack_tmp, -7)
41299 1552754 : idata = idata + 1
41300 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41301 1552754 : full_data(idata) = data_tmp
41302 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41303 1552754 : idata = idata + 1
41304 1552754 : data_tmp = ISHFT(pack_tmp, 45)
41305 1552754 : ipack = ipack + 1
41306 1552754 : pack_tmp = packed_data(ipack)
41307 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
41308 1552754 : pack_tmp = ISHFT(pack_tmp, -45)
41309 1552754 : idata = idata + 1
41310 1552754 : data_tmp = ISHFT(pack_tmp, 32)
41311 1552754 : ipack = ipack + 1
41312 1552754 : pack_tmp = packed_data(ipack)
41313 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
41314 1552754 : pack_tmp = ISHFT(pack_tmp, -32)
41315 1552754 : idata = idata + 1
41316 1552754 : data_tmp = ISHFT(pack_tmp, 19)
41317 1552754 : ipack = ipack + 1
41318 1552754 : pack_tmp = packed_data(ipack)
41319 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
41320 1552754 : pack_tmp = ISHFT(pack_tmp, -19)
41321 1552754 : idata = idata + 1
41322 1552754 : data_tmp = ISHFT(pack_tmp, 6)
41323 1552754 : ipack = ipack + 1
41324 1552754 : pack_tmp = packed_data(ipack)
41325 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
41326 1552754 : pack_tmp = ISHFT(pack_tmp, -6)
41327 1552754 : idata = idata + 1
41328 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41329 1552754 : full_data(idata) = data_tmp
41330 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41331 1552754 : idata = idata + 1
41332 1552754 : data_tmp = ISHFT(pack_tmp, 44)
41333 1552754 : ipack = ipack + 1
41334 1552754 : pack_tmp = packed_data(ipack)
41335 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
41336 1552754 : pack_tmp = ISHFT(pack_tmp, -44)
41337 1552754 : idata = idata + 1
41338 1552754 : data_tmp = ISHFT(pack_tmp, 31)
41339 1552754 : ipack = ipack + 1
41340 1552754 : pack_tmp = packed_data(ipack)
41341 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
41342 1552754 : pack_tmp = ISHFT(pack_tmp, -31)
41343 1552754 : idata = idata + 1
41344 1552754 : data_tmp = ISHFT(pack_tmp, 18)
41345 1552754 : ipack = ipack + 1
41346 1552754 : pack_tmp = packed_data(ipack)
41347 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
41348 1552754 : pack_tmp = ISHFT(pack_tmp, -18)
41349 1552754 : idata = idata + 1
41350 1552754 : data_tmp = ISHFT(pack_tmp, 5)
41351 1552754 : ipack = ipack + 1
41352 1552754 : pack_tmp = packed_data(ipack)
41353 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
41354 1552754 : pack_tmp = ISHFT(pack_tmp, -5)
41355 1552754 : idata = idata + 1
41356 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41357 1552754 : full_data(idata) = data_tmp
41358 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41359 1552754 : idata = idata + 1
41360 1552754 : data_tmp = ISHFT(pack_tmp, 43)
41361 1552754 : ipack = ipack + 1
41362 1552754 : pack_tmp = packed_data(ipack)
41363 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
41364 1552754 : pack_tmp = ISHFT(pack_tmp, -43)
41365 1552754 : idata = idata + 1
41366 1552754 : data_tmp = ISHFT(pack_tmp, 30)
41367 1552754 : ipack = ipack + 1
41368 1552754 : pack_tmp = packed_data(ipack)
41369 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
41370 1552754 : pack_tmp = ISHFT(pack_tmp, -30)
41371 1552754 : idata = idata + 1
41372 1552754 : data_tmp = ISHFT(pack_tmp, 17)
41373 1552754 : ipack = ipack + 1
41374 1552754 : pack_tmp = packed_data(ipack)
41375 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
41376 1552754 : pack_tmp = ISHFT(pack_tmp, -17)
41377 1552754 : idata = idata + 1
41378 1552754 : data_tmp = ISHFT(pack_tmp, 4)
41379 1552754 : ipack = ipack + 1
41380 1552754 : pack_tmp = packed_data(ipack)
41381 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
41382 1552754 : pack_tmp = ISHFT(pack_tmp, -4)
41383 1552754 : idata = idata + 1
41384 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41385 1552754 : full_data(idata) = data_tmp
41386 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41387 1552754 : idata = idata + 1
41388 1552754 : data_tmp = ISHFT(pack_tmp, 42)
41389 1552754 : ipack = ipack + 1
41390 1552754 : pack_tmp = packed_data(ipack)
41391 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
41392 1552754 : pack_tmp = ISHFT(pack_tmp, -42)
41393 1552754 : idata = idata + 1
41394 1552754 : data_tmp = ISHFT(pack_tmp, 29)
41395 1552754 : ipack = ipack + 1
41396 1552754 : pack_tmp = packed_data(ipack)
41397 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
41398 1552754 : pack_tmp = ISHFT(pack_tmp, -29)
41399 1552754 : idata = idata + 1
41400 1552754 : data_tmp = ISHFT(pack_tmp, 16)
41401 1552754 : ipack = ipack + 1
41402 1552754 : pack_tmp = packed_data(ipack)
41403 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
41404 1552754 : pack_tmp = ISHFT(pack_tmp, -16)
41405 1552754 : idata = idata + 1
41406 1552754 : data_tmp = ISHFT(pack_tmp, 3)
41407 1552754 : ipack = ipack + 1
41408 1552754 : pack_tmp = packed_data(ipack)
41409 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
41410 1552754 : pack_tmp = ISHFT(pack_tmp, -3)
41411 1552754 : idata = idata + 1
41412 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41413 1552754 : full_data(idata) = data_tmp
41414 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41415 1552754 : idata = idata + 1
41416 1552754 : data_tmp = ISHFT(pack_tmp, 41)
41417 1552754 : ipack = ipack + 1
41418 1552754 : pack_tmp = packed_data(ipack)
41419 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
41420 1552754 : pack_tmp = ISHFT(pack_tmp, -41)
41421 1552754 : idata = idata + 1
41422 1552754 : data_tmp = ISHFT(pack_tmp, 28)
41423 1552754 : ipack = ipack + 1
41424 1552754 : pack_tmp = packed_data(ipack)
41425 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
41426 1552754 : pack_tmp = ISHFT(pack_tmp, -28)
41427 1552754 : idata = idata + 1
41428 1552754 : data_tmp = ISHFT(pack_tmp, 15)
41429 1552754 : ipack = ipack + 1
41430 1552754 : pack_tmp = packed_data(ipack)
41431 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
41432 1552754 : pack_tmp = ISHFT(pack_tmp, -15)
41433 1552754 : idata = idata + 1
41434 1552754 : data_tmp = ISHFT(pack_tmp, 2)
41435 1552754 : ipack = ipack + 1
41436 1552754 : pack_tmp = packed_data(ipack)
41437 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
41438 1552754 : pack_tmp = ISHFT(pack_tmp, -2)
41439 1552754 : idata = idata + 1
41440 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41441 1552754 : full_data(idata) = data_tmp
41442 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41443 1552754 : idata = idata + 1
41444 1552754 : data_tmp = ISHFT(pack_tmp, 40)
41445 1552754 : ipack = ipack + 1
41446 1552754 : pack_tmp = packed_data(ipack)
41447 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
41448 1552754 : pack_tmp = ISHFT(pack_tmp, -40)
41449 1552754 : idata = idata + 1
41450 1552754 : data_tmp = ISHFT(pack_tmp, 27)
41451 1552754 : ipack = ipack + 1
41452 1552754 : pack_tmp = packed_data(ipack)
41453 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
41454 1552754 : pack_tmp = ISHFT(pack_tmp, -27)
41455 1552754 : idata = idata + 1
41456 1552754 : data_tmp = ISHFT(pack_tmp, 14)
41457 1552754 : ipack = ipack + 1
41458 1552754 : pack_tmp = packed_data(ipack)
41459 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
41460 1552754 : pack_tmp = ISHFT(pack_tmp, -14)
41461 1552754 : idata = idata + 1
41462 1552754 : data_tmp = ISHFT(pack_tmp, 1)
41463 1552754 : ipack = ipack + 1
41464 1552754 : pack_tmp = packed_data(ipack)
41465 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
41466 1552754 : pack_tmp = ISHFT(pack_tmp, -1)
41467 1552754 : idata = idata + 1
41468 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41469 1552754 : full_data(idata) = data_tmp
41470 1552754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41471 1552754 : idata = idata + 1
41472 1552754 : data_tmp = ISHFT(pack_tmp, 39)
41473 1552754 : ipack = ipack + 1
41474 1552754 : pack_tmp = packed_data(ipack)
41475 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
41476 1552754 : pack_tmp = ISHFT(pack_tmp, -39)
41477 1552754 : idata = idata + 1
41478 1552754 : data_tmp = ISHFT(pack_tmp, 26)
41479 1552754 : ipack = ipack + 1
41480 1552754 : pack_tmp = packed_data(ipack)
41481 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
41482 1552754 : pack_tmp = ISHFT(pack_tmp, -26)
41483 1552754 : idata = idata + 1
41484 1552754 : data_tmp = ISHFT(pack_tmp, 13)
41485 1552754 : ipack = ipack + 1
41486 1552754 : pack_tmp = packed_data(ipack)
41487 1552754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
41488 1552754 : pack_tmp = ISHFT(pack_tmp, -13)
41489 1552754 : idata = idata + 1
41490 1552754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41491 1552754 : full_data(idata) = data_tmp
41492 1553078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41493 : END DO
41494 98507 : 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 98507 : END SUBROUTINE bits2ints_51
41498 :
41499 : ! **************************************************************************************************
41500 : !> \brief ...
41501 : !> \param Ndata ...
41502 : !> \param packed_data ...
41503 : !> \param full_data ...
41504 : ! **************************************************************************************************
41505 24186 : 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 24186 : idata = 0
41516 24186 : ipack = 0
41517 24186 : Ndata_rep = (Ndata/64)*64
41518 24186 : DO kdata = 1, Ndata_rep, 64
41519 383032 : pack_tmp = 0
41520 383032 : idata = idata + 1
41521 383032 : data_tmp = full_data(idata)
41522 383032 : data_tmp = ISHFT(data_tmp, 12)
41523 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41524 383032 : pack_tmp = ISHFT(pack_tmp, -12)
41525 383032 : idata = idata + 1
41526 383032 : data_tmp = full_data(idata)
41527 383032 : data_tmp = ISHFT(data_tmp, 12)
41528 383032 : data_tmp = IAND(data_tmp, mask_left(12))
41529 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41530 383032 : ipack = ipack + 1
41531 383032 : packed_data(ipack) = pack_tmp
41532 383032 : data_tmp = full_data(idata)
41533 383032 : pack_tmp = ISHFT(data_tmp, 24)
41534 383032 : pack_tmp = ISHFT(pack_tmp, -24)
41535 383032 : idata = idata + 1
41536 383032 : data_tmp = full_data(idata)
41537 383032 : data_tmp = ISHFT(data_tmp, 12)
41538 383032 : data_tmp = IAND(data_tmp, mask_left(24))
41539 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41540 383032 : ipack = ipack + 1
41541 383032 : packed_data(ipack) = pack_tmp
41542 383032 : data_tmp = full_data(idata)
41543 383032 : pack_tmp = ISHFT(data_tmp, 36)
41544 383032 : pack_tmp = ISHFT(pack_tmp, -36)
41545 383032 : idata = idata + 1
41546 383032 : data_tmp = full_data(idata)
41547 383032 : data_tmp = ISHFT(data_tmp, 12)
41548 383032 : data_tmp = IAND(data_tmp, mask_left(36))
41549 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41550 383032 : ipack = ipack + 1
41551 383032 : packed_data(ipack) = pack_tmp
41552 383032 : data_tmp = full_data(idata)
41553 383032 : pack_tmp = ISHFT(data_tmp, 48)
41554 383032 : pack_tmp = ISHFT(pack_tmp, -48)
41555 383032 : idata = idata + 1
41556 383032 : data_tmp = full_data(idata)
41557 383032 : data_tmp = ISHFT(data_tmp, 12)
41558 383032 : data_tmp = IAND(data_tmp, mask_left(48))
41559 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41560 383032 : ipack = ipack + 1
41561 383032 : packed_data(ipack) = pack_tmp
41562 383032 : data_tmp = full_data(idata)
41563 383032 : pack_tmp = ISHFT(data_tmp, 60)
41564 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41565 383032 : idata = idata + 1
41566 383032 : data_tmp = full_data(idata)
41567 383032 : data_tmp = ISHFT(data_tmp, 12)
41568 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41569 383032 : pack_tmp = ISHFT(pack_tmp, -8)
41570 383032 : idata = idata + 1
41571 383032 : data_tmp = full_data(idata)
41572 383032 : data_tmp = ISHFT(data_tmp, 12)
41573 383032 : data_tmp = IAND(data_tmp, mask_left(8))
41574 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41575 383032 : ipack = ipack + 1
41576 383032 : packed_data(ipack) = pack_tmp
41577 383032 : data_tmp = full_data(idata)
41578 383032 : pack_tmp = ISHFT(data_tmp, 20)
41579 383032 : pack_tmp = ISHFT(pack_tmp, -20)
41580 383032 : idata = idata + 1
41581 383032 : data_tmp = full_data(idata)
41582 383032 : data_tmp = ISHFT(data_tmp, 12)
41583 383032 : data_tmp = IAND(data_tmp, mask_left(20))
41584 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41585 383032 : ipack = ipack + 1
41586 383032 : packed_data(ipack) = pack_tmp
41587 383032 : data_tmp = full_data(idata)
41588 383032 : pack_tmp = ISHFT(data_tmp, 32)
41589 383032 : pack_tmp = ISHFT(pack_tmp, -32)
41590 383032 : idata = idata + 1
41591 383032 : data_tmp = full_data(idata)
41592 383032 : data_tmp = ISHFT(data_tmp, 12)
41593 383032 : data_tmp = IAND(data_tmp, mask_left(32))
41594 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41595 383032 : ipack = ipack + 1
41596 383032 : packed_data(ipack) = pack_tmp
41597 383032 : data_tmp = full_data(idata)
41598 383032 : pack_tmp = ISHFT(data_tmp, 44)
41599 383032 : pack_tmp = ISHFT(pack_tmp, -44)
41600 383032 : idata = idata + 1
41601 383032 : data_tmp = full_data(idata)
41602 383032 : data_tmp = ISHFT(data_tmp, 12)
41603 383032 : data_tmp = IAND(data_tmp, mask_left(44))
41604 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41605 383032 : ipack = ipack + 1
41606 383032 : packed_data(ipack) = pack_tmp
41607 383032 : data_tmp = full_data(idata)
41608 383032 : pack_tmp = ISHFT(data_tmp, 56)
41609 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41610 383032 : idata = idata + 1
41611 383032 : data_tmp = full_data(idata)
41612 383032 : data_tmp = ISHFT(data_tmp, 12)
41613 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41614 383032 : pack_tmp = ISHFT(pack_tmp, -4)
41615 383032 : idata = idata + 1
41616 383032 : data_tmp = full_data(idata)
41617 383032 : data_tmp = ISHFT(data_tmp, 12)
41618 383032 : data_tmp = IAND(data_tmp, mask_left(4))
41619 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41620 383032 : ipack = ipack + 1
41621 383032 : packed_data(ipack) = pack_tmp
41622 383032 : data_tmp = full_data(idata)
41623 383032 : pack_tmp = ISHFT(data_tmp, 16)
41624 383032 : pack_tmp = ISHFT(pack_tmp, -16)
41625 383032 : idata = idata + 1
41626 383032 : data_tmp = full_data(idata)
41627 383032 : data_tmp = ISHFT(data_tmp, 12)
41628 383032 : data_tmp = IAND(data_tmp, mask_left(16))
41629 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41630 383032 : ipack = ipack + 1
41631 383032 : packed_data(ipack) = pack_tmp
41632 383032 : data_tmp = full_data(idata)
41633 383032 : pack_tmp = ISHFT(data_tmp, 28)
41634 383032 : pack_tmp = ISHFT(pack_tmp, -28)
41635 383032 : idata = idata + 1
41636 383032 : data_tmp = full_data(idata)
41637 383032 : data_tmp = ISHFT(data_tmp, 12)
41638 383032 : data_tmp = IAND(data_tmp, mask_left(28))
41639 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41640 383032 : ipack = ipack + 1
41641 383032 : packed_data(ipack) = pack_tmp
41642 383032 : data_tmp = full_data(idata)
41643 383032 : pack_tmp = ISHFT(data_tmp, 40)
41644 383032 : pack_tmp = ISHFT(pack_tmp, -40)
41645 383032 : idata = idata + 1
41646 383032 : data_tmp = full_data(idata)
41647 383032 : data_tmp = ISHFT(data_tmp, 12)
41648 383032 : data_tmp = IAND(data_tmp, mask_left(40))
41649 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41650 383032 : ipack = ipack + 1
41651 383032 : packed_data(ipack) = pack_tmp
41652 383032 : data_tmp = full_data(idata)
41653 383032 : pack_tmp = ISHFT(data_tmp, 52)
41654 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41655 383032 : idata = idata + 1
41656 383032 : data_tmp = full_data(idata)
41657 383032 : data_tmp = ISHFT(data_tmp, 12)
41658 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41659 383032 : pack_tmp = ISHFT(pack_tmp, 0)
41660 383032 : idata = idata + 1
41661 383032 : data_tmp = full_data(idata)
41662 : data_tmp = ISHFT(data_tmp, 12)
41663 383032 : data_tmp = IAND(data_tmp, mask_left(0))
41664 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41665 383032 : ipack = ipack + 1
41666 383032 : packed_data(ipack) = pack_tmp
41667 383032 : data_tmp = full_data(idata)
41668 383032 : pack_tmp = ISHFT(data_tmp, 12)
41669 383032 : pack_tmp = ISHFT(pack_tmp, -12)
41670 383032 : idata = idata + 1
41671 383032 : data_tmp = full_data(idata)
41672 383032 : data_tmp = ISHFT(data_tmp, 12)
41673 383032 : data_tmp = IAND(data_tmp, mask_left(12))
41674 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41675 383032 : ipack = ipack + 1
41676 383032 : packed_data(ipack) = pack_tmp
41677 383032 : data_tmp = full_data(idata)
41678 383032 : pack_tmp = ISHFT(data_tmp, 24)
41679 383032 : pack_tmp = ISHFT(pack_tmp, -24)
41680 383032 : idata = idata + 1
41681 383032 : data_tmp = full_data(idata)
41682 383032 : data_tmp = ISHFT(data_tmp, 12)
41683 383032 : data_tmp = IAND(data_tmp, mask_left(24))
41684 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41685 383032 : ipack = ipack + 1
41686 383032 : packed_data(ipack) = pack_tmp
41687 383032 : data_tmp = full_data(idata)
41688 383032 : pack_tmp = ISHFT(data_tmp, 36)
41689 383032 : pack_tmp = ISHFT(pack_tmp, -36)
41690 383032 : idata = idata + 1
41691 383032 : data_tmp = full_data(idata)
41692 383032 : data_tmp = ISHFT(data_tmp, 12)
41693 383032 : data_tmp = IAND(data_tmp, mask_left(36))
41694 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41695 383032 : ipack = ipack + 1
41696 383032 : packed_data(ipack) = pack_tmp
41697 383032 : data_tmp = full_data(idata)
41698 383032 : pack_tmp = ISHFT(data_tmp, 48)
41699 383032 : pack_tmp = ISHFT(pack_tmp, -48)
41700 383032 : idata = idata + 1
41701 383032 : data_tmp = full_data(idata)
41702 383032 : data_tmp = ISHFT(data_tmp, 12)
41703 383032 : data_tmp = IAND(data_tmp, mask_left(48))
41704 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41705 383032 : ipack = ipack + 1
41706 383032 : packed_data(ipack) = pack_tmp
41707 383032 : data_tmp = full_data(idata)
41708 383032 : pack_tmp = ISHFT(data_tmp, 60)
41709 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41710 383032 : idata = idata + 1
41711 383032 : data_tmp = full_data(idata)
41712 383032 : data_tmp = ISHFT(data_tmp, 12)
41713 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41714 383032 : pack_tmp = ISHFT(pack_tmp, -8)
41715 383032 : idata = idata + 1
41716 383032 : data_tmp = full_data(idata)
41717 383032 : data_tmp = ISHFT(data_tmp, 12)
41718 383032 : data_tmp = IAND(data_tmp, mask_left(8))
41719 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41720 383032 : ipack = ipack + 1
41721 383032 : packed_data(ipack) = pack_tmp
41722 383032 : data_tmp = full_data(idata)
41723 383032 : pack_tmp = ISHFT(data_tmp, 20)
41724 383032 : pack_tmp = ISHFT(pack_tmp, -20)
41725 383032 : idata = idata + 1
41726 383032 : data_tmp = full_data(idata)
41727 383032 : data_tmp = ISHFT(data_tmp, 12)
41728 383032 : data_tmp = IAND(data_tmp, mask_left(20))
41729 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41730 383032 : ipack = ipack + 1
41731 383032 : packed_data(ipack) = pack_tmp
41732 383032 : data_tmp = full_data(idata)
41733 383032 : pack_tmp = ISHFT(data_tmp, 32)
41734 383032 : pack_tmp = ISHFT(pack_tmp, -32)
41735 383032 : idata = idata + 1
41736 383032 : data_tmp = full_data(idata)
41737 383032 : data_tmp = ISHFT(data_tmp, 12)
41738 383032 : data_tmp = IAND(data_tmp, mask_left(32))
41739 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41740 383032 : ipack = ipack + 1
41741 383032 : packed_data(ipack) = pack_tmp
41742 383032 : data_tmp = full_data(idata)
41743 383032 : pack_tmp = ISHFT(data_tmp, 44)
41744 383032 : pack_tmp = ISHFT(pack_tmp, -44)
41745 383032 : idata = idata + 1
41746 383032 : data_tmp = full_data(idata)
41747 383032 : data_tmp = ISHFT(data_tmp, 12)
41748 383032 : data_tmp = IAND(data_tmp, mask_left(44))
41749 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41750 383032 : ipack = ipack + 1
41751 383032 : packed_data(ipack) = pack_tmp
41752 383032 : data_tmp = full_data(idata)
41753 383032 : pack_tmp = ISHFT(data_tmp, 56)
41754 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41755 383032 : idata = idata + 1
41756 383032 : data_tmp = full_data(idata)
41757 383032 : data_tmp = ISHFT(data_tmp, 12)
41758 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41759 383032 : pack_tmp = ISHFT(pack_tmp, -4)
41760 383032 : idata = idata + 1
41761 383032 : data_tmp = full_data(idata)
41762 383032 : data_tmp = ISHFT(data_tmp, 12)
41763 383032 : data_tmp = IAND(data_tmp, mask_left(4))
41764 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41765 383032 : ipack = ipack + 1
41766 383032 : packed_data(ipack) = pack_tmp
41767 383032 : data_tmp = full_data(idata)
41768 383032 : pack_tmp = ISHFT(data_tmp, 16)
41769 383032 : pack_tmp = ISHFT(pack_tmp, -16)
41770 383032 : idata = idata + 1
41771 383032 : data_tmp = full_data(idata)
41772 383032 : data_tmp = ISHFT(data_tmp, 12)
41773 383032 : data_tmp = IAND(data_tmp, mask_left(16))
41774 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41775 383032 : ipack = ipack + 1
41776 383032 : packed_data(ipack) = pack_tmp
41777 383032 : data_tmp = full_data(idata)
41778 383032 : pack_tmp = ISHFT(data_tmp, 28)
41779 383032 : pack_tmp = ISHFT(pack_tmp, -28)
41780 383032 : idata = idata + 1
41781 383032 : data_tmp = full_data(idata)
41782 383032 : data_tmp = ISHFT(data_tmp, 12)
41783 383032 : data_tmp = IAND(data_tmp, mask_left(28))
41784 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41785 383032 : ipack = ipack + 1
41786 383032 : packed_data(ipack) = pack_tmp
41787 383032 : data_tmp = full_data(idata)
41788 383032 : pack_tmp = ISHFT(data_tmp, 40)
41789 383032 : pack_tmp = ISHFT(pack_tmp, -40)
41790 383032 : idata = idata + 1
41791 383032 : data_tmp = full_data(idata)
41792 383032 : data_tmp = ISHFT(data_tmp, 12)
41793 383032 : data_tmp = IAND(data_tmp, mask_left(40))
41794 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41795 383032 : ipack = ipack + 1
41796 383032 : packed_data(ipack) = pack_tmp
41797 383032 : data_tmp = full_data(idata)
41798 383032 : pack_tmp = ISHFT(data_tmp, 52)
41799 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41800 383032 : idata = idata + 1
41801 383032 : data_tmp = full_data(idata)
41802 383032 : data_tmp = ISHFT(data_tmp, 12)
41803 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41804 383032 : pack_tmp = ISHFT(pack_tmp, 0)
41805 383032 : idata = idata + 1
41806 383032 : data_tmp = full_data(idata)
41807 : data_tmp = ISHFT(data_tmp, 12)
41808 383032 : data_tmp = IAND(data_tmp, mask_left(0))
41809 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41810 383032 : ipack = ipack + 1
41811 383032 : packed_data(ipack) = pack_tmp
41812 383032 : data_tmp = full_data(idata)
41813 383032 : pack_tmp = ISHFT(data_tmp, 12)
41814 383032 : pack_tmp = ISHFT(pack_tmp, -12)
41815 383032 : idata = idata + 1
41816 383032 : data_tmp = full_data(idata)
41817 383032 : data_tmp = ISHFT(data_tmp, 12)
41818 383032 : data_tmp = IAND(data_tmp, mask_left(12))
41819 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41820 383032 : ipack = ipack + 1
41821 383032 : packed_data(ipack) = pack_tmp
41822 383032 : data_tmp = full_data(idata)
41823 383032 : pack_tmp = ISHFT(data_tmp, 24)
41824 383032 : pack_tmp = ISHFT(pack_tmp, -24)
41825 383032 : idata = idata + 1
41826 383032 : data_tmp = full_data(idata)
41827 383032 : data_tmp = ISHFT(data_tmp, 12)
41828 383032 : data_tmp = IAND(data_tmp, mask_left(24))
41829 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41830 383032 : ipack = ipack + 1
41831 383032 : packed_data(ipack) = pack_tmp
41832 383032 : data_tmp = full_data(idata)
41833 383032 : pack_tmp = ISHFT(data_tmp, 36)
41834 383032 : pack_tmp = ISHFT(pack_tmp, -36)
41835 383032 : idata = idata + 1
41836 383032 : data_tmp = full_data(idata)
41837 383032 : data_tmp = ISHFT(data_tmp, 12)
41838 383032 : data_tmp = IAND(data_tmp, mask_left(36))
41839 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41840 383032 : ipack = ipack + 1
41841 383032 : packed_data(ipack) = pack_tmp
41842 383032 : data_tmp = full_data(idata)
41843 383032 : pack_tmp = ISHFT(data_tmp, 48)
41844 383032 : pack_tmp = ISHFT(pack_tmp, -48)
41845 383032 : idata = idata + 1
41846 383032 : data_tmp = full_data(idata)
41847 383032 : data_tmp = ISHFT(data_tmp, 12)
41848 383032 : data_tmp = IAND(data_tmp, mask_left(48))
41849 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41850 383032 : ipack = ipack + 1
41851 383032 : packed_data(ipack) = pack_tmp
41852 383032 : data_tmp = full_data(idata)
41853 383032 : pack_tmp = ISHFT(data_tmp, 60)
41854 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41855 383032 : idata = idata + 1
41856 383032 : data_tmp = full_data(idata)
41857 383032 : data_tmp = ISHFT(data_tmp, 12)
41858 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41859 383032 : pack_tmp = ISHFT(pack_tmp, -8)
41860 383032 : idata = idata + 1
41861 383032 : data_tmp = full_data(idata)
41862 383032 : data_tmp = ISHFT(data_tmp, 12)
41863 383032 : data_tmp = IAND(data_tmp, mask_left(8))
41864 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41865 383032 : ipack = ipack + 1
41866 383032 : packed_data(ipack) = pack_tmp
41867 383032 : data_tmp = full_data(idata)
41868 383032 : pack_tmp = ISHFT(data_tmp, 20)
41869 383032 : pack_tmp = ISHFT(pack_tmp, -20)
41870 383032 : idata = idata + 1
41871 383032 : data_tmp = full_data(idata)
41872 383032 : data_tmp = ISHFT(data_tmp, 12)
41873 383032 : data_tmp = IAND(data_tmp, mask_left(20))
41874 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41875 383032 : ipack = ipack + 1
41876 383032 : packed_data(ipack) = pack_tmp
41877 383032 : data_tmp = full_data(idata)
41878 383032 : pack_tmp = ISHFT(data_tmp, 32)
41879 383032 : pack_tmp = ISHFT(pack_tmp, -32)
41880 383032 : idata = idata + 1
41881 383032 : data_tmp = full_data(idata)
41882 383032 : data_tmp = ISHFT(data_tmp, 12)
41883 383032 : data_tmp = IAND(data_tmp, mask_left(32))
41884 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41885 383032 : ipack = ipack + 1
41886 383032 : packed_data(ipack) = pack_tmp
41887 383032 : data_tmp = full_data(idata)
41888 383032 : pack_tmp = ISHFT(data_tmp, 44)
41889 383032 : pack_tmp = ISHFT(pack_tmp, -44)
41890 383032 : idata = idata + 1
41891 383032 : data_tmp = full_data(idata)
41892 383032 : data_tmp = ISHFT(data_tmp, 12)
41893 383032 : data_tmp = IAND(data_tmp, mask_left(44))
41894 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41895 383032 : ipack = ipack + 1
41896 383032 : packed_data(ipack) = pack_tmp
41897 383032 : data_tmp = full_data(idata)
41898 383032 : pack_tmp = ISHFT(data_tmp, 56)
41899 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41900 383032 : idata = idata + 1
41901 383032 : data_tmp = full_data(idata)
41902 383032 : data_tmp = ISHFT(data_tmp, 12)
41903 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41904 383032 : pack_tmp = ISHFT(pack_tmp, -4)
41905 383032 : idata = idata + 1
41906 383032 : data_tmp = full_data(idata)
41907 383032 : data_tmp = ISHFT(data_tmp, 12)
41908 383032 : data_tmp = IAND(data_tmp, mask_left(4))
41909 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41910 383032 : ipack = ipack + 1
41911 383032 : packed_data(ipack) = pack_tmp
41912 383032 : data_tmp = full_data(idata)
41913 383032 : pack_tmp = ISHFT(data_tmp, 16)
41914 383032 : pack_tmp = ISHFT(pack_tmp, -16)
41915 383032 : idata = idata + 1
41916 383032 : data_tmp = full_data(idata)
41917 383032 : data_tmp = ISHFT(data_tmp, 12)
41918 383032 : data_tmp = IAND(data_tmp, mask_left(16))
41919 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41920 383032 : ipack = ipack + 1
41921 383032 : packed_data(ipack) = pack_tmp
41922 383032 : data_tmp = full_data(idata)
41923 383032 : pack_tmp = ISHFT(data_tmp, 28)
41924 383032 : pack_tmp = ISHFT(pack_tmp, -28)
41925 383032 : idata = idata + 1
41926 383032 : data_tmp = full_data(idata)
41927 383032 : data_tmp = ISHFT(data_tmp, 12)
41928 383032 : data_tmp = IAND(data_tmp, mask_left(28))
41929 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41930 383032 : ipack = ipack + 1
41931 383032 : packed_data(ipack) = pack_tmp
41932 383032 : data_tmp = full_data(idata)
41933 383032 : pack_tmp = ISHFT(data_tmp, 40)
41934 383032 : pack_tmp = ISHFT(pack_tmp, -40)
41935 383032 : idata = idata + 1
41936 383032 : data_tmp = full_data(idata)
41937 383032 : data_tmp = ISHFT(data_tmp, 12)
41938 383032 : data_tmp = IAND(data_tmp, mask_left(40))
41939 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41940 383032 : ipack = ipack + 1
41941 383032 : packed_data(ipack) = pack_tmp
41942 383032 : data_tmp = full_data(idata)
41943 383032 : pack_tmp = ISHFT(data_tmp, 52)
41944 383032 : pack_tmp = ISHFT(pack_tmp, -52)
41945 383032 : idata = idata + 1
41946 383032 : data_tmp = full_data(idata)
41947 383032 : data_tmp = ISHFT(data_tmp, 12)
41948 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41949 383032 : pack_tmp = ISHFT(pack_tmp, 0)
41950 383032 : idata = idata + 1
41951 383032 : data_tmp = full_data(idata)
41952 : data_tmp = ISHFT(data_tmp, 12)
41953 383032 : data_tmp = IAND(data_tmp, mask_left(0))
41954 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41955 383032 : ipack = ipack + 1
41956 383032 : packed_data(ipack) = pack_tmp
41957 383032 : data_tmp = full_data(idata)
41958 383032 : pack_tmp = ISHFT(data_tmp, 12)
41959 383032 : pack_tmp = ISHFT(pack_tmp, -12)
41960 383032 : idata = idata + 1
41961 383032 : data_tmp = full_data(idata)
41962 383032 : data_tmp = ISHFT(data_tmp, 12)
41963 383032 : data_tmp = IAND(data_tmp, mask_left(12))
41964 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41965 383032 : ipack = ipack + 1
41966 383032 : packed_data(ipack) = pack_tmp
41967 383032 : data_tmp = full_data(idata)
41968 383032 : pack_tmp = ISHFT(data_tmp, 24)
41969 383032 : pack_tmp = ISHFT(pack_tmp, -24)
41970 383032 : idata = idata + 1
41971 383032 : data_tmp = full_data(idata)
41972 383032 : data_tmp = ISHFT(data_tmp, 12)
41973 383032 : data_tmp = IAND(data_tmp, mask_left(24))
41974 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41975 383032 : ipack = ipack + 1
41976 383032 : packed_data(ipack) = pack_tmp
41977 383032 : data_tmp = full_data(idata)
41978 383032 : pack_tmp = ISHFT(data_tmp, 36)
41979 383032 : pack_tmp = ISHFT(pack_tmp, -36)
41980 383032 : idata = idata + 1
41981 383032 : data_tmp = full_data(idata)
41982 383032 : data_tmp = ISHFT(data_tmp, 12)
41983 383032 : data_tmp = IAND(data_tmp, mask_left(36))
41984 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41985 383032 : ipack = ipack + 1
41986 383032 : packed_data(ipack) = pack_tmp
41987 383032 : data_tmp = full_data(idata)
41988 383032 : pack_tmp = ISHFT(data_tmp, 48)
41989 383032 : pack_tmp = ISHFT(pack_tmp, -48)
41990 383032 : idata = idata + 1
41991 383032 : data_tmp = full_data(idata)
41992 383032 : data_tmp = ISHFT(data_tmp, 12)
41993 383032 : data_tmp = IAND(data_tmp, mask_left(48))
41994 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
41995 383032 : ipack = ipack + 1
41996 383032 : packed_data(ipack) = pack_tmp
41997 383032 : data_tmp = full_data(idata)
41998 383032 : pack_tmp = ISHFT(data_tmp, 60)
41999 383032 : pack_tmp = ISHFT(pack_tmp, -52)
42000 383032 : idata = idata + 1
42001 383032 : data_tmp = full_data(idata)
42002 383032 : data_tmp = ISHFT(data_tmp, 12)
42003 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42004 383032 : pack_tmp = ISHFT(pack_tmp, -8)
42005 383032 : idata = idata + 1
42006 383032 : data_tmp = full_data(idata)
42007 383032 : data_tmp = ISHFT(data_tmp, 12)
42008 383032 : data_tmp = IAND(data_tmp, mask_left(8))
42009 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42010 383032 : ipack = ipack + 1
42011 383032 : packed_data(ipack) = pack_tmp
42012 383032 : data_tmp = full_data(idata)
42013 383032 : pack_tmp = ISHFT(data_tmp, 20)
42014 383032 : pack_tmp = ISHFT(pack_tmp, -20)
42015 383032 : idata = idata + 1
42016 383032 : data_tmp = full_data(idata)
42017 383032 : data_tmp = ISHFT(data_tmp, 12)
42018 383032 : data_tmp = IAND(data_tmp, mask_left(20))
42019 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42020 383032 : ipack = ipack + 1
42021 383032 : packed_data(ipack) = pack_tmp
42022 383032 : data_tmp = full_data(idata)
42023 383032 : pack_tmp = ISHFT(data_tmp, 32)
42024 383032 : pack_tmp = ISHFT(pack_tmp, -32)
42025 383032 : idata = idata + 1
42026 383032 : data_tmp = full_data(idata)
42027 383032 : data_tmp = ISHFT(data_tmp, 12)
42028 383032 : data_tmp = IAND(data_tmp, mask_left(32))
42029 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42030 383032 : ipack = ipack + 1
42031 383032 : packed_data(ipack) = pack_tmp
42032 383032 : data_tmp = full_data(idata)
42033 383032 : pack_tmp = ISHFT(data_tmp, 44)
42034 383032 : pack_tmp = ISHFT(pack_tmp, -44)
42035 383032 : idata = idata + 1
42036 383032 : data_tmp = full_data(idata)
42037 383032 : data_tmp = ISHFT(data_tmp, 12)
42038 383032 : data_tmp = IAND(data_tmp, mask_left(44))
42039 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42040 383032 : ipack = ipack + 1
42041 383032 : packed_data(ipack) = pack_tmp
42042 383032 : data_tmp = full_data(idata)
42043 383032 : pack_tmp = ISHFT(data_tmp, 56)
42044 383032 : pack_tmp = ISHFT(pack_tmp, -52)
42045 383032 : idata = idata + 1
42046 383032 : data_tmp = full_data(idata)
42047 383032 : data_tmp = ISHFT(data_tmp, 12)
42048 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42049 383032 : pack_tmp = ISHFT(pack_tmp, -4)
42050 383032 : idata = idata + 1
42051 383032 : data_tmp = full_data(idata)
42052 383032 : data_tmp = ISHFT(data_tmp, 12)
42053 383032 : data_tmp = IAND(data_tmp, mask_left(4))
42054 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42055 383032 : ipack = ipack + 1
42056 383032 : packed_data(ipack) = pack_tmp
42057 383032 : data_tmp = full_data(idata)
42058 383032 : pack_tmp = ISHFT(data_tmp, 16)
42059 383032 : pack_tmp = ISHFT(pack_tmp, -16)
42060 383032 : idata = idata + 1
42061 383032 : data_tmp = full_data(idata)
42062 383032 : data_tmp = ISHFT(data_tmp, 12)
42063 383032 : data_tmp = IAND(data_tmp, mask_left(16))
42064 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42065 383032 : ipack = ipack + 1
42066 383032 : packed_data(ipack) = pack_tmp
42067 383032 : data_tmp = full_data(idata)
42068 383032 : pack_tmp = ISHFT(data_tmp, 28)
42069 383032 : pack_tmp = ISHFT(pack_tmp, -28)
42070 383032 : idata = idata + 1
42071 383032 : data_tmp = full_data(idata)
42072 383032 : data_tmp = ISHFT(data_tmp, 12)
42073 383032 : data_tmp = IAND(data_tmp, mask_left(28))
42074 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42075 383032 : ipack = ipack + 1
42076 383032 : packed_data(ipack) = pack_tmp
42077 383032 : data_tmp = full_data(idata)
42078 383032 : pack_tmp = ISHFT(data_tmp, 40)
42079 383032 : pack_tmp = ISHFT(pack_tmp, -40)
42080 383032 : idata = idata + 1
42081 383032 : data_tmp = full_data(idata)
42082 383032 : data_tmp = ISHFT(data_tmp, 12)
42083 383032 : data_tmp = IAND(data_tmp, mask_left(40))
42084 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42085 383032 : ipack = ipack + 1
42086 383032 : packed_data(ipack) = pack_tmp
42087 383032 : data_tmp = full_data(idata)
42088 383032 : pack_tmp = ISHFT(data_tmp, 52)
42089 383032 : pack_tmp = ISHFT(pack_tmp, -52)
42090 383032 : idata = idata + 1
42091 383032 : data_tmp = full_data(idata)
42092 383032 : data_tmp = ISHFT(data_tmp, 12)
42093 383032 : pack_tmp = IOR(pack_tmp, data_tmp)
42094 : pack_tmp = ISHFT(pack_tmp, 0)
42095 383032 : pack_tmp = ISHFT(pack_tmp, 0)
42096 383032 : ipack = ipack + 1
42097 383042 : packed_data(ipack) = pack_tmp
42098 : END DO
42099 24186 : 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 24186 : END SUBROUTINE ints2bits_52
42103 :
42104 : ! **************************************************************************************************
42105 : !> \brief ...
42106 : !> \param Ndata ...
42107 : !> \param packed_data ...
42108 : !> \param full_data ...
42109 : ! **************************************************************************************************
42110 100439 : 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 100439 : ipack = 0
42121 100439 : idata = 0
42122 100439 : pack_tmp = 0
42123 100439 : Ndata_rep = (Ndata/64)*64
42124 100439 : DO kdata = 1, Ndata_rep, 64
42125 1567176 : idata = idata + 1
42126 1567176 : data_tmp = ISHFT(pack_tmp, 52)
42127 1567176 : ipack = ipack + 1
42128 1567176 : pack_tmp = packed_data(ipack)
42129 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42130 1567176 : pack_tmp = ISHFT(pack_tmp, -52)
42131 1567176 : idata = idata + 1
42132 1567176 : data_tmp = ISHFT(pack_tmp, 40)
42133 1567176 : ipack = ipack + 1
42134 1567176 : pack_tmp = packed_data(ipack)
42135 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42136 1567176 : pack_tmp = ISHFT(pack_tmp, -40)
42137 1567176 : idata = idata + 1
42138 1567176 : data_tmp = ISHFT(pack_tmp, 28)
42139 1567176 : ipack = ipack + 1
42140 1567176 : pack_tmp = packed_data(ipack)
42141 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42142 1567176 : pack_tmp = ISHFT(pack_tmp, -28)
42143 1567176 : idata = idata + 1
42144 1567176 : data_tmp = ISHFT(pack_tmp, 16)
42145 1567176 : ipack = ipack + 1
42146 1567176 : pack_tmp = packed_data(ipack)
42147 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42148 1567176 : pack_tmp = ISHFT(pack_tmp, -16)
42149 1567176 : idata = idata + 1
42150 1567176 : data_tmp = ISHFT(pack_tmp, 4)
42151 1567176 : ipack = ipack + 1
42152 1567176 : pack_tmp = packed_data(ipack)
42153 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42154 1567176 : pack_tmp = ISHFT(pack_tmp, -4)
42155 1567176 : idata = idata + 1
42156 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42157 1567176 : full_data(idata) = data_tmp
42158 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42159 1567176 : idata = idata + 1
42160 1567176 : data_tmp = ISHFT(pack_tmp, 44)
42161 1567176 : ipack = ipack + 1
42162 1567176 : pack_tmp = packed_data(ipack)
42163 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42164 1567176 : pack_tmp = ISHFT(pack_tmp, -44)
42165 1567176 : idata = idata + 1
42166 1567176 : data_tmp = ISHFT(pack_tmp, 32)
42167 1567176 : ipack = ipack + 1
42168 1567176 : pack_tmp = packed_data(ipack)
42169 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42170 1567176 : pack_tmp = ISHFT(pack_tmp, -32)
42171 1567176 : idata = idata + 1
42172 1567176 : data_tmp = ISHFT(pack_tmp, 20)
42173 1567176 : ipack = ipack + 1
42174 1567176 : pack_tmp = packed_data(ipack)
42175 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42176 1567176 : pack_tmp = ISHFT(pack_tmp, -20)
42177 1567176 : idata = idata + 1
42178 1567176 : data_tmp = ISHFT(pack_tmp, 8)
42179 1567176 : ipack = ipack + 1
42180 1567176 : pack_tmp = packed_data(ipack)
42181 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42182 1567176 : pack_tmp = ISHFT(pack_tmp, -8)
42183 1567176 : idata = idata + 1
42184 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42185 1567176 : full_data(idata) = data_tmp
42186 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42187 1567176 : idata = idata + 1
42188 1567176 : data_tmp = ISHFT(pack_tmp, 48)
42189 1567176 : ipack = ipack + 1
42190 1567176 : pack_tmp = packed_data(ipack)
42191 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42192 1567176 : pack_tmp = ISHFT(pack_tmp, -48)
42193 1567176 : idata = idata + 1
42194 1567176 : data_tmp = ISHFT(pack_tmp, 36)
42195 1567176 : ipack = ipack + 1
42196 1567176 : pack_tmp = packed_data(ipack)
42197 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42198 1567176 : pack_tmp = ISHFT(pack_tmp, -36)
42199 1567176 : idata = idata + 1
42200 1567176 : data_tmp = ISHFT(pack_tmp, 24)
42201 1567176 : ipack = ipack + 1
42202 1567176 : pack_tmp = packed_data(ipack)
42203 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42204 1567176 : pack_tmp = ISHFT(pack_tmp, -24)
42205 1567176 : idata = idata + 1
42206 1567176 : data_tmp = ISHFT(pack_tmp, 12)
42207 1567176 : ipack = ipack + 1
42208 1567176 : pack_tmp = packed_data(ipack)
42209 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42210 1567176 : pack_tmp = ISHFT(pack_tmp, -12)
42211 1567176 : idata = idata + 1
42212 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42213 1567176 : full_data(idata) = data_tmp
42214 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42215 1567176 : idata = idata + 1
42216 1567176 : data_tmp = ISHFT(pack_tmp, 52)
42217 1567176 : ipack = ipack + 1
42218 1567176 : pack_tmp = packed_data(ipack)
42219 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42220 1567176 : pack_tmp = ISHFT(pack_tmp, -52)
42221 1567176 : idata = idata + 1
42222 1567176 : data_tmp = ISHFT(pack_tmp, 40)
42223 1567176 : ipack = ipack + 1
42224 1567176 : pack_tmp = packed_data(ipack)
42225 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42226 1567176 : pack_tmp = ISHFT(pack_tmp, -40)
42227 1567176 : idata = idata + 1
42228 1567176 : data_tmp = ISHFT(pack_tmp, 28)
42229 1567176 : ipack = ipack + 1
42230 1567176 : pack_tmp = packed_data(ipack)
42231 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42232 1567176 : pack_tmp = ISHFT(pack_tmp, -28)
42233 1567176 : idata = idata + 1
42234 1567176 : data_tmp = ISHFT(pack_tmp, 16)
42235 1567176 : ipack = ipack + 1
42236 1567176 : pack_tmp = packed_data(ipack)
42237 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42238 1567176 : pack_tmp = ISHFT(pack_tmp, -16)
42239 1567176 : idata = idata + 1
42240 1567176 : data_tmp = ISHFT(pack_tmp, 4)
42241 1567176 : ipack = ipack + 1
42242 1567176 : pack_tmp = packed_data(ipack)
42243 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42244 1567176 : pack_tmp = ISHFT(pack_tmp, -4)
42245 1567176 : idata = idata + 1
42246 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42247 1567176 : full_data(idata) = data_tmp
42248 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42249 1567176 : idata = idata + 1
42250 1567176 : data_tmp = ISHFT(pack_tmp, 44)
42251 1567176 : ipack = ipack + 1
42252 1567176 : pack_tmp = packed_data(ipack)
42253 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42254 1567176 : pack_tmp = ISHFT(pack_tmp, -44)
42255 1567176 : idata = idata + 1
42256 1567176 : data_tmp = ISHFT(pack_tmp, 32)
42257 1567176 : ipack = ipack + 1
42258 1567176 : pack_tmp = packed_data(ipack)
42259 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42260 1567176 : pack_tmp = ISHFT(pack_tmp, -32)
42261 1567176 : idata = idata + 1
42262 1567176 : data_tmp = ISHFT(pack_tmp, 20)
42263 1567176 : ipack = ipack + 1
42264 1567176 : pack_tmp = packed_data(ipack)
42265 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42266 1567176 : pack_tmp = ISHFT(pack_tmp, -20)
42267 1567176 : idata = idata + 1
42268 1567176 : data_tmp = ISHFT(pack_tmp, 8)
42269 1567176 : ipack = ipack + 1
42270 1567176 : pack_tmp = packed_data(ipack)
42271 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42272 1567176 : pack_tmp = ISHFT(pack_tmp, -8)
42273 1567176 : idata = idata + 1
42274 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42275 1567176 : full_data(idata) = data_tmp
42276 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42277 1567176 : idata = idata + 1
42278 1567176 : data_tmp = ISHFT(pack_tmp, 48)
42279 1567176 : ipack = ipack + 1
42280 1567176 : pack_tmp = packed_data(ipack)
42281 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42282 1567176 : pack_tmp = ISHFT(pack_tmp, -48)
42283 1567176 : idata = idata + 1
42284 1567176 : data_tmp = ISHFT(pack_tmp, 36)
42285 1567176 : ipack = ipack + 1
42286 1567176 : pack_tmp = packed_data(ipack)
42287 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42288 1567176 : pack_tmp = ISHFT(pack_tmp, -36)
42289 1567176 : idata = idata + 1
42290 1567176 : data_tmp = ISHFT(pack_tmp, 24)
42291 1567176 : ipack = ipack + 1
42292 1567176 : pack_tmp = packed_data(ipack)
42293 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42294 1567176 : pack_tmp = ISHFT(pack_tmp, -24)
42295 1567176 : idata = idata + 1
42296 1567176 : data_tmp = ISHFT(pack_tmp, 12)
42297 1567176 : ipack = ipack + 1
42298 1567176 : pack_tmp = packed_data(ipack)
42299 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42300 1567176 : pack_tmp = ISHFT(pack_tmp, -12)
42301 1567176 : idata = idata + 1
42302 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42303 1567176 : full_data(idata) = data_tmp
42304 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42305 1567176 : idata = idata + 1
42306 1567176 : data_tmp = ISHFT(pack_tmp, 52)
42307 1567176 : ipack = ipack + 1
42308 1567176 : pack_tmp = packed_data(ipack)
42309 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42310 1567176 : pack_tmp = ISHFT(pack_tmp, -52)
42311 1567176 : idata = idata + 1
42312 1567176 : data_tmp = ISHFT(pack_tmp, 40)
42313 1567176 : ipack = ipack + 1
42314 1567176 : pack_tmp = packed_data(ipack)
42315 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42316 1567176 : pack_tmp = ISHFT(pack_tmp, -40)
42317 1567176 : idata = idata + 1
42318 1567176 : data_tmp = ISHFT(pack_tmp, 28)
42319 1567176 : ipack = ipack + 1
42320 1567176 : pack_tmp = packed_data(ipack)
42321 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42322 1567176 : pack_tmp = ISHFT(pack_tmp, -28)
42323 1567176 : idata = idata + 1
42324 1567176 : data_tmp = ISHFT(pack_tmp, 16)
42325 1567176 : ipack = ipack + 1
42326 1567176 : pack_tmp = packed_data(ipack)
42327 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42328 1567176 : pack_tmp = ISHFT(pack_tmp, -16)
42329 1567176 : idata = idata + 1
42330 1567176 : data_tmp = ISHFT(pack_tmp, 4)
42331 1567176 : ipack = ipack + 1
42332 1567176 : pack_tmp = packed_data(ipack)
42333 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42334 1567176 : pack_tmp = ISHFT(pack_tmp, -4)
42335 1567176 : idata = idata + 1
42336 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42337 1567176 : full_data(idata) = data_tmp
42338 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42339 1567176 : idata = idata + 1
42340 1567176 : data_tmp = ISHFT(pack_tmp, 44)
42341 1567176 : ipack = ipack + 1
42342 1567176 : pack_tmp = packed_data(ipack)
42343 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42344 1567176 : pack_tmp = ISHFT(pack_tmp, -44)
42345 1567176 : idata = idata + 1
42346 1567176 : data_tmp = ISHFT(pack_tmp, 32)
42347 1567176 : ipack = ipack + 1
42348 1567176 : pack_tmp = packed_data(ipack)
42349 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42350 1567176 : pack_tmp = ISHFT(pack_tmp, -32)
42351 1567176 : idata = idata + 1
42352 1567176 : data_tmp = ISHFT(pack_tmp, 20)
42353 1567176 : ipack = ipack + 1
42354 1567176 : pack_tmp = packed_data(ipack)
42355 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42356 1567176 : pack_tmp = ISHFT(pack_tmp, -20)
42357 1567176 : idata = idata + 1
42358 1567176 : data_tmp = ISHFT(pack_tmp, 8)
42359 1567176 : ipack = ipack + 1
42360 1567176 : pack_tmp = packed_data(ipack)
42361 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42362 1567176 : pack_tmp = ISHFT(pack_tmp, -8)
42363 1567176 : idata = idata + 1
42364 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42365 1567176 : full_data(idata) = data_tmp
42366 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42367 1567176 : idata = idata + 1
42368 1567176 : data_tmp = ISHFT(pack_tmp, 48)
42369 1567176 : ipack = ipack + 1
42370 1567176 : pack_tmp = packed_data(ipack)
42371 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42372 1567176 : pack_tmp = ISHFT(pack_tmp, -48)
42373 1567176 : idata = idata + 1
42374 1567176 : data_tmp = ISHFT(pack_tmp, 36)
42375 1567176 : ipack = ipack + 1
42376 1567176 : pack_tmp = packed_data(ipack)
42377 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42378 1567176 : pack_tmp = ISHFT(pack_tmp, -36)
42379 1567176 : idata = idata + 1
42380 1567176 : data_tmp = ISHFT(pack_tmp, 24)
42381 1567176 : ipack = ipack + 1
42382 1567176 : pack_tmp = packed_data(ipack)
42383 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42384 1567176 : pack_tmp = ISHFT(pack_tmp, -24)
42385 1567176 : idata = idata + 1
42386 1567176 : data_tmp = ISHFT(pack_tmp, 12)
42387 1567176 : ipack = ipack + 1
42388 1567176 : pack_tmp = packed_data(ipack)
42389 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42390 1567176 : pack_tmp = ISHFT(pack_tmp, -12)
42391 1567176 : idata = idata + 1
42392 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42393 1567176 : full_data(idata) = data_tmp
42394 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42395 1567176 : idata = idata + 1
42396 1567176 : data_tmp = ISHFT(pack_tmp, 52)
42397 1567176 : ipack = ipack + 1
42398 1567176 : pack_tmp = packed_data(ipack)
42399 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42400 1567176 : pack_tmp = ISHFT(pack_tmp, -52)
42401 1567176 : idata = idata + 1
42402 1567176 : data_tmp = ISHFT(pack_tmp, 40)
42403 1567176 : ipack = ipack + 1
42404 1567176 : pack_tmp = packed_data(ipack)
42405 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42406 1567176 : pack_tmp = ISHFT(pack_tmp, -40)
42407 1567176 : idata = idata + 1
42408 1567176 : data_tmp = ISHFT(pack_tmp, 28)
42409 1567176 : ipack = ipack + 1
42410 1567176 : pack_tmp = packed_data(ipack)
42411 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42412 1567176 : pack_tmp = ISHFT(pack_tmp, -28)
42413 1567176 : idata = idata + 1
42414 1567176 : data_tmp = ISHFT(pack_tmp, 16)
42415 1567176 : ipack = ipack + 1
42416 1567176 : pack_tmp = packed_data(ipack)
42417 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42418 1567176 : pack_tmp = ISHFT(pack_tmp, -16)
42419 1567176 : idata = idata + 1
42420 1567176 : data_tmp = ISHFT(pack_tmp, 4)
42421 1567176 : ipack = ipack + 1
42422 1567176 : pack_tmp = packed_data(ipack)
42423 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42424 1567176 : pack_tmp = ISHFT(pack_tmp, -4)
42425 1567176 : idata = idata + 1
42426 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42427 1567176 : full_data(idata) = data_tmp
42428 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42429 1567176 : idata = idata + 1
42430 1567176 : data_tmp = ISHFT(pack_tmp, 44)
42431 1567176 : ipack = ipack + 1
42432 1567176 : pack_tmp = packed_data(ipack)
42433 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42434 1567176 : pack_tmp = ISHFT(pack_tmp, -44)
42435 1567176 : idata = idata + 1
42436 1567176 : data_tmp = ISHFT(pack_tmp, 32)
42437 1567176 : ipack = ipack + 1
42438 1567176 : pack_tmp = packed_data(ipack)
42439 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42440 1567176 : pack_tmp = ISHFT(pack_tmp, -32)
42441 1567176 : idata = idata + 1
42442 1567176 : data_tmp = ISHFT(pack_tmp, 20)
42443 1567176 : ipack = ipack + 1
42444 1567176 : pack_tmp = packed_data(ipack)
42445 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42446 1567176 : pack_tmp = ISHFT(pack_tmp, -20)
42447 1567176 : idata = idata + 1
42448 1567176 : data_tmp = ISHFT(pack_tmp, 8)
42449 1567176 : ipack = ipack + 1
42450 1567176 : pack_tmp = packed_data(ipack)
42451 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42452 1567176 : pack_tmp = ISHFT(pack_tmp, -8)
42453 1567176 : idata = idata + 1
42454 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42455 1567176 : full_data(idata) = data_tmp
42456 1567176 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42457 1567176 : idata = idata + 1
42458 1567176 : data_tmp = ISHFT(pack_tmp, 48)
42459 1567176 : ipack = ipack + 1
42460 1567176 : pack_tmp = packed_data(ipack)
42461 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42462 1567176 : pack_tmp = ISHFT(pack_tmp, -48)
42463 1567176 : idata = idata + 1
42464 1567176 : data_tmp = ISHFT(pack_tmp, 36)
42465 1567176 : ipack = ipack + 1
42466 1567176 : pack_tmp = packed_data(ipack)
42467 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42468 1567176 : pack_tmp = ISHFT(pack_tmp, -36)
42469 1567176 : idata = idata + 1
42470 1567176 : data_tmp = ISHFT(pack_tmp, 24)
42471 1567176 : ipack = ipack + 1
42472 1567176 : pack_tmp = packed_data(ipack)
42473 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42474 1567176 : pack_tmp = ISHFT(pack_tmp, -24)
42475 1567176 : idata = idata + 1
42476 1567176 : data_tmp = ISHFT(pack_tmp, 12)
42477 1567176 : ipack = ipack + 1
42478 1567176 : pack_tmp = packed_data(ipack)
42479 1567176 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42480 1567176 : pack_tmp = ISHFT(pack_tmp, -12)
42481 1567176 : idata = idata + 1
42482 1567176 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42483 1567176 : full_data(idata) = data_tmp
42484 1567196 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42485 : END DO
42486 100439 : 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 100439 : END SUBROUTINE bits2ints_52
42490 :
42491 : ! **************************************************************************************************
42492 : !> \brief ...
42493 : !> \param Ndata ...
42494 : !> \param packed_data ...
42495 : !> \param full_data ...
42496 : ! **************************************************************************************************
42497 24176 : 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 24176 : idata = 0
42508 24176 : ipack = 0
42509 24176 : Ndata_rep = (Ndata/64)*64
42510 24176 : DO kdata = 1, Ndata_rep, 64
42511 382872 : pack_tmp = 0
42512 382872 : idata = idata + 1
42513 382872 : data_tmp = full_data(idata)
42514 382872 : data_tmp = ISHFT(data_tmp, 11)
42515 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42516 382872 : pack_tmp = ISHFT(pack_tmp, -11)
42517 382872 : idata = idata + 1
42518 382872 : data_tmp = full_data(idata)
42519 382872 : data_tmp = ISHFT(data_tmp, 11)
42520 382872 : data_tmp = IAND(data_tmp, mask_left(11))
42521 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42522 382872 : ipack = ipack + 1
42523 382872 : packed_data(ipack) = pack_tmp
42524 382872 : data_tmp = full_data(idata)
42525 382872 : pack_tmp = ISHFT(data_tmp, 22)
42526 382872 : pack_tmp = ISHFT(pack_tmp, -22)
42527 382872 : idata = idata + 1
42528 382872 : data_tmp = full_data(idata)
42529 382872 : data_tmp = ISHFT(data_tmp, 11)
42530 382872 : data_tmp = IAND(data_tmp, mask_left(22))
42531 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42532 382872 : ipack = ipack + 1
42533 382872 : packed_data(ipack) = pack_tmp
42534 382872 : data_tmp = full_data(idata)
42535 382872 : pack_tmp = ISHFT(data_tmp, 33)
42536 382872 : pack_tmp = ISHFT(pack_tmp, -33)
42537 382872 : idata = idata + 1
42538 382872 : data_tmp = full_data(idata)
42539 382872 : data_tmp = ISHFT(data_tmp, 11)
42540 382872 : data_tmp = IAND(data_tmp, mask_left(33))
42541 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42542 382872 : ipack = ipack + 1
42543 382872 : packed_data(ipack) = pack_tmp
42544 382872 : data_tmp = full_data(idata)
42545 382872 : pack_tmp = ISHFT(data_tmp, 44)
42546 382872 : pack_tmp = ISHFT(pack_tmp, -44)
42547 382872 : idata = idata + 1
42548 382872 : data_tmp = full_data(idata)
42549 382872 : data_tmp = ISHFT(data_tmp, 11)
42550 382872 : data_tmp = IAND(data_tmp, mask_left(44))
42551 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42552 382872 : ipack = ipack + 1
42553 382872 : packed_data(ipack) = pack_tmp
42554 382872 : data_tmp = full_data(idata)
42555 382872 : pack_tmp = ISHFT(data_tmp, 55)
42556 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42557 382872 : idata = idata + 1
42558 382872 : data_tmp = full_data(idata)
42559 382872 : data_tmp = ISHFT(data_tmp, 11)
42560 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42561 382872 : pack_tmp = ISHFT(pack_tmp, -2)
42562 382872 : idata = idata + 1
42563 382872 : data_tmp = full_data(idata)
42564 382872 : data_tmp = ISHFT(data_tmp, 11)
42565 382872 : data_tmp = IAND(data_tmp, mask_left(2))
42566 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42567 382872 : ipack = ipack + 1
42568 382872 : packed_data(ipack) = pack_tmp
42569 382872 : data_tmp = full_data(idata)
42570 382872 : pack_tmp = ISHFT(data_tmp, 13)
42571 382872 : pack_tmp = ISHFT(pack_tmp, -13)
42572 382872 : idata = idata + 1
42573 382872 : data_tmp = full_data(idata)
42574 382872 : data_tmp = ISHFT(data_tmp, 11)
42575 382872 : data_tmp = IAND(data_tmp, mask_left(13))
42576 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42577 382872 : ipack = ipack + 1
42578 382872 : packed_data(ipack) = pack_tmp
42579 382872 : data_tmp = full_data(idata)
42580 382872 : pack_tmp = ISHFT(data_tmp, 24)
42581 382872 : pack_tmp = ISHFT(pack_tmp, -24)
42582 382872 : idata = idata + 1
42583 382872 : data_tmp = full_data(idata)
42584 382872 : data_tmp = ISHFT(data_tmp, 11)
42585 382872 : data_tmp = IAND(data_tmp, mask_left(24))
42586 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42587 382872 : ipack = ipack + 1
42588 382872 : packed_data(ipack) = pack_tmp
42589 382872 : data_tmp = full_data(idata)
42590 382872 : pack_tmp = ISHFT(data_tmp, 35)
42591 382872 : pack_tmp = ISHFT(pack_tmp, -35)
42592 382872 : idata = idata + 1
42593 382872 : data_tmp = full_data(idata)
42594 382872 : data_tmp = ISHFT(data_tmp, 11)
42595 382872 : data_tmp = IAND(data_tmp, mask_left(35))
42596 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42597 382872 : ipack = ipack + 1
42598 382872 : packed_data(ipack) = pack_tmp
42599 382872 : data_tmp = full_data(idata)
42600 382872 : pack_tmp = ISHFT(data_tmp, 46)
42601 382872 : pack_tmp = ISHFT(pack_tmp, -46)
42602 382872 : idata = idata + 1
42603 382872 : data_tmp = full_data(idata)
42604 382872 : data_tmp = ISHFT(data_tmp, 11)
42605 382872 : data_tmp = IAND(data_tmp, mask_left(46))
42606 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42607 382872 : ipack = ipack + 1
42608 382872 : packed_data(ipack) = pack_tmp
42609 382872 : data_tmp = full_data(idata)
42610 382872 : pack_tmp = ISHFT(data_tmp, 57)
42611 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42612 382872 : idata = idata + 1
42613 382872 : data_tmp = full_data(idata)
42614 382872 : data_tmp = ISHFT(data_tmp, 11)
42615 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42616 382872 : pack_tmp = ISHFT(pack_tmp, -4)
42617 382872 : idata = idata + 1
42618 382872 : data_tmp = full_data(idata)
42619 382872 : data_tmp = ISHFT(data_tmp, 11)
42620 382872 : data_tmp = IAND(data_tmp, mask_left(4))
42621 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42622 382872 : ipack = ipack + 1
42623 382872 : packed_data(ipack) = pack_tmp
42624 382872 : data_tmp = full_data(idata)
42625 382872 : pack_tmp = ISHFT(data_tmp, 15)
42626 382872 : pack_tmp = ISHFT(pack_tmp, -15)
42627 382872 : idata = idata + 1
42628 382872 : data_tmp = full_data(idata)
42629 382872 : data_tmp = ISHFT(data_tmp, 11)
42630 382872 : data_tmp = IAND(data_tmp, mask_left(15))
42631 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42632 382872 : ipack = ipack + 1
42633 382872 : packed_data(ipack) = pack_tmp
42634 382872 : data_tmp = full_data(idata)
42635 382872 : pack_tmp = ISHFT(data_tmp, 26)
42636 382872 : pack_tmp = ISHFT(pack_tmp, -26)
42637 382872 : idata = idata + 1
42638 382872 : data_tmp = full_data(idata)
42639 382872 : data_tmp = ISHFT(data_tmp, 11)
42640 382872 : data_tmp = IAND(data_tmp, mask_left(26))
42641 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42642 382872 : ipack = ipack + 1
42643 382872 : packed_data(ipack) = pack_tmp
42644 382872 : data_tmp = full_data(idata)
42645 382872 : pack_tmp = ISHFT(data_tmp, 37)
42646 382872 : pack_tmp = ISHFT(pack_tmp, -37)
42647 382872 : idata = idata + 1
42648 382872 : data_tmp = full_data(idata)
42649 382872 : data_tmp = ISHFT(data_tmp, 11)
42650 382872 : data_tmp = IAND(data_tmp, mask_left(37))
42651 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42652 382872 : ipack = ipack + 1
42653 382872 : packed_data(ipack) = pack_tmp
42654 382872 : data_tmp = full_data(idata)
42655 382872 : pack_tmp = ISHFT(data_tmp, 48)
42656 382872 : pack_tmp = ISHFT(pack_tmp, -48)
42657 382872 : idata = idata + 1
42658 382872 : data_tmp = full_data(idata)
42659 382872 : data_tmp = ISHFT(data_tmp, 11)
42660 382872 : data_tmp = IAND(data_tmp, mask_left(48))
42661 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42662 382872 : ipack = ipack + 1
42663 382872 : packed_data(ipack) = pack_tmp
42664 382872 : data_tmp = full_data(idata)
42665 382872 : pack_tmp = ISHFT(data_tmp, 59)
42666 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42667 382872 : idata = idata + 1
42668 382872 : data_tmp = full_data(idata)
42669 382872 : data_tmp = ISHFT(data_tmp, 11)
42670 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42671 382872 : pack_tmp = ISHFT(pack_tmp, -6)
42672 382872 : idata = idata + 1
42673 382872 : data_tmp = full_data(idata)
42674 382872 : data_tmp = ISHFT(data_tmp, 11)
42675 382872 : data_tmp = IAND(data_tmp, mask_left(6))
42676 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42677 382872 : ipack = ipack + 1
42678 382872 : packed_data(ipack) = pack_tmp
42679 382872 : data_tmp = full_data(idata)
42680 382872 : pack_tmp = ISHFT(data_tmp, 17)
42681 382872 : pack_tmp = ISHFT(pack_tmp, -17)
42682 382872 : idata = idata + 1
42683 382872 : data_tmp = full_data(idata)
42684 382872 : data_tmp = ISHFT(data_tmp, 11)
42685 382872 : data_tmp = IAND(data_tmp, mask_left(17))
42686 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42687 382872 : ipack = ipack + 1
42688 382872 : packed_data(ipack) = pack_tmp
42689 382872 : data_tmp = full_data(idata)
42690 382872 : pack_tmp = ISHFT(data_tmp, 28)
42691 382872 : pack_tmp = ISHFT(pack_tmp, -28)
42692 382872 : idata = idata + 1
42693 382872 : data_tmp = full_data(idata)
42694 382872 : data_tmp = ISHFT(data_tmp, 11)
42695 382872 : data_tmp = IAND(data_tmp, mask_left(28))
42696 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42697 382872 : ipack = ipack + 1
42698 382872 : packed_data(ipack) = pack_tmp
42699 382872 : data_tmp = full_data(idata)
42700 382872 : pack_tmp = ISHFT(data_tmp, 39)
42701 382872 : pack_tmp = ISHFT(pack_tmp, -39)
42702 382872 : idata = idata + 1
42703 382872 : data_tmp = full_data(idata)
42704 382872 : data_tmp = ISHFT(data_tmp, 11)
42705 382872 : data_tmp = IAND(data_tmp, mask_left(39))
42706 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42707 382872 : ipack = ipack + 1
42708 382872 : packed_data(ipack) = pack_tmp
42709 382872 : data_tmp = full_data(idata)
42710 382872 : pack_tmp = ISHFT(data_tmp, 50)
42711 382872 : pack_tmp = ISHFT(pack_tmp, -50)
42712 382872 : idata = idata + 1
42713 382872 : data_tmp = full_data(idata)
42714 382872 : data_tmp = ISHFT(data_tmp, 11)
42715 382872 : data_tmp = IAND(data_tmp, mask_left(50))
42716 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42717 382872 : ipack = ipack + 1
42718 382872 : packed_data(ipack) = pack_tmp
42719 382872 : data_tmp = full_data(idata)
42720 382872 : pack_tmp = ISHFT(data_tmp, 61)
42721 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42722 382872 : idata = idata + 1
42723 382872 : data_tmp = full_data(idata)
42724 382872 : data_tmp = ISHFT(data_tmp, 11)
42725 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42726 382872 : pack_tmp = ISHFT(pack_tmp, -8)
42727 382872 : idata = idata + 1
42728 382872 : data_tmp = full_data(idata)
42729 382872 : data_tmp = ISHFT(data_tmp, 11)
42730 382872 : data_tmp = IAND(data_tmp, mask_left(8))
42731 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42732 382872 : ipack = ipack + 1
42733 382872 : packed_data(ipack) = pack_tmp
42734 382872 : data_tmp = full_data(idata)
42735 382872 : pack_tmp = ISHFT(data_tmp, 19)
42736 382872 : pack_tmp = ISHFT(pack_tmp, -19)
42737 382872 : idata = idata + 1
42738 382872 : data_tmp = full_data(idata)
42739 382872 : data_tmp = ISHFT(data_tmp, 11)
42740 382872 : data_tmp = IAND(data_tmp, mask_left(19))
42741 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42742 382872 : ipack = ipack + 1
42743 382872 : packed_data(ipack) = pack_tmp
42744 382872 : data_tmp = full_data(idata)
42745 382872 : pack_tmp = ISHFT(data_tmp, 30)
42746 382872 : pack_tmp = ISHFT(pack_tmp, -30)
42747 382872 : idata = idata + 1
42748 382872 : data_tmp = full_data(idata)
42749 382872 : data_tmp = ISHFT(data_tmp, 11)
42750 382872 : data_tmp = IAND(data_tmp, mask_left(30))
42751 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42752 382872 : ipack = ipack + 1
42753 382872 : packed_data(ipack) = pack_tmp
42754 382872 : data_tmp = full_data(idata)
42755 382872 : pack_tmp = ISHFT(data_tmp, 41)
42756 382872 : pack_tmp = ISHFT(pack_tmp, -41)
42757 382872 : idata = idata + 1
42758 382872 : data_tmp = full_data(idata)
42759 382872 : data_tmp = ISHFT(data_tmp, 11)
42760 382872 : data_tmp = IAND(data_tmp, mask_left(41))
42761 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42762 382872 : ipack = ipack + 1
42763 382872 : packed_data(ipack) = pack_tmp
42764 382872 : data_tmp = full_data(idata)
42765 382872 : pack_tmp = ISHFT(data_tmp, 52)
42766 382872 : pack_tmp = ISHFT(pack_tmp, -52)
42767 382872 : idata = idata + 1
42768 382872 : data_tmp = full_data(idata)
42769 382872 : data_tmp = ISHFT(data_tmp, 11)
42770 382872 : data_tmp = IAND(data_tmp, mask_left(52))
42771 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42772 382872 : ipack = ipack + 1
42773 382872 : packed_data(ipack) = pack_tmp
42774 382872 : data_tmp = full_data(idata)
42775 382872 : pack_tmp = ISHFT(data_tmp, 63)
42776 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42777 382872 : idata = idata + 1
42778 382872 : data_tmp = full_data(idata)
42779 382872 : data_tmp = ISHFT(data_tmp, 11)
42780 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42781 382872 : pack_tmp = ISHFT(pack_tmp, -10)
42782 382872 : idata = idata + 1
42783 382872 : data_tmp = full_data(idata)
42784 382872 : data_tmp = ISHFT(data_tmp, 11)
42785 382872 : data_tmp = IAND(data_tmp, mask_left(10))
42786 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42787 382872 : ipack = ipack + 1
42788 382872 : packed_data(ipack) = pack_tmp
42789 382872 : data_tmp = full_data(idata)
42790 382872 : pack_tmp = ISHFT(data_tmp, 21)
42791 382872 : pack_tmp = ISHFT(pack_tmp, -21)
42792 382872 : idata = idata + 1
42793 382872 : data_tmp = full_data(idata)
42794 382872 : data_tmp = ISHFT(data_tmp, 11)
42795 382872 : data_tmp = IAND(data_tmp, mask_left(21))
42796 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42797 382872 : ipack = ipack + 1
42798 382872 : packed_data(ipack) = pack_tmp
42799 382872 : data_tmp = full_data(idata)
42800 382872 : pack_tmp = ISHFT(data_tmp, 32)
42801 382872 : pack_tmp = ISHFT(pack_tmp, -32)
42802 382872 : idata = idata + 1
42803 382872 : data_tmp = full_data(idata)
42804 382872 : data_tmp = ISHFT(data_tmp, 11)
42805 382872 : data_tmp = IAND(data_tmp, mask_left(32))
42806 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42807 382872 : ipack = ipack + 1
42808 382872 : packed_data(ipack) = pack_tmp
42809 382872 : data_tmp = full_data(idata)
42810 382872 : pack_tmp = ISHFT(data_tmp, 43)
42811 382872 : pack_tmp = ISHFT(pack_tmp, -43)
42812 382872 : idata = idata + 1
42813 382872 : data_tmp = full_data(idata)
42814 382872 : data_tmp = ISHFT(data_tmp, 11)
42815 382872 : data_tmp = IAND(data_tmp, mask_left(43))
42816 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42817 382872 : ipack = ipack + 1
42818 382872 : packed_data(ipack) = pack_tmp
42819 382872 : data_tmp = full_data(idata)
42820 382872 : pack_tmp = ISHFT(data_tmp, 54)
42821 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42822 382872 : idata = idata + 1
42823 382872 : data_tmp = full_data(idata)
42824 382872 : data_tmp = ISHFT(data_tmp, 11)
42825 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42826 382872 : pack_tmp = ISHFT(pack_tmp, -1)
42827 382872 : idata = idata + 1
42828 382872 : data_tmp = full_data(idata)
42829 382872 : data_tmp = ISHFT(data_tmp, 11)
42830 382872 : data_tmp = IAND(data_tmp, mask_left(1))
42831 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42832 382872 : ipack = ipack + 1
42833 382872 : packed_data(ipack) = pack_tmp
42834 382872 : data_tmp = full_data(idata)
42835 382872 : pack_tmp = ISHFT(data_tmp, 12)
42836 382872 : pack_tmp = ISHFT(pack_tmp, -12)
42837 382872 : idata = idata + 1
42838 382872 : data_tmp = full_data(idata)
42839 382872 : data_tmp = ISHFT(data_tmp, 11)
42840 382872 : data_tmp = IAND(data_tmp, mask_left(12))
42841 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42842 382872 : ipack = ipack + 1
42843 382872 : packed_data(ipack) = pack_tmp
42844 382872 : data_tmp = full_data(idata)
42845 382872 : pack_tmp = ISHFT(data_tmp, 23)
42846 382872 : pack_tmp = ISHFT(pack_tmp, -23)
42847 382872 : idata = idata + 1
42848 382872 : data_tmp = full_data(idata)
42849 382872 : data_tmp = ISHFT(data_tmp, 11)
42850 382872 : data_tmp = IAND(data_tmp, mask_left(23))
42851 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42852 382872 : ipack = ipack + 1
42853 382872 : packed_data(ipack) = pack_tmp
42854 382872 : data_tmp = full_data(idata)
42855 382872 : pack_tmp = ISHFT(data_tmp, 34)
42856 382872 : pack_tmp = ISHFT(pack_tmp, -34)
42857 382872 : idata = idata + 1
42858 382872 : data_tmp = full_data(idata)
42859 382872 : data_tmp = ISHFT(data_tmp, 11)
42860 382872 : data_tmp = IAND(data_tmp, mask_left(34))
42861 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42862 382872 : ipack = ipack + 1
42863 382872 : packed_data(ipack) = pack_tmp
42864 382872 : data_tmp = full_data(idata)
42865 382872 : pack_tmp = ISHFT(data_tmp, 45)
42866 382872 : pack_tmp = ISHFT(pack_tmp, -45)
42867 382872 : idata = idata + 1
42868 382872 : data_tmp = full_data(idata)
42869 382872 : data_tmp = ISHFT(data_tmp, 11)
42870 382872 : data_tmp = IAND(data_tmp, mask_left(45))
42871 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42872 382872 : ipack = ipack + 1
42873 382872 : packed_data(ipack) = pack_tmp
42874 382872 : data_tmp = full_data(idata)
42875 382872 : pack_tmp = ISHFT(data_tmp, 56)
42876 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42877 382872 : idata = idata + 1
42878 382872 : data_tmp = full_data(idata)
42879 382872 : data_tmp = ISHFT(data_tmp, 11)
42880 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42881 382872 : pack_tmp = ISHFT(pack_tmp, -3)
42882 382872 : idata = idata + 1
42883 382872 : data_tmp = full_data(idata)
42884 382872 : data_tmp = ISHFT(data_tmp, 11)
42885 382872 : data_tmp = IAND(data_tmp, mask_left(3))
42886 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42887 382872 : ipack = ipack + 1
42888 382872 : packed_data(ipack) = pack_tmp
42889 382872 : data_tmp = full_data(idata)
42890 382872 : pack_tmp = ISHFT(data_tmp, 14)
42891 382872 : pack_tmp = ISHFT(pack_tmp, -14)
42892 382872 : idata = idata + 1
42893 382872 : data_tmp = full_data(idata)
42894 382872 : data_tmp = ISHFT(data_tmp, 11)
42895 382872 : data_tmp = IAND(data_tmp, mask_left(14))
42896 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42897 382872 : ipack = ipack + 1
42898 382872 : packed_data(ipack) = pack_tmp
42899 382872 : data_tmp = full_data(idata)
42900 382872 : pack_tmp = ISHFT(data_tmp, 25)
42901 382872 : pack_tmp = ISHFT(pack_tmp, -25)
42902 382872 : idata = idata + 1
42903 382872 : data_tmp = full_data(idata)
42904 382872 : data_tmp = ISHFT(data_tmp, 11)
42905 382872 : data_tmp = IAND(data_tmp, mask_left(25))
42906 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42907 382872 : ipack = ipack + 1
42908 382872 : packed_data(ipack) = pack_tmp
42909 382872 : data_tmp = full_data(idata)
42910 382872 : pack_tmp = ISHFT(data_tmp, 36)
42911 382872 : pack_tmp = ISHFT(pack_tmp, -36)
42912 382872 : idata = idata + 1
42913 382872 : data_tmp = full_data(idata)
42914 382872 : data_tmp = ISHFT(data_tmp, 11)
42915 382872 : data_tmp = IAND(data_tmp, mask_left(36))
42916 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42917 382872 : ipack = ipack + 1
42918 382872 : packed_data(ipack) = pack_tmp
42919 382872 : data_tmp = full_data(idata)
42920 382872 : pack_tmp = ISHFT(data_tmp, 47)
42921 382872 : pack_tmp = ISHFT(pack_tmp, -47)
42922 382872 : idata = idata + 1
42923 382872 : data_tmp = full_data(idata)
42924 382872 : data_tmp = ISHFT(data_tmp, 11)
42925 382872 : data_tmp = IAND(data_tmp, mask_left(47))
42926 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42927 382872 : ipack = ipack + 1
42928 382872 : packed_data(ipack) = pack_tmp
42929 382872 : data_tmp = full_data(idata)
42930 382872 : pack_tmp = ISHFT(data_tmp, 58)
42931 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42932 382872 : idata = idata + 1
42933 382872 : data_tmp = full_data(idata)
42934 382872 : data_tmp = ISHFT(data_tmp, 11)
42935 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42936 382872 : pack_tmp = ISHFT(pack_tmp, -5)
42937 382872 : idata = idata + 1
42938 382872 : data_tmp = full_data(idata)
42939 382872 : data_tmp = ISHFT(data_tmp, 11)
42940 382872 : data_tmp = IAND(data_tmp, mask_left(5))
42941 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42942 382872 : ipack = ipack + 1
42943 382872 : packed_data(ipack) = pack_tmp
42944 382872 : data_tmp = full_data(idata)
42945 382872 : pack_tmp = ISHFT(data_tmp, 16)
42946 382872 : pack_tmp = ISHFT(pack_tmp, -16)
42947 382872 : idata = idata + 1
42948 382872 : data_tmp = full_data(idata)
42949 382872 : data_tmp = ISHFT(data_tmp, 11)
42950 382872 : data_tmp = IAND(data_tmp, mask_left(16))
42951 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42952 382872 : ipack = ipack + 1
42953 382872 : packed_data(ipack) = pack_tmp
42954 382872 : data_tmp = full_data(idata)
42955 382872 : pack_tmp = ISHFT(data_tmp, 27)
42956 382872 : pack_tmp = ISHFT(pack_tmp, -27)
42957 382872 : idata = idata + 1
42958 382872 : data_tmp = full_data(idata)
42959 382872 : data_tmp = ISHFT(data_tmp, 11)
42960 382872 : data_tmp = IAND(data_tmp, mask_left(27))
42961 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42962 382872 : ipack = ipack + 1
42963 382872 : packed_data(ipack) = pack_tmp
42964 382872 : data_tmp = full_data(idata)
42965 382872 : pack_tmp = ISHFT(data_tmp, 38)
42966 382872 : pack_tmp = ISHFT(pack_tmp, -38)
42967 382872 : idata = idata + 1
42968 382872 : data_tmp = full_data(idata)
42969 382872 : data_tmp = ISHFT(data_tmp, 11)
42970 382872 : data_tmp = IAND(data_tmp, mask_left(38))
42971 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42972 382872 : ipack = ipack + 1
42973 382872 : packed_data(ipack) = pack_tmp
42974 382872 : data_tmp = full_data(idata)
42975 382872 : pack_tmp = ISHFT(data_tmp, 49)
42976 382872 : pack_tmp = ISHFT(pack_tmp, -49)
42977 382872 : idata = idata + 1
42978 382872 : data_tmp = full_data(idata)
42979 382872 : data_tmp = ISHFT(data_tmp, 11)
42980 382872 : data_tmp = IAND(data_tmp, mask_left(49))
42981 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42982 382872 : ipack = ipack + 1
42983 382872 : packed_data(ipack) = pack_tmp
42984 382872 : data_tmp = full_data(idata)
42985 382872 : pack_tmp = ISHFT(data_tmp, 60)
42986 382872 : pack_tmp = ISHFT(pack_tmp, -53)
42987 382872 : idata = idata + 1
42988 382872 : data_tmp = full_data(idata)
42989 382872 : data_tmp = ISHFT(data_tmp, 11)
42990 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42991 382872 : pack_tmp = ISHFT(pack_tmp, -7)
42992 382872 : idata = idata + 1
42993 382872 : data_tmp = full_data(idata)
42994 382872 : data_tmp = ISHFT(data_tmp, 11)
42995 382872 : data_tmp = IAND(data_tmp, mask_left(7))
42996 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
42997 382872 : ipack = ipack + 1
42998 382872 : packed_data(ipack) = pack_tmp
42999 382872 : data_tmp = full_data(idata)
43000 382872 : pack_tmp = ISHFT(data_tmp, 18)
43001 382872 : pack_tmp = ISHFT(pack_tmp, -18)
43002 382872 : idata = idata + 1
43003 382872 : data_tmp = full_data(idata)
43004 382872 : data_tmp = ISHFT(data_tmp, 11)
43005 382872 : data_tmp = IAND(data_tmp, mask_left(18))
43006 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43007 382872 : ipack = ipack + 1
43008 382872 : packed_data(ipack) = pack_tmp
43009 382872 : data_tmp = full_data(idata)
43010 382872 : pack_tmp = ISHFT(data_tmp, 29)
43011 382872 : pack_tmp = ISHFT(pack_tmp, -29)
43012 382872 : idata = idata + 1
43013 382872 : data_tmp = full_data(idata)
43014 382872 : data_tmp = ISHFT(data_tmp, 11)
43015 382872 : data_tmp = IAND(data_tmp, mask_left(29))
43016 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43017 382872 : ipack = ipack + 1
43018 382872 : packed_data(ipack) = pack_tmp
43019 382872 : data_tmp = full_data(idata)
43020 382872 : pack_tmp = ISHFT(data_tmp, 40)
43021 382872 : pack_tmp = ISHFT(pack_tmp, -40)
43022 382872 : idata = idata + 1
43023 382872 : data_tmp = full_data(idata)
43024 382872 : data_tmp = ISHFT(data_tmp, 11)
43025 382872 : data_tmp = IAND(data_tmp, mask_left(40))
43026 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43027 382872 : ipack = ipack + 1
43028 382872 : packed_data(ipack) = pack_tmp
43029 382872 : data_tmp = full_data(idata)
43030 382872 : pack_tmp = ISHFT(data_tmp, 51)
43031 382872 : pack_tmp = ISHFT(pack_tmp, -51)
43032 382872 : idata = idata + 1
43033 382872 : data_tmp = full_data(idata)
43034 382872 : data_tmp = ISHFT(data_tmp, 11)
43035 382872 : data_tmp = IAND(data_tmp, mask_left(51))
43036 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43037 382872 : ipack = ipack + 1
43038 382872 : packed_data(ipack) = pack_tmp
43039 382872 : data_tmp = full_data(idata)
43040 382872 : pack_tmp = ISHFT(data_tmp, 62)
43041 382872 : pack_tmp = ISHFT(pack_tmp, -53)
43042 382872 : idata = idata + 1
43043 382872 : data_tmp = full_data(idata)
43044 382872 : data_tmp = ISHFT(data_tmp, 11)
43045 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43046 382872 : pack_tmp = ISHFT(pack_tmp, -9)
43047 382872 : idata = idata + 1
43048 382872 : data_tmp = full_data(idata)
43049 382872 : data_tmp = ISHFT(data_tmp, 11)
43050 382872 : data_tmp = IAND(data_tmp, mask_left(9))
43051 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43052 382872 : ipack = ipack + 1
43053 382872 : packed_data(ipack) = pack_tmp
43054 382872 : data_tmp = full_data(idata)
43055 382872 : pack_tmp = ISHFT(data_tmp, 20)
43056 382872 : pack_tmp = ISHFT(pack_tmp, -20)
43057 382872 : idata = idata + 1
43058 382872 : data_tmp = full_data(idata)
43059 382872 : data_tmp = ISHFT(data_tmp, 11)
43060 382872 : data_tmp = IAND(data_tmp, mask_left(20))
43061 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43062 382872 : ipack = ipack + 1
43063 382872 : packed_data(ipack) = pack_tmp
43064 382872 : data_tmp = full_data(idata)
43065 382872 : pack_tmp = ISHFT(data_tmp, 31)
43066 382872 : pack_tmp = ISHFT(pack_tmp, -31)
43067 382872 : idata = idata + 1
43068 382872 : data_tmp = full_data(idata)
43069 382872 : data_tmp = ISHFT(data_tmp, 11)
43070 382872 : data_tmp = IAND(data_tmp, mask_left(31))
43071 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43072 382872 : ipack = ipack + 1
43073 382872 : packed_data(ipack) = pack_tmp
43074 382872 : data_tmp = full_data(idata)
43075 382872 : pack_tmp = ISHFT(data_tmp, 42)
43076 382872 : pack_tmp = ISHFT(pack_tmp, -42)
43077 382872 : idata = idata + 1
43078 382872 : data_tmp = full_data(idata)
43079 382872 : data_tmp = ISHFT(data_tmp, 11)
43080 382872 : data_tmp = IAND(data_tmp, mask_left(42))
43081 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43082 382872 : ipack = ipack + 1
43083 382872 : packed_data(ipack) = pack_tmp
43084 382872 : data_tmp = full_data(idata)
43085 382872 : pack_tmp = ISHFT(data_tmp, 53)
43086 382872 : pack_tmp = ISHFT(pack_tmp, -53)
43087 382872 : idata = idata + 1
43088 382872 : data_tmp = full_data(idata)
43089 382872 : data_tmp = ISHFT(data_tmp, 11)
43090 382872 : pack_tmp = IOR(pack_tmp, data_tmp)
43091 : pack_tmp = ISHFT(pack_tmp, 0)
43092 382872 : pack_tmp = ISHFT(pack_tmp, 0)
43093 382872 : ipack = ipack + 1
43094 382892 : packed_data(ipack) = pack_tmp
43095 : END DO
43096 24176 : 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 24176 : END SUBROUTINE ints2bits_53
43100 :
43101 : ! **************************************************************************************************
43102 : !> \brief ...
43103 : !> \param Ndata ...
43104 : !> \param packed_data ...
43105 : !> \param full_data ...
43106 : ! **************************************************************************************************
43107 108085 : 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 108085 : ipack = 0
43118 108085 : idata = 0
43119 108085 : pack_tmp = 0
43120 108085 : Ndata_rep = (Ndata/64)*64
43121 108085 : DO kdata = 1, Ndata_rep, 64
43122 1631372 : idata = idata + 1
43123 1631372 : data_tmp = ISHFT(pack_tmp, 53)
43124 1631372 : ipack = ipack + 1
43125 1631372 : pack_tmp = packed_data(ipack)
43126 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
43127 1631372 : pack_tmp = ISHFT(pack_tmp, -53)
43128 1631372 : idata = idata + 1
43129 1631372 : data_tmp = ISHFT(pack_tmp, 42)
43130 1631372 : ipack = ipack + 1
43131 1631372 : pack_tmp = packed_data(ipack)
43132 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
43133 1631372 : pack_tmp = ISHFT(pack_tmp, -42)
43134 1631372 : idata = idata + 1
43135 1631372 : data_tmp = ISHFT(pack_tmp, 31)
43136 1631372 : ipack = ipack + 1
43137 1631372 : pack_tmp = packed_data(ipack)
43138 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
43139 1631372 : pack_tmp = ISHFT(pack_tmp, -31)
43140 1631372 : idata = idata + 1
43141 1631372 : data_tmp = ISHFT(pack_tmp, 20)
43142 1631372 : ipack = ipack + 1
43143 1631372 : pack_tmp = packed_data(ipack)
43144 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
43145 1631372 : pack_tmp = ISHFT(pack_tmp, -20)
43146 1631372 : idata = idata + 1
43147 1631372 : data_tmp = ISHFT(pack_tmp, 9)
43148 1631372 : ipack = ipack + 1
43149 1631372 : pack_tmp = packed_data(ipack)
43150 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
43151 1631372 : pack_tmp = ISHFT(pack_tmp, -9)
43152 1631372 : idata = idata + 1
43153 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43154 1631372 : full_data(idata) = data_tmp
43155 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43156 1631372 : idata = idata + 1
43157 1631372 : data_tmp = ISHFT(pack_tmp, 51)
43158 1631372 : ipack = ipack + 1
43159 1631372 : pack_tmp = packed_data(ipack)
43160 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
43161 1631372 : pack_tmp = ISHFT(pack_tmp, -51)
43162 1631372 : idata = idata + 1
43163 1631372 : data_tmp = ISHFT(pack_tmp, 40)
43164 1631372 : ipack = ipack + 1
43165 1631372 : pack_tmp = packed_data(ipack)
43166 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
43167 1631372 : pack_tmp = ISHFT(pack_tmp, -40)
43168 1631372 : idata = idata + 1
43169 1631372 : data_tmp = ISHFT(pack_tmp, 29)
43170 1631372 : ipack = ipack + 1
43171 1631372 : pack_tmp = packed_data(ipack)
43172 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
43173 1631372 : pack_tmp = ISHFT(pack_tmp, -29)
43174 1631372 : idata = idata + 1
43175 1631372 : data_tmp = ISHFT(pack_tmp, 18)
43176 1631372 : ipack = ipack + 1
43177 1631372 : pack_tmp = packed_data(ipack)
43178 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
43179 1631372 : pack_tmp = ISHFT(pack_tmp, -18)
43180 1631372 : idata = idata + 1
43181 1631372 : data_tmp = ISHFT(pack_tmp, 7)
43182 1631372 : ipack = ipack + 1
43183 1631372 : pack_tmp = packed_data(ipack)
43184 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
43185 1631372 : pack_tmp = ISHFT(pack_tmp, -7)
43186 1631372 : idata = idata + 1
43187 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43188 1631372 : full_data(idata) = data_tmp
43189 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43190 1631372 : idata = idata + 1
43191 1631372 : data_tmp = ISHFT(pack_tmp, 49)
43192 1631372 : ipack = ipack + 1
43193 1631372 : pack_tmp = packed_data(ipack)
43194 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
43195 1631372 : pack_tmp = ISHFT(pack_tmp, -49)
43196 1631372 : idata = idata + 1
43197 1631372 : data_tmp = ISHFT(pack_tmp, 38)
43198 1631372 : ipack = ipack + 1
43199 1631372 : pack_tmp = packed_data(ipack)
43200 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
43201 1631372 : pack_tmp = ISHFT(pack_tmp, -38)
43202 1631372 : idata = idata + 1
43203 1631372 : data_tmp = ISHFT(pack_tmp, 27)
43204 1631372 : ipack = ipack + 1
43205 1631372 : pack_tmp = packed_data(ipack)
43206 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
43207 1631372 : pack_tmp = ISHFT(pack_tmp, -27)
43208 1631372 : idata = idata + 1
43209 1631372 : data_tmp = ISHFT(pack_tmp, 16)
43210 1631372 : ipack = ipack + 1
43211 1631372 : pack_tmp = packed_data(ipack)
43212 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
43213 1631372 : pack_tmp = ISHFT(pack_tmp, -16)
43214 1631372 : idata = idata + 1
43215 1631372 : data_tmp = ISHFT(pack_tmp, 5)
43216 1631372 : ipack = ipack + 1
43217 1631372 : pack_tmp = packed_data(ipack)
43218 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
43219 1631372 : pack_tmp = ISHFT(pack_tmp, -5)
43220 1631372 : idata = idata + 1
43221 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43222 1631372 : full_data(idata) = data_tmp
43223 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43224 1631372 : idata = idata + 1
43225 1631372 : data_tmp = ISHFT(pack_tmp, 47)
43226 1631372 : ipack = ipack + 1
43227 1631372 : pack_tmp = packed_data(ipack)
43228 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
43229 1631372 : pack_tmp = ISHFT(pack_tmp, -47)
43230 1631372 : idata = idata + 1
43231 1631372 : data_tmp = ISHFT(pack_tmp, 36)
43232 1631372 : ipack = ipack + 1
43233 1631372 : pack_tmp = packed_data(ipack)
43234 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
43235 1631372 : pack_tmp = ISHFT(pack_tmp, -36)
43236 1631372 : idata = idata + 1
43237 1631372 : data_tmp = ISHFT(pack_tmp, 25)
43238 1631372 : ipack = ipack + 1
43239 1631372 : pack_tmp = packed_data(ipack)
43240 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
43241 1631372 : pack_tmp = ISHFT(pack_tmp, -25)
43242 1631372 : idata = idata + 1
43243 1631372 : data_tmp = ISHFT(pack_tmp, 14)
43244 1631372 : ipack = ipack + 1
43245 1631372 : pack_tmp = packed_data(ipack)
43246 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
43247 1631372 : pack_tmp = ISHFT(pack_tmp, -14)
43248 1631372 : idata = idata + 1
43249 1631372 : data_tmp = ISHFT(pack_tmp, 3)
43250 1631372 : ipack = ipack + 1
43251 1631372 : pack_tmp = packed_data(ipack)
43252 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
43253 1631372 : pack_tmp = ISHFT(pack_tmp, -3)
43254 1631372 : idata = idata + 1
43255 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43256 1631372 : full_data(idata) = data_tmp
43257 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43258 1631372 : idata = idata + 1
43259 1631372 : data_tmp = ISHFT(pack_tmp, 45)
43260 1631372 : ipack = ipack + 1
43261 1631372 : pack_tmp = packed_data(ipack)
43262 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
43263 1631372 : pack_tmp = ISHFT(pack_tmp, -45)
43264 1631372 : idata = idata + 1
43265 1631372 : data_tmp = ISHFT(pack_tmp, 34)
43266 1631372 : ipack = ipack + 1
43267 1631372 : pack_tmp = packed_data(ipack)
43268 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
43269 1631372 : pack_tmp = ISHFT(pack_tmp, -34)
43270 1631372 : idata = idata + 1
43271 1631372 : data_tmp = ISHFT(pack_tmp, 23)
43272 1631372 : ipack = ipack + 1
43273 1631372 : pack_tmp = packed_data(ipack)
43274 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
43275 1631372 : pack_tmp = ISHFT(pack_tmp, -23)
43276 1631372 : idata = idata + 1
43277 1631372 : data_tmp = ISHFT(pack_tmp, 12)
43278 1631372 : ipack = ipack + 1
43279 1631372 : pack_tmp = packed_data(ipack)
43280 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
43281 1631372 : pack_tmp = ISHFT(pack_tmp, -12)
43282 1631372 : idata = idata + 1
43283 1631372 : data_tmp = ISHFT(pack_tmp, 1)
43284 1631372 : ipack = ipack + 1
43285 1631372 : pack_tmp = packed_data(ipack)
43286 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
43287 1631372 : pack_tmp = ISHFT(pack_tmp, -1)
43288 1631372 : idata = idata + 1
43289 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43290 1631372 : full_data(idata) = data_tmp
43291 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43292 1631372 : idata = idata + 1
43293 1631372 : data_tmp = ISHFT(pack_tmp, 43)
43294 1631372 : ipack = ipack + 1
43295 1631372 : pack_tmp = packed_data(ipack)
43296 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
43297 1631372 : pack_tmp = ISHFT(pack_tmp, -43)
43298 1631372 : idata = idata + 1
43299 1631372 : data_tmp = ISHFT(pack_tmp, 32)
43300 1631372 : ipack = ipack + 1
43301 1631372 : pack_tmp = packed_data(ipack)
43302 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
43303 1631372 : pack_tmp = ISHFT(pack_tmp, -32)
43304 1631372 : idata = idata + 1
43305 1631372 : data_tmp = ISHFT(pack_tmp, 21)
43306 1631372 : ipack = ipack + 1
43307 1631372 : pack_tmp = packed_data(ipack)
43308 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
43309 1631372 : pack_tmp = ISHFT(pack_tmp, -21)
43310 1631372 : idata = idata + 1
43311 1631372 : data_tmp = ISHFT(pack_tmp, 10)
43312 1631372 : ipack = ipack + 1
43313 1631372 : pack_tmp = packed_data(ipack)
43314 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
43315 1631372 : pack_tmp = ISHFT(pack_tmp, -10)
43316 1631372 : idata = idata + 1
43317 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43318 1631372 : full_data(idata) = data_tmp
43319 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43320 1631372 : idata = idata + 1
43321 1631372 : data_tmp = ISHFT(pack_tmp, 52)
43322 1631372 : ipack = ipack + 1
43323 1631372 : pack_tmp = packed_data(ipack)
43324 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
43325 1631372 : pack_tmp = ISHFT(pack_tmp, -52)
43326 1631372 : idata = idata + 1
43327 1631372 : data_tmp = ISHFT(pack_tmp, 41)
43328 1631372 : ipack = ipack + 1
43329 1631372 : pack_tmp = packed_data(ipack)
43330 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
43331 1631372 : pack_tmp = ISHFT(pack_tmp, -41)
43332 1631372 : idata = idata + 1
43333 1631372 : data_tmp = ISHFT(pack_tmp, 30)
43334 1631372 : ipack = ipack + 1
43335 1631372 : pack_tmp = packed_data(ipack)
43336 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
43337 1631372 : pack_tmp = ISHFT(pack_tmp, -30)
43338 1631372 : idata = idata + 1
43339 1631372 : data_tmp = ISHFT(pack_tmp, 19)
43340 1631372 : ipack = ipack + 1
43341 1631372 : pack_tmp = packed_data(ipack)
43342 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
43343 1631372 : pack_tmp = ISHFT(pack_tmp, -19)
43344 1631372 : idata = idata + 1
43345 1631372 : data_tmp = ISHFT(pack_tmp, 8)
43346 1631372 : ipack = ipack + 1
43347 1631372 : pack_tmp = packed_data(ipack)
43348 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
43349 1631372 : pack_tmp = ISHFT(pack_tmp, -8)
43350 1631372 : idata = idata + 1
43351 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43352 1631372 : full_data(idata) = data_tmp
43353 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43354 1631372 : idata = idata + 1
43355 1631372 : data_tmp = ISHFT(pack_tmp, 50)
43356 1631372 : ipack = ipack + 1
43357 1631372 : pack_tmp = packed_data(ipack)
43358 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
43359 1631372 : pack_tmp = ISHFT(pack_tmp, -50)
43360 1631372 : idata = idata + 1
43361 1631372 : data_tmp = ISHFT(pack_tmp, 39)
43362 1631372 : ipack = ipack + 1
43363 1631372 : pack_tmp = packed_data(ipack)
43364 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
43365 1631372 : pack_tmp = ISHFT(pack_tmp, -39)
43366 1631372 : idata = idata + 1
43367 1631372 : data_tmp = ISHFT(pack_tmp, 28)
43368 1631372 : ipack = ipack + 1
43369 1631372 : pack_tmp = packed_data(ipack)
43370 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
43371 1631372 : pack_tmp = ISHFT(pack_tmp, -28)
43372 1631372 : idata = idata + 1
43373 1631372 : data_tmp = ISHFT(pack_tmp, 17)
43374 1631372 : ipack = ipack + 1
43375 1631372 : pack_tmp = packed_data(ipack)
43376 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
43377 1631372 : pack_tmp = ISHFT(pack_tmp, -17)
43378 1631372 : idata = idata + 1
43379 1631372 : data_tmp = ISHFT(pack_tmp, 6)
43380 1631372 : ipack = ipack + 1
43381 1631372 : pack_tmp = packed_data(ipack)
43382 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
43383 1631372 : pack_tmp = ISHFT(pack_tmp, -6)
43384 1631372 : idata = idata + 1
43385 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43386 1631372 : full_data(idata) = data_tmp
43387 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43388 1631372 : idata = idata + 1
43389 1631372 : data_tmp = ISHFT(pack_tmp, 48)
43390 1631372 : ipack = ipack + 1
43391 1631372 : pack_tmp = packed_data(ipack)
43392 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
43393 1631372 : pack_tmp = ISHFT(pack_tmp, -48)
43394 1631372 : idata = idata + 1
43395 1631372 : data_tmp = ISHFT(pack_tmp, 37)
43396 1631372 : ipack = ipack + 1
43397 1631372 : pack_tmp = packed_data(ipack)
43398 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
43399 1631372 : pack_tmp = ISHFT(pack_tmp, -37)
43400 1631372 : idata = idata + 1
43401 1631372 : data_tmp = ISHFT(pack_tmp, 26)
43402 1631372 : ipack = ipack + 1
43403 1631372 : pack_tmp = packed_data(ipack)
43404 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
43405 1631372 : pack_tmp = ISHFT(pack_tmp, -26)
43406 1631372 : idata = idata + 1
43407 1631372 : data_tmp = ISHFT(pack_tmp, 15)
43408 1631372 : ipack = ipack + 1
43409 1631372 : pack_tmp = packed_data(ipack)
43410 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
43411 1631372 : pack_tmp = ISHFT(pack_tmp, -15)
43412 1631372 : idata = idata + 1
43413 1631372 : data_tmp = ISHFT(pack_tmp, 4)
43414 1631372 : ipack = ipack + 1
43415 1631372 : pack_tmp = packed_data(ipack)
43416 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
43417 1631372 : pack_tmp = ISHFT(pack_tmp, -4)
43418 1631372 : idata = idata + 1
43419 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43420 1631372 : full_data(idata) = data_tmp
43421 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43422 1631372 : idata = idata + 1
43423 1631372 : data_tmp = ISHFT(pack_tmp, 46)
43424 1631372 : ipack = ipack + 1
43425 1631372 : pack_tmp = packed_data(ipack)
43426 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
43427 1631372 : pack_tmp = ISHFT(pack_tmp, -46)
43428 1631372 : idata = idata + 1
43429 1631372 : data_tmp = ISHFT(pack_tmp, 35)
43430 1631372 : ipack = ipack + 1
43431 1631372 : pack_tmp = packed_data(ipack)
43432 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
43433 1631372 : pack_tmp = ISHFT(pack_tmp, -35)
43434 1631372 : idata = idata + 1
43435 1631372 : data_tmp = ISHFT(pack_tmp, 24)
43436 1631372 : ipack = ipack + 1
43437 1631372 : pack_tmp = packed_data(ipack)
43438 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
43439 1631372 : pack_tmp = ISHFT(pack_tmp, -24)
43440 1631372 : idata = idata + 1
43441 1631372 : data_tmp = ISHFT(pack_tmp, 13)
43442 1631372 : ipack = ipack + 1
43443 1631372 : pack_tmp = packed_data(ipack)
43444 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
43445 1631372 : pack_tmp = ISHFT(pack_tmp, -13)
43446 1631372 : idata = idata + 1
43447 1631372 : data_tmp = ISHFT(pack_tmp, 2)
43448 1631372 : ipack = ipack + 1
43449 1631372 : pack_tmp = packed_data(ipack)
43450 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
43451 1631372 : pack_tmp = ISHFT(pack_tmp, -2)
43452 1631372 : idata = idata + 1
43453 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43454 1631372 : full_data(idata) = data_tmp
43455 1631372 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43456 1631372 : idata = idata + 1
43457 1631372 : data_tmp = ISHFT(pack_tmp, 44)
43458 1631372 : ipack = ipack + 1
43459 1631372 : pack_tmp = packed_data(ipack)
43460 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
43461 1631372 : pack_tmp = ISHFT(pack_tmp, -44)
43462 1631372 : idata = idata + 1
43463 1631372 : data_tmp = ISHFT(pack_tmp, 33)
43464 1631372 : ipack = ipack + 1
43465 1631372 : pack_tmp = packed_data(ipack)
43466 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
43467 1631372 : pack_tmp = ISHFT(pack_tmp, -33)
43468 1631372 : idata = idata + 1
43469 1631372 : data_tmp = ISHFT(pack_tmp, 22)
43470 1631372 : ipack = ipack + 1
43471 1631372 : pack_tmp = packed_data(ipack)
43472 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
43473 1631372 : pack_tmp = ISHFT(pack_tmp, -22)
43474 1631372 : idata = idata + 1
43475 1631372 : data_tmp = ISHFT(pack_tmp, 11)
43476 1631372 : ipack = ipack + 1
43477 1631372 : pack_tmp = packed_data(ipack)
43478 1631372 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
43479 1631372 : pack_tmp = ISHFT(pack_tmp, -11)
43480 1631372 : idata = idata + 1
43481 1631372 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43482 1631372 : full_data(idata) = data_tmp
43483 1631762 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43484 : END DO
43485 108085 : 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 108085 : END SUBROUTINE bits2ints_53
43489 :
43490 : ! **************************************************************************************************
43491 : !> \brief ...
43492 : !> \param Ndata ...
43493 : !> \param packed_data ...
43494 : !> \param full_data ...
43495 : ! **************************************************************************************************
43496 24054 : 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 24054 : idata = 0
43507 24054 : ipack = 0
43508 24054 : Ndata_rep = (Ndata/64)*64
43509 24054 : DO kdata = 1, Ndata_rep, 64
43510 381838 : pack_tmp = 0
43511 381838 : idata = idata + 1
43512 381838 : data_tmp = full_data(idata)
43513 381838 : data_tmp = ISHFT(data_tmp, 10)
43514 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43515 381838 : pack_tmp = ISHFT(pack_tmp, -10)
43516 381838 : idata = idata + 1
43517 381838 : data_tmp = full_data(idata)
43518 381838 : data_tmp = ISHFT(data_tmp, 10)
43519 381838 : data_tmp = IAND(data_tmp, mask_left(10))
43520 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43521 381838 : ipack = ipack + 1
43522 381838 : packed_data(ipack) = pack_tmp
43523 381838 : data_tmp = full_data(idata)
43524 381838 : pack_tmp = ISHFT(data_tmp, 20)
43525 381838 : pack_tmp = ISHFT(pack_tmp, -20)
43526 381838 : idata = idata + 1
43527 381838 : data_tmp = full_data(idata)
43528 381838 : data_tmp = ISHFT(data_tmp, 10)
43529 381838 : data_tmp = IAND(data_tmp, mask_left(20))
43530 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43531 381838 : ipack = ipack + 1
43532 381838 : packed_data(ipack) = pack_tmp
43533 381838 : data_tmp = full_data(idata)
43534 381838 : pack_tmp = ISHFT(data_tmp, 30)
43535 381838 : pack_tmp = ISHFT(pack_tmp, -30)
43536 381838 : idata = idata + 1
43537 381838 : data_tmp = full_data(idata)
43538 381838 : data_tmp = ISHFT(data_tmp, 10)
43539 381838 : data_tmp = IAND(data_tmp, mask_left(30))
43540 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43541 381838 : ipack = ipack + 1
43542 381838 : packed_data(ipack) = pack_tmp
43543 381838 : data_tmp = full_data(idata)
43544 381838 : pack_tmp = ISHFT(data_tmp, 40)
43545 381838 : pack_tmp = ISHFT(pack_tmp, -40)
43546 381838 : idata = idata + 1
43547 381838 : data_tmp = full_data(idata)
43548 381838 : data_tmp = ISHFT(data_tmp, 10)
43549 381838 : data_tmp = IAND(data_tmp, mask_left(40))
43550 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43551 381838 : ipack = ipack + 1
43552 381838 : packed_data(ipack) = pack_tmp
43553 381838 : data_tmp = full_data(idata)
43554 381838 : pack_tmp = ISHFT(data_tmp, 50)
43555 381838 : pack_tmp = ISHFT(pack_tmp, -50)
43556 381838 : idata = idata + 1
43557 381838 : data_tmp = full_data(idata)
43558 381838 : data_tmp = ISHFT(data_tmp, 10)
43559 381838 : data_tmp = IAND(data_tmp, mask_left(50))
43560 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43561 381838 : ipack = ipack + 1
43562 381838 : packed_data(ipack) = pack_tmp
43563 381838 : data_tmp = full_data(idata)
43564 381838 : pack_tmp = ISHFT(data_tmp, 60)
43565 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43566 381838 : idata = idata + 1
43567 381838 : data_tmp = full_data(idata)
43568 381838 : data_tmp = ISHFT(data_tmp, 10)
43569 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43570 381838 : pack_tmp = ISHFT(pack_tmp, -6)
43571 381838 : idata = idata + 1
43572 381838 : data_tmp = full_data(idata)
43573 381838 : data_tmp = ISHFT(data_tmp, 10)
43574 381838 : data_tmp = IAND(data_tmp, mask_left(6))
43575 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43576 381838 : ipack = ipack + 1
43577 381838 : packed_data(ipack) = pack_tmp
43578 381838 : data_tmp = full_data(idata)
43579 381838 : pack_tmp = ISHFT(data_tmp, 16)
43580 381838 : pack_tmp = ISHFT(pack_tmp, -16)
43581 381838 : idata = idata + 1
43582 381838 : data_tmp = full_data(idata)
43583 381838 : data_tmp = ISHFT(data_tmp, 10)
43584 381838 : data_tmp = IAND(data_tmp, mask_left(16))
43585 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43586 381838 : ipack = ipack + 1
43587 381838 : packed_data(ipack) = pack_tmp
43588 381838 : data_tmp = full_data(idata)
43589 381838 : pack_tmp = ISHFT(data_tmp, 26)
43590 381838 : pack_tmp = ISHFT(pack_tmp, -26)
43591 381838 : idata = idata + 1
43592 381838 : data_tmp = full_data(idata)
43593 381838 : data_tmp = ISHFT(data_tmp, 10)
43594 381838 : data_tmp = IAND(data_tmp, mask_left(26))
43595 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43596 381838 : ipack = ipack + 1
43597 381838 : packed_data(ipack) = pack_tmp
43598 381838 : data_tmp = full_data(idata)
43599 381838 : pack_tmp = ISHFT(data_tmp, 36)
43600 381838 : pack_tmp = ISHFT(pack_tmp, -36)
43601 381838 : idata = idata + 1
43602 381838 : data_tmp = full_data(idata)
43603 381838 : data_tmp = ISHFT(data_tmp, 10)
43604 381838 : data_tmp = IAND(data_tmp, mask_left(36))
43605 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43606 381838 : ipack = ipack + 1
43607 381838 : packed_data(ipack) = pack_tmp
43608 381838 : data_tmp = full_data(idata)
43609 381838 : pack_tmp = ISHFT(data_tmp, 46)
43610 381838 : pack_tmp = ISHFT(pack_tmp, -46)
43611 381838 : idata = idata + 1
43612 381838 : data_tmp = full_data(idata)
43613 381838 : data_tmp = ISHFT(data_tmp, 10)
43614 381838 : data_tmp = IAND(data_tmp, mask_left(46))
43615 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43616 381838 : ipack = ipack + 1
43617 381838 : packed_data(ipack) = pack_tmp
43618 381838 : data_tmp = full_data(idata)
43619 381838 : pack_tmp = ISHFT(data_tmp, 56)
43620 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43621 381838 : idata = idata + 1
43622 381838 : data_tmp = full_data(idata)
43623 381838 : data_tmp = ISHFT(data_tmp, 10)
43624 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43625 381838 : pack_tmp = ISHFT(pack_tmp, -2)
43626 381838 : idata = idata + 1
43627 381838 : data_tmp = full_data(idata)
43628 381838 : data_tmp = ISHFT(data_tmp, 10)
43629 381838 : data_tmp = IAND(data_tmp, mask_left(2))
43630 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43631 381838 : ipack = ipack + 1
43632 381838 : packed_data(ipack) = pack_tmp
43633 381838 : data_tmp = full_data(idata)
43634 381838 : pack_tmp = ISHFT(data_tmp, 12)
43635 381838 : pack_tmp = ISHFT(pack_tmp, -12)
43636 381838 : idata = idata + 1
43637 381838 : data_tmp = full_data(idata)
43638 381838 : data_tmp = ISHFT(data_tmp, 10)
43639 381838 : data_tmp = IAND(data_tmp, mask_left(12))
43640 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43641 381838 : ipack = ipack + 1
43642 381838 : packed_data(ipack) = pack_tmp
43643 381838 : data_tmp = full_data(idata)
43644 381838 : pack_tmp = ISHFT(data_tmp, 22)
43645 381838 : pack_tmp = ISHFT(pack_tmp, -22)
43646 381838 : idata = idata + 1
43647 381838 : data_tmp = full_data(idata)
43648 381838 : data_tmp = ISHFT(data_tmp, 10)
43649 381838 : data_tmp = IAND(data_tmp, mask_left(22))
43650 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43651 381838 : ipack = ipack + 1
43652 381838 : packed_data(ipack) = pack_tmp
43653 381838 : data_tmp = full_data(idata)
43654 381838 : pack_tmp = ISHFT(data_tmp, 32)
43655 381838 : pack_tmp = ISHFT(pack_tmp, -32)
43656 381838 : idata = idata + 1
43657 381838 : data_tmp = full_data(idata)
43658 381838 : data_tmp = ISHFT(data_tmp, 10)
43659 381838 : data_tmp = IAND(data_tmp, mask_left(32))
43660 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43661 381838 : ipack = ipack + 1
43662 381838 : packed_data(ipack) = pack_tmp
43663 381838 : data_tmp = full_data(idata)
43664 381838 : pack_tmp = ISHFT(data_tmp, 42)
43665 381838 : pack_tmp = ISHFT(pack_tmp, -42)
43666 381838 : idata = idata + 1
43667 381838 : data_tmp = full_data(idata)
43668 381838 : data_tmp = ISHFT(data_tmp, 10)
43669 381838 : data_tmp = IAND(data_tmp, mask_left(42))
43670 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43671 381838 : ipack = ipack + 1
43672 381838 : packed_data(ipack) = pack_tmp
43673 381838 : data_tmp = full_data(idata)
43674 381838 : pack_tmp = ISHFT(data_tmp, 52)
43675 381838 : pack_tmp = ISHFT(pack_tmp, -52)
43676 381838 : idata = idata + 1
43677 381838 : data_tmp = full_data(idata)
43678 381838 : data_tmp = ISHFT(data_tmp, 10)
43679 381838 : data_tmp = IAND(data_tmp, mask_left(52))
43680 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43681 381838 : ipack = ipack + 1
43682 381838 : packed_data(ipack) = pack_tmp
43683 381838 : data_tmp = full_data(idata)
43684 381838 : pack_tmp = ISHFT(data_tmp, 62)
43685 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43686 381838 : idata = idata + 1
43687 381838 : data_tmp = full_data(idata)
43688 381838 : data_tmp = ISHFT(data_tmp, 10)
43689 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43690 381838 : pack_tmp = ISHFT(pack_tmp, -8)
43691 381838 : idata = idata + 1
43692 381838 : data_tmp = full_data(idata)
43693 381838 : data_tmp = ISHFT(data_tmp, 10)
43694 381838 : data_tmp = IAND(data_tmp, mask_left(8))
43695 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43696 381838 : ipack = ipack + 1
43697 381838 : packed_data(ipack) = pack_tmp
43698 381838 : data_tmp = full_data(idata)
43699 381838 : pack_tmp = ISHFT(data_tmp, 18)
43700 381838 : pack_tmp = ISHFT(pack_tmp, -18)
43701 381838 : idata = idata + 1
43702 381838 : data_tmp = full_data(idata)
43703 381838 : data_tmp = ISHFT(data_tmp, 10)
43704 381838 : data_tmp = IAND(data_tmp, mask_left(18))
43705 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43706 381838 : ipack = ipack + 1
43707 381838 : packed_data(ipack) = pack_tmp
43708 381838 : data_tmp = full_data(idata)
43709 381838 : pack_tmp = ISHFT(data_tmp, 28)
43710 381838 : pack_tmp = ISHFT(pack_tmp, -28)
43711 381838 : idata = idata + 1
43712 381838 : data_tmp = full_data(idata)
43713 381838 : data_tmp = ISHFT(data_tmp, 10)
43714 381838 : data_tmp = IAND(data_tmp, mask_left(28))
43715 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43716 381838 : ipack = ipack + 1
43717 381838 : packed_data(ipack) = pack_tmp
43718 381838 : data_tmp = full_data(idata)
43719 381838 : pack_tmp = ISHFT(data_tmp, 38)
43720 381838 : pack_tmp = ISHFT(pack_tmp, -38)
43721 381838 : idata = idata + 1
43722 381838 : data_tmp = full_data(idata)
43723 381838 : data_tmp = ISHFT(data_tmp, 10)
43724 381838 : data_tmp = IAND(data_tmp, mask_left(38))
43725 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43726 381838 : ipack = ipack + 1
43727 381838 : packed_data(ipack) = pack_tmp
43728 381838 : data_tmp = full_data(idata)
43729 381838 : pack_tmp = ISHFT(data_tmp, 48)
43730 381838 : pack_tmp = ISHFT(pack_tmp, -48)
43731 381838 : idata = idata + 1
43732 381838 : data_tmp = full_data(idata)
43733 381838 : data_tmp = ISHFT(data_tmp, 10)
43734 381838 : data_tmp = IAND(data_tmp, mask_left(48))
43735 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43736 381838 : ipack = ipack + 1
43737 381838 : packed_data(ipack) = pack_tmp
43738 381838 : data_tmp = full_data(idata)
43739 381838 : pack_tmp = ISHFT(data_tmp, 58)
43740 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43741 381838 : idata = idata + 1
43742 381838 : data_tmp = full_data(idata)
43743 381838 : data_tmp = ISHFT(data_tmp, 10)
43744 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43745 381838 : pack_tmp = ISHFT(pack_tmp, -4)
43746 381838 : idata = idata + 1
43747 381838 : data_tmp = full_data(idata)
43748 381838 : data_tmp = ISHFT(data_tmp, 10)
43749 381838 : data_tmp = IAND(data_tmp, mask_left(4))
43750 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43751 381838 : ipack = ipack + 1
43752 381838 : packed_data(ipack) = pack_tmp
43753 381838 : data_tmp = full_data(idata)
43754 381838 : pack_tmp = ISHFT(data_tmp, 14)
43755 381838 : pack_tmp = ISHFT(pack_tmp, -14)
43756 381838 : idata = idata + 1
43757 381838 : data_tmp = full_data(idata)
43758 381838 : data_tmp = ISHFT(data_tmp, 10)
43759 381838 : data_tmp = IAND(data_tmp, mask_left(14))
43760 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43761 381838 : ipack = ipack + 1
43762 381838 : packed_data(ipack) = pack_tmp
43763 381838 : data_tmp = full_data(idata)
43764 381838 : pack_tmp = ISHFT(data_tmp, 24)
43765 381838 : pack_tmp = ISHFT(pack_tmp, -24)
43766 381838 : idata = idata + 1
43767 381838 : data_tmp = full_data(idata)
43768 381838 : data_tmp = ISHFT(data_tmp, 10)
43769 381838 : data_tmp = IAND(data_tmp, mask_left(24))
43770 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43771 381838 : ipack = ipack + 1
43772 381838 : packed_data(ipack) = pack_tmp
43773 381838 : data_tmp = full_data(idata)
43774 381838 : pack_tmp = ISHFT(data_tmp, 34)
43775 381838 : pack_tmp = ISHFT(pack_tmp, -34)
43776 381838 : idata = idata + 1
43777 381838 : data_tmp = full_data(idata)
43778 381838 : data_tmp = ISHFT(data_tmp, 10)
43779 381838 : data_tmp = IAND(data_tmp, mask_left(34))
43780 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43781 381838 : ipack = ipack + 1
43782 381838 : packed_data(ipack) = pack_tmp
43783 381838 : data_tmp = full_data(idata)
43784 381838 : pack_tmp = ISHFT(data_tmp, 44)
43785 381838 : pack_tmp = ISHFT(pack_tmp, -44)
43786 381838 : idata = idata + 1
43787 381838 : data_tmp = full_data(idata)
43788 381838 : data_tmp = ISHFT(data_tmp, 10)
43789 381838 : data_tmp = IAND(data_tmp, mask_left(44))
43790 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43791 381838 : ipack = ipack + 1
43792 381838 : packed_data(ipack) = pack_tmp
43793 381838 : data_tmp = full_data(idata)
43794 381838 : pack_tmp = ISHFT(data_tmp, 54)
43795 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43796 381838 : idata = idata + 1
43797 381838 : data_tmp = full_data(idata)
43798 381838 : data_tmp = ISHFT(data_tmp, 10)
43799 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43800 381838 : pack_tmp = ISHFT(pack_tmp, 0)
43801 381838 : idata = idata + 1
43802 381838 : data_tmp = full_data(idata)
43803 : data_tmp = ISHFT(data_tmp, 10)
43804 381838 : data_tmp = IAND(data_tmp, mask_left(0))
43805 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43806 381838 : ipack = ipack + 1
43807 381838 : packed_data(ipack) = pack_tmp
43808 381838 : data_tmp = full_data(idata)
43809 381838 : pack_tmp = ISHFT(data_tmp, 10)
43810 381838 : pack_tmp = ISHFT(pack_tmp, -10)
43811 381838 : idata = idata + 1
43812 381838 : data_tmp = full_data(idata)
43813 381838 : data_tmp = ISHFT(data_tmp, 10)
43814 381838 : data_tmp = IAND(data_tmp, mask_left(10))
43815 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43816 381838 : ipack = ipack + 1
43817 381838 : packed_data(ipack) = pack_tmp
43818 381838 : data_tmp = full_data(idata)
43819 381838 : pack_tmp = ISHFT(data_tmp, 20)
43820 381838 : pack_tmp = ISHFT(pack_tmp, -20)
43821 381838 : idata = idata + 1
43822 381838 : data_tmp = full_data(idata)
43823 381838 : data_tmp = ISHFT(data_tmp, 10)
43824 381838 : data_tmp = IAND(data_tmp, mask_left(20))
43825 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43826 381838 : ipack = ipack + 1
43827 381838 : packed_data(ipack) = pack_tmp
43828 381838 : data_tmp = full_data(idata)
43829 381838 : pack_tmp = ISHFT(data_tmp, 30)
43830 381838 : pack_tmp = ISHFT(pack_tmp, -30)
43831 381838 : idata = idata + 1
43832 381838 : data_tmp = full_data(idata)
43833 381838 : data_tmp = ISHFT(data_tmp, 10)
43834 381838 : data_tmp = IAND(data_tmp, mask_left(30))
43835 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43836 381838 : ipack = ipack + 1
43837 381838 : packed_data(ipack) = pack_tmp
43838 381838 : data_tmp = full_data(idata)
43839 381838 : pack_tmp = ISHFT(data_tmp, 40)
43840 381838 : pack_tmp = ISHFT(pack_tmp, -40)
43841 381838 : idata = idata + 1
43842 381838 : data_tmp = full_data(idata)
43843 381838 : data_tmp = ISHFT(data_tmp, 10)
43844 381838 : data_tmp = IAND(data_tmp, mask_left(40))
43845 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43846 381838 : ipack = ipack + 1
43847 381838 : packed_data(ipack) = pack_tmp
43848 381838 : data_tmp = full_data(idata)
43849 381838 : pack_tmp = ISHFT(data_tmp, 50)
43850 381838 : pack_tmp = ISHFT(pack_tmp, -50)
43851 381838 : idata = idata + 1
43852 381838 : data_tmp = full_data(idata)
43853 381838 : data_tmp = ISHFT(data_tmp, 10)
43854 381838 : data_tmp = IAND(data_tmp, mask_left(50))
43855 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43856 381838 : ipack = ipack + 1
43857 381838 : packed_data(ipack) = pack_tmp
43858 381838 : data_tmp = full_data(idata)
43859 381838 : pack_tmp = ISHFT(data_tmp, 60)
43860 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43861 381838 : idata = idata + 1
43862 381838 : data_tmp = full_data(idata)
43863 381838 : data_tmp = ISHFT(data_tmp, 10)
43864 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43865 381838 : pack_tmp = ISHFT(pack_tmp, -6)
43866 381838 : idata = idata + 1
43867 381838 : data_tmp = full_data(idata)
43868 381838 : data_tmp = ISHFT(data_tmp, 10)
43869 381838 : data_tmp = IAND(data_tmp, mask_left(6))
43870 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43871 381838 : ipack = ipack + 1
43872 381838 : packed_data(ipack) = pack_tmp
43873 381838 : data_tmp = full_data(idata)
43874 381838 : pack_tmp = ISHFT(data_tmp, 16)
43875 381838 : pack_tmp = ISHFT(pack_tmp, -16)
43876 381838 : idata = idata + 1
43877 381838 : data_tmp = full_data(idata)
43878 381838 : data_tmp = ISHFT(data_tmp, 10)
43879 381838 : data_tmp = IAND(data_tmp, mask_left(16))
43880 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43881 381838 : ipack = ipack + 1
43882 381838 : packed_data(ipack) = pack_tmp
43883 381838 : data_tmp = full_data(idata)
43884 381838 : pack_tmp = ISHFT(data_tmp, 26)
43885 381838 : pack_tmp = ISHFT(pack_tmp, -26)
43886 381838 : idata = idata + 1
43887 381838 : data_tmp = full_data(idata)
43888 381838 : data_tmp = ISHFT(data_tmp, 10)
43889 381838 : data_tmp = IAND(data_tmp, mask_left(26))
43890 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43891 381838 : ipack = ipack + 1
43892 381838 : packed_data(ipack) = pack_tmp
43893 381838 : data_tmp = full_data(idata)
43894 381838 : pack_tmp = ISHFT(data_tmp, 36)
43895 381838 : pack_tmp = ISHFT(pack_tmp, -36)
43896 381838 : idata = idata + 1
43897 381838 : data_tmp = full_data(idata)
43898 381838 : data_tmp = ISHFT(data_tmp, 10)
43899 381838 : data_tmp = IAND(data_tmp, mask_left(36))
43900 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43901 381838 : ipack = ipack + 1
43902 381838 : packed_data(ipack) = pack_tmp
43903 381838 : data_tmp = full_data(idata)
43904 381838 : pack_tmp = ISHFT(data_tmp, 46)
43905 381838 : pack_tmp = ISHFT(pack_tmp, -46)
43906 381838 : idata = idata + 1
43907 381838 : data_tmp = full_data(idata)
43908 381838 : data_tmp = ISHFT(data_tmp, 10)
43909 381838 : data_tmp = IAND(data_tmp, mask_left(46))
43910 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43911 381838 : ipack = ipack + 1
43912 381838 : packed_data(ipack) = pack_tmp
43913 381838 : data_tmp = full_data(idata)
43914 381838 : pack_tmp = ISHFT(data_tmp, 56)
43915 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43916 381838 : idata = idata + 1
43917 381838 : data_tmp = full_data(idata)
43918 381838 : data_tmp = ISHFT(data_tmp, 10)
43919 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43920 381838 : pack_tmp = ISHFT(pack_tmp, -2)
43921 381838 : idata = idata + 1
43922 381838 : data_tmp = full_data(idata)
43923 381838 : data_tmp = ISHFT(data_tmp, 10)
43924 381838 : data_tmp = IAND(data_tmp, mask_left(2))
43925 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43926 381838 : ipack = ipack + 1
43927 381838 : packed_data(ipack) = pack_tmp
43928 381838 : data_tmp = full_data(idata)
43929 381838 : pack_tmp = ISHFT(data_tmp, 12)
43930 381838 : pack_tmp = ISHFT(pack_tmp, -12)
43931 381838 : idata = idata + 1
43932 381838 : data_tmp = full_data(idata)
43933 381838 : data_tmp = ISHFT(data_tmp, 10)
43934 381838 : data_tmp = IAND(data_tmp, mask_left(12))
43935 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43936 381838 : ipack = ipack + 1
43937 381838 : packed_data(ipack) = pack_tmp
43938 381838 : data_tmp = full_data(idata)
43939 381838 : pack_tmp = ISHFT(data_tmp, 22)
43940 381838 : pack_tmp = ISHFT(pack_tmp, -22)
43941 381838 : idata = idata + 1
43942 381838 : data_tmp = full_data(idata)
43943 381838 : data_tmp = ISHFT(data_tmp, 10)
43944 381838 : data_tmp = IAND(data_tmp, mask_left(22))
43945 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43946 381838 : ipack = ipack + 1
43947 381838 : packed_data(ipack) = pack_tmp
43948 381838 : data_tmp = full_data(idata)
43949 381838 : pack_tmp = ISHFT(data_tmp, 32)
43950 381838 : pack_tmp = ISHFT(pack_tmp, -32)
43951 381838 : idata = idata + 1
43952 381838 : data_tmp = full_data(idata)
43953 381838 : data_tmp = ISHFT(data_tmp, 10)
43954 381838 : data_tmp = IAND(data_tmp, mask_left(32))
43955 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43956 381838 : ipack = ipack + 1
43957 381838 : packed_data(ipack) = pack_tmp
43958 381838 : data_tmp = full_data(idata)
43959 381838 : pack_tmp = ISHFT(data_tmp, 42)
43960 381838 : pack_tmp = ISHFT(pack_tmp, -42)
43961 381838 : idata = idata + 1
43962 381838 : data_tmp = full_data(idata)
43963 381838 : data_tmp = ISHFT(data_tmp, 10)
43964 381838 : data_tmp = IAND(data_tmp, mask_left(42))
43965 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43966 381838 : ipack = ipack + 1
43967 381838 : packed_data(ipack) = pack_tmp
43968 381838 : data_tmp = full_data(idata)
43969 381838 : pack_tmp = ISHFT(data_tmp, 52)
43970 381838 : pack_tmp = ISHFT(pack_tmp, -52)
43971 381838 : idata = idata + 1
43972 381838 : data_tmp = full_data(idata)
43973 381838 : data_tmp = ISHFT(data_tmp, 10)
43974 381838 : data_tmp = IAND(data_tmp, mask_left(52))
43975 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43976 381838 : ipack = ipack + 1
43977 381838 : packed_data(ipack) = pack_tmp
43978 381838 : data_tmp = full_data(idata)
43979 381838 : pack_tmp = ISHFT(data_tmp, 62)
43980 381838 : pack_tmp = ISHFT(pack_tmp, -54)
43981 381838 : idata = idata + 1
43982 381838 : data_tmp = full_data(idata)
43983 381838 : data_tmp = ISHFT(data_tmp, 10)
43984 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43985 381838 : pack_tmp = ISHFT(pack_tmp, -8)
43986 381838 : idata = idata + 1
43987 381838 : data_tmp = full_data(idata)
43988 381838 : data_tmp = ISHFT(data_tmp, 10)
43989 381838 : data_tmp = IAND(data_tmp, mask_left(8))
43990 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
43991 381838 : ipack = ipack + 1
43992 381838 : packed_data(ipack) = pack_tmp
43993 381838 : data_tmp = full_data(idata)
43994 381838 : pack_tmp = ISHFT(data_tmp, 18)
43995 381838 : pack_tmp = ISHFT(pack_tmp, -18)
43996 381838 : idata = idata + 1
43997 381838 : data_tmp = full_data(idata)
43998 381838 : data_tmp = ISHFT(data_tmp, 10)
43999 381838 : data_tmp = IAND(data_tmp, mask_left(18))
44000 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44001 381838 : ipack = ipack + 1
44002 381838 : packed_data(ipack) = pack_tmp
44003 381838 : data_tmp = full_data(idata)
44004 381838 : pack_tmp = ISHFT(data_tmp, 28)
44005 381838 : pack_tmp = ISHFT(pack_tmp, -28)
44006 381838 : idata = idata + 1
44007 381838 : data_tmp = full_data(idata)
44008 381838 : data_tmp = ISHFT(data_tmp, 10)
44009 381838 : data_tmp = IAND(data_tmp, mask_left(28))
44010 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44011 381838 : ipack = ipack + 1
44012 381838 : packed_data(ipack) = pack_tmp
44013 381838 : data_tmp = full_data(idata)
44014 381838 : pack_tmp = ISHFT(data_tmp, 38)
44015 381838 : pack_tmp = ISHFT(pack_tmp, -38)
44016 381838 : idata = idata + 1
44017 381838 : data_tmp = full_data(idata)
44018 381838 : data_tmp = ISHFT(data_tmp, 10)
44019 381838 : data_tmp = IAND(data_tmp, mask_left(38))
44020 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44021 381838 : ipack = ipack + 1
44022 381838 : packed_data(ipack) = pack_tmp
44023 381838 : data_tmp = full_data(idata)
44024 381838 : pack_tmp = ISHFT(data_tmp, 48)
44025 381838 : pack_tmp = ISHFT(pack_tmp, -48)
44026 381838 : idata = idata + 1
44027 381838 : data_tmp = full_data(idata)
44028 381838 : data_tmp = ISHFT(data_tmp, 10)
44029 381838 : data_tmp = IAND(data_tmp, mask_left(48))
44030 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44031 381838 : ipack = ipack + 1
44032 381838 : packed_data(ipack) = pack_tmp
44033 381838 : data_tmp = full_data(idata)
44034 381838 : pack_tmp = ISHFT(data_tmp, 58)
44035 381838 : pack_tmp = ISHFT(pack_tmp, -54)
44036 381838 : idata = idata + 1
44037 381838 : data_tmp = full_data(idata)
44038 381838 : data_tmp = ISHFT(data_tmp, 10)
44039 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44040 381838 : pack_tmp = ISHFT(pack_tmp, -4)
44041 381838 : idata = idata + 1
44042 381838 : data_tmp = full_data(idata)
44043 381838 : data_tmp = ISHFT(data_tmp, 10)
44044 381838 : data_tmp = IAND(data_tmp, mask_left(4))
44045 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44046 381838 : ipack = ipack + 1
44047 381838 : packed_data(ipack) = pack_tmp
44048 381838 : data_tmp = full_data(idata)
44049 381838 : pack_tmp = ISHFT(data_tmp, 14)
44050 381838 : pack_tmp = ISHFT(pack_tmp, -14)
44051 381838 : idata = idata + 1
44052 381838 : data_tmp = full_data(idata)
44053 381838 : data_tmp = ISHFT(data_tmp, 10)
44054 381838 : data_tmp = IAND(data_tmp, mask_left(14))
44055 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44056 381838 : ipack = ipack + 1
44057 381838 : packed_data(ipack) = pack_tmp
44058 381838 : data_tmp = full_data(idata)
44059 381838 : pack_tmp = ISHFT(data_tmp, 24)
44060 381838 : pack_tmp = ISHFT(pack_tmp, -24)
44061 381838 : idata = idata + 1
44062 381838 : data_tmp = full_data(idata)
44063 381838 : data_tmp = ISHFT(data_tmp, 10)
44064 381838 : data_tmp = IAND(data_tmp, mask_left(24))
44065 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44066 381838 : ipack = ipack + 1
44067 381838 : packed_data(ipack) = pack_tmp
44068 381838 : data_tmp = full_data(idata)
44069 381838 : pack_tmp = ISHFT(data_tmp, 34)
44070 381838 : pack_tmp = ISHFT(pack_tmp, -34)
44071 381838 : idata = idata + 1
44072 381838 : data_tmp = full_data(idata)
44073 381838 : data_tmp = ISHFT(data_tmp, 10)
44074 381838 : data_tmp = IAND(data_tmp, mask_left(34))
44075 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44076 381838 : ipack = ipack + 1
44077 381838 : packed_data(ipack) = pack_tmp
44078 381838 : data_tmp = full_data(idata)
44079 381838 : pack_tmp = ISHFT(data_tmp, 44)
44080 381838 : pack_tmp = ISHFT(pack_tmp, -44)
44081 381838 : idata = idata + 1
44082 381838 : data_tmp = full_data(idata)
44083 381838 : data_tmp = ISHFT(data_tmp, 10)
44084 381838 : data_tmp = IAND(data_tmp, mask_left(44))
44085 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44086 381838 : ipack = ipack + 1
44087 381838 : packed_data(ipack) = pack_tmp
44088 381838 : data_tmp = full_data(idata)
44089 381838 : pack_tmp = ISHFT(data_tmp, 54)
44090 381838 : pack_tmp = ISHFT(pack_tmp, -54)
44091 381838 : idata = idata + 1
44092 381838 : data_tmp = full_data(idata)
44093 381838 : data_tmp = ISHFT(data_tmp, 10)
44094 381838 : pack_tmp = IOR(pack_tmp, data_tmp)
44095 : pack_tmp = ISHFT(pack_tmp, 0)
44096 381838 : pack_tmp = ISHFT(pack_tmp, 0)
44097 381838 : ipack = ipack + 1
44098 381852 : packed_data(ipack) = pack_tmp
44099 : END DO
44100 24054 : 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 24054 : END SUBROUTINE ints2bits_54
44104 :
44105 : ! **************************************************************************************************
44106 : !> \brief ...
44107 : !> \param Ndata ...
44108 : !> \param packed_data ...
44109 : !> \param full_data ...
44110 : ! **************************************************************************************************
44111 110773 : 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 110773 : ipack = 0
44122 110773 : idata = 0
44123 110773 : pack_tmp = 0
44124 110773 : Ndata_rep = (Ndata/64)*64
44125 110773 : DO kdata = 1, Ndata_rep, 64
44126 1652314 : idata = idata + 1
44127 1652314 : data_tmp = ISHFT(pack_tmp, 54)
44128 1652314 : ipack = ipack + 1
44129 1652314 : pack_tmp = packed_data(ipack)
44130 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
44131 1652314 : pack_tmp = ISHFT(pack_tmp, -54)
44132 1652314 : idata = idata + 1
44133 1652314 : data_tmp = ISHFT(pack_tmp, 44)
44134 1652314 : ipack = ipack + 1
44135 1652314 : pack_tmp = packed_data(ipack)
44136 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
44137 1652314 : pack_tmp = ISHFT(pack_tmp, -44)
44138 1652314 : idata = idata + 1
44139 1652314 : data_tmp = ISHFT(pack_tmp, 34)
44140 1652314 : ipack = ipack + 1
44141 1652314 : pack_tmp = packed_data(ipack)
44142 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
44143 1652314 : pack_tmp = ISHFT(pack_tmp, -34)
44144 1652314 : idata = idata + 1
44145 1652314 : data_tmp = ISHFT(pack_tmp, 24)
44146 1652314 : ipack = ipack + 1
44147 1652314 : pack_tmp = packed_data(ipack)
44148 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
44149 1652314 : pack_tmp = ISHFT(pack_tmp, -24)
44150 1652314 : idata = idata + 1
44151 1652314 : data_tmp = ISHFT(pack_tmp, 14)
44152 1652314 : ipack = ipack + 1
44153 1652314 : pack_tmp = packed_data(ipack)
44154 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
44155 1652314 : pack_tmp = ISHFT(pack_tmp, -14)
44156 1652314 : idata = idata + 1
44157 1652314 : data_tmp = ISHFT(pack_tmp, 4)
44158 1652314 : ipack = ipack + 1
44159 1652314 : pack_tmp = packed_data(ipack)
44160 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
44161 1652314 : pack_tmp = ISHFT(pack_tmp, -4)
44162 1652314 : idata = idata + 1
44163 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44164 1652314 : full_data(idata) = data_tmp
44165 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44166 1652314 : idata = idata + 1
44167 1652314 : data_tmp = ISHFT(pack_tmp, 48)
44168 1652314 : ipack = ipack + 1
44169 1652314 : pack_tmp = packed_data(ipack)
44170 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
44171 1652314 : pack_tmp = ISHFT(pack_tmp, -48)
44172 1652314 : idata = idata + 1
44173 1652314 : data_tmp = ISHFT(pack_tmp, 38)
44174 1652314 : ipack = ipack + 1
44175 1652314 : pack_tmp = packed_data(ipack)
44176 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
44177 1652314 : pack_tmp = ISHFT(pack_tmp, -38)
44178 1652314 : idata = idata + 1
44179 1652314 : data_tmp = ISHFT(pack_tmp, 28)
44180 1652314 : ipack = ipack + 1
44181 1652314 : pack_tmp = packed_data(ipack)
44182 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
44183 1652314 : pack_tmp = ISHFT(pack_tmp, -28)
44184 1652314 : idata = idata + 1
44185 1652314 : data_tmp = ISHFT(pack_tmp, 18)
44186 1652314 : ipack = ipack + 1
44187 1652314 : pack_tmp = packed_data(ipack)
44188 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
44189 1652314 : pack_tmp = ISHFT(pack_tmp, -18)
44190 1652314 : idata = idata + 1
44191 1652314 : data_tmp = ISHFT(pack_tmp, 8)
44192 1652314 : ipack = ipack + 1
44193 1652314 : pack_tmp = packed_data(ipack)
44194 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
44195 1652314 : pack_tmp = ISHFT(pack_tmp, -8)
44196 1652314 : idata = idata + 1
44197 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44198 1652314 : full_data(idata) = data_tmp
44199 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44200 1652314 : idata = idata + 1
44201 1652314 : data_tmp = ISHFT(pack_tmp, 52)
44202 1652314 : ipack = ipack + 1
44203 1652314 : pack_tmp = packed_data(ipack)
44204 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
44205 1652314 : pack_tmp = ISHFT(pack_tmp, -52)
44206 1652314 : idata = idata + 1
44207 1652314 : data_tmp = ISHFT(pack_tmp, 42)
44208 1652314 : ipack = ipack + 1
44209 1652314 : pack_tmp = packed_data(ipack)
44210 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
44211 1652314 : pack_tmp = ISHFT(pack_tmp, -42)
44212 1652314 : idata = idata + 1
44213 1652314 : data_tmp = ISHFT(pack_tmp, 32)
44214 1652314 : ipack = ipack + 1
44215 1652314 : pack_tmp = packed_data(ipack)
44216 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
44217 1652314 : pack_tmp = ISHFT(pack_tmp, -32)
44218 1652314 : idata = idata + 1
44219 1652314 : data_tmp = ISHFT(pack_tmp, 22)
44220 1652314 : ipack = ipack + 1
44221 1652314 : pack_tmp = packed_data(ipack)
44222 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
44223 1652314 : pack_tmp = ISHFT(pack_tmp, -22)
44224 1652314 : idata = idata + 1
44225 1652314 : data_tmp = ISHFT(pack_tmp, 12)
44226 1652314 : ipack = ipack + 1
44227 1652314 : pack_tmp = packed_data(ipack)
44228 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
44229 1652314 : pack_tmp = ISHFT(pack_tmp, -12)
44230 1652314 : idata = idata + 1
44231 1652314 : data_tmp = ISHFT(pack_tmp, 2)
44232 1652314 : ipack = ipack + 1
44233 1652314 : pack_tmp = packed_data(ipack)
44234 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
44235 1652314 : pack_tmp = ISHFT(pack_tmp, -2)
44236 1652314 : idata = idata + 1
44237 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44238 1652314 : full_data(idata) = data_tmp
44239 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44240 1652314 : idata = idata + 1
44241 1652314 : data_tmp = ISHFT(pack_tmp, 46)
44242 1652314 : ipack = ipack + 1
44243 1652314 : pack_tmp = packed_data(ipack)
44244 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
44245 1652314 : pack_tmp = ISHFT(pack_tmp, -46)
44246 1652314 : idata = idata + 1
44247 1652314 : data_tmp = ISHFT(pack_tmp, 36)
44248 1652314 : ipack = ipack + 1
44249 1652314 : pack_tmp = packed_data(ipack)
44250 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
44251 1652314 : pack_tmp = ISHFT(pack_tmp, -36)
44252 1652314 : idata = idata + 1
44253 1652314 : data_tmp = ISHFT(pack_tmp, 26)
44254 1652314 : ipack = ipack + 1
44255 1652314 : pack_tmp = packed_data(ipack)
44256 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
44257 1652314 : pack_tmp = ISHFT(pack_tmp, -26)
44258 1652314 : idata = idata + 1
44259 1652314 : data_tmp = ISHFT(pack_tmp, 16)
44260 1652314 : ipack = ipack + 1
44261 1652314 : pack_tmp = packed_data(ipack)
44262 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
44263 1652314 : pack_tmp = ISHFT(pack_tmp, -16)
44264 1652314 : idata = idata + 1
44265 1652314 : data_tmp = ISHFT(pack_tmp, 6)
44266 1652314 : ipack = ipack + 1
44267 1652314 : pack_tmp = packed_data(ipack)
44268 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
44269 1652314 : pack_tmp = ISHFT(pack_tmp, -6)
44270 1652314 : idata = idata + 1
44271 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44272 1652314 : full_data(idata) = data_tmp
44273 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44274 1652314 : idata = idata + 1
44275 1652314 : data_tmp = ISHFT(pack_tmp, 50)
44276 1652314 : ipack = ipack + 1
44277 1652314 : pack_tmp = packed_data(ipack)
44278 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
44279 1652314 : pack_tmp = ISHFT(pack_tmp, -50)
44280 1652314 : idata = idata + 1
44281 1652314 : data_tmp = ISHFT(pack_tmp, 40)
44282 1652314 : ipack = ipack + 1
44283 1652314 : pack_tmp = packed_data(ipack)
44284 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
44285 1652314 : pack_tmp = ISHFT(pack_tmp, -40)
44286 1652314 : idata = idata + 1
44287 1652314 : data_tmp = ISHFT(pack_tmp, 30)
44288 1652314 : ipack = ipack + 1
44289 1652314 : pack_tmp = packed_data(ipack)
44290 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
44291 1652314 : pack_tmp = ISHFT(pack_tmp, -30)
44292 1652314 : idata = idata + 1
44293 1652314 : data_tmp = ISHFT(pack_tmp, 20)
44294 1652314 : ipack = ipack + 1
44295 1652314 : pack_tmp = packed_data(ipack)
44296 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
44297 1652314 : pack_tmp = ISHFT(pack_tmp, -20)
44298 1652314 : idata = idata + 1
44299 1652314 : data_tmp = ISHFT(pack_tmp, 10)
44300 1652314 : ipack = ipack + 1
44301 1652314 : pack_tmp = packed_data(ipack)
44302 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
44303 1652314 : pack_tmp = ISHFT(pack_tmp, -10)
44304 1652314 : idata = idata + 1
44305 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44306 1652314 : full_data(idata) = data_tmp
44307 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44308 1652314 : idata = idata + 1
44309 1652314 : data_tmp = ISHFT(pack_tmp, 54)
44310 1652314 : ipack = ipack + 1
44311 1652314 : pack_tmp = packed_data(ipack)
44312 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
44313 1652314 : pack_tmp = ISHFT(pack_tmp, -54)
44314 1652314 : idata = idata + 1
44315 1652314 : data_tmp = ISHFT(pack_tmp, 44)
44316 1652314 : ipack = ipack + 1
44317 1652314 : pack_tmp = packed_data(ipack)
44318 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
44319 1652314 : pack_tmp = ISHFT(pack_tmp, -44)
44320 1652314 : idata = idata + 1
44321 1652314 : data_tmp = ISHFT(pack_tmp, 34)
44322 1652314 : ipack = ipack + 1
44323 1652314 : pack_tmp = packed_data(ipack)
44324 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
44325 1652314 : pack_tmp = ISHFT(pack_tmp, -34)
44326 1652314 : idata = idata + 1
44327 1652314 : data_tmp = ISHFT(pack_tmp, 24)
44328 1652314 : ipack = ipack + 1
44329 1652314 : pack_tmp = packed_data(ipack)
44330 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
44331 1652314 : pack_tmp = ISHFT(pack_tmp, -24)
44332 1652314 : idata = idata + 1
44333 1652314 : data_tmp = ISHFT(pack_tmp, 14)
44334 1652314 : ipack = ipack + 1
44335 1652314 : pack_tmp = packed_data(ipack)
44336 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
44337 1652314 : pack_tmp = ISHFT(pack_tmp, -14)
44338 1652314 : idata = idata + 1
44339 1652314 : data_tmp = ISHFT(pack_tmp, 4)
44340 1652314 : ipack = ipack + 1
44341 1652314 : pack_tmp = packed_data(ipack)
44342 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
44343 1652314 : pack_tmp = ISHFT(pack_tmp, -4)
44344 1652314 : idata = idata + 1
44345 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44346 1652314 : full_data(idata) = data_tmp
44347 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44348 1652314 : idata = idata + 1
44349 1652314 : data_tmp = ISHFT(pack_tmp, 48)
44350 1652314 : ipack = ipack + 1
44351 1652314 : pack_tmp = packed_data(ipack)
44352 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
44353 1652314 : pack_tmp = ISHFT(pack_tmp, -48)
44354 1652314 : idata = idata + 1
44355 1652314 : data_tmp = ISHFT(pack_tmp, 38)
44356 1652314 : ipack = ipack + 1
44357 1652314 : pack_tmp = packed_data(ipack)
44358 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
44359 1652314 : pack_tmp = ISHFT(pack_tmp, -38)
44360 1652314 : idata = idata + 1
44361 1652314 : data_tmp = ISHFT(pack_tmp, 28)
44362 1652314 : ipack = ipack + 1
44363 1652314 : pack_tmp = packed_data(ipack)
44364 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
44365 1652314 : pack_tmp = ISHFT(pack_tmp, -28)
44366 1652314 : idata = idata + 1
44367 1652314 : data_tmp = ISHFT(pack_tmp, 18)
44368 1652314 : ipack = ipack + 1
44369 1652314 : pack_tmp = packed_data(ipack)
44370 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
44371 1652314 : pack_tmp = ISHFT(pack_tmp, -18)
44372 1652314 : idata = idata + 1
44373 1652314 : data_tmp = ISHFT(pack_tmp, 8)
44374 1652314 : ipack = ipack + 1
44375 1652314 : pack_tmp = packed_data(ipack)
44376 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
44377 1652314 : pack_tmp = ISHFT(pack_tmp, -8)
44378 1652314 : idata = idata + 1
44379 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44380 1652314 : full_data(idata) = data_tmp
44381 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44382 1652314 : idata = idata + 1
44383 1652314 : data_tmp = ISHFT(pack_tmp, 52)
44384 1652314 : ipack = ipack + 1
44385 1652314 : pack_tmp = packed_data(ipack)
44386 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
44387 1652314 : pack_tmp = ISHFT(pack_tmp, -52)
44388 1652314 : idata = idata + 1
44389 1652314 : data_tmp = ISHFT(pack_tmp, 42)
44390 1652314 : ipack = ipack + 1
44391 1652314 : pack_tmp = packed_data(ipack)
44392 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
44393 1652314 : pack_tmp = ISHFT(pack_tmp, -42)
44394 1652314 : idata = idata + 1
44395 1652314 : data_tmp = ISHFT(pack_tmp, 32)
44396 1652314 : ipack = ipack + 1
44397 1652314 : pack_tmp = packed_data(ipack)
44398 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
44399 1652314 : pack_tmp = ISHFT(pack_tmp, -32)
44400 1652314 : idata = idata + 1
44401 1652314 : data_tmp = ISHFT(pack_tmp, 22)
44402 1652314 : ipack = ipack + 1
44403 1652314 : pack_tmp = packed_data(ipack)
44404 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
44405 1652314 : pack_tmp = ISHFT(pack_tmp, -22)
44406 1652314 : idata = idata + 1
44407 1652314 : data_tmp = ISHFT(pack_tmp, 12)
44408 1652314 : ipack = ipack + 1
44409 1652314 : pack_tmp = packed_data(ipack)
44410 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
44411 1652314 : pack_tmp = ISHFT(pack_tmp, -12)
44412 1652314 : idata = idata + 1
44413 1652314 : data_tmp = ISHFT(pack_tmp, 2)
44414 1652314 : ipack = ipack + 1
44415 1652314 : pack_tmp = packed_data(ipack)
44416 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
44417 1652314 : pack_tmp = ISHFT(pack_tmp, -2)
44418 1652314 : idata = idata + 1
44419 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44420 1652314 : full_data(idata) = data_tmp
44421 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44422 1652314 : idata = idata + 1
44423 1652314 : data_tmp = ISHFT(pack_tmp, 46)
44424 1652314 : ipack = ipack + 1
44425 1652314 : pack_tmp = packed_data(ipack)
44426 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
44427 1652314 : pack_tmp = ISHFT(pack_tmp, -46)
44428 1652314 : idata = idata + 1
44429 1652314 : data_tmp = ISHFT(pack_tmp, 36)
44430 1652314 : ipack = ipack + 1
44431 1652314 : pack_tmp = packed_data(ipack)
44432 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
44433 1652314 : pack_tmp = ISHFT(pack_tmp, -36)
44434 1652314 : idata = idata + 1
44435 1652314 : data_tmp = ISHFT(pack_tmp, 26)
44436 1652314 : ipack = ipack + 1
44437 1652314 : pack_tmp = packed_data(ipack)
44438 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
44439 1652314 : pack_tmp = ISHFT(pack_tmp, -26)
44440 1652314 : idata = idata + 1
44441 1652314 : data_tmp = ISHFT(pack_tmp, 16)
44442 1652314 : ipack = ipack + 1
44443 1652314 : pack_tmp = packed_data(ipack)
44444 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
44445 1652314 : pack_tmp = ISHFT(pack_tmp, -16)
44446 1652314 : idata = idata + 1
44447 1652314 : data_tmp = ISHFT(pack_tmp, 6)
44448 1652314 : ipack = ipack + 1
44449 1652314 : pack_tmp = packed_data(ipack)
44450 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
44451 1652314 : pack_tmp = ISHFT(pack_tmp, -6)
44452 1652314 : idata = idata + 1
44453 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44454 1652314 : full_data(idata) = data_tmp
44455 1652314 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44456 1652314 : idata = idata + 1
44457 1652314 : data_tmp = ISHFT(pack_tmp, 50)
44458 1652314 : ipack = ipack + 1
44459 1652314 : pack_tmp = packed_data(ipack)
44460 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
44461 1652314 : pack_tmp = ISHFT(pack_tmp, -50)
44462 1652314 : idata = idata + 1
44463 1652314 : data_tmp = ISHFT(pack_tmp, 40)
44464 1652314 : ipack = ipack + 1
44465 1652314 : pack_tmp = packed_data(ipack)
44466 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
44467 1652314 : pack_tmp = ISHFT(pack_tmp, -40)
44468 1652314 : idata = idata + 1
44469 1652314 : data_tmp = ISHFT(pack_tmp, 30)
44470 1652314 : ipack = ipack + 1
44471 1652314 : pack_tmp = packed_data(ipack)
44472 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
44473 1652314 : pack_tmp = ISHFT(pack_tmp, -30)
44474 1652314 : idata = idata + 1
44475 1652314 : data_tmp = ISHFT(pack_tmp, 20)
44476 1652314 : ipack = ipack + 1
44477 1652314 : pack_tmp = packed_data(ipack)
44478 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
44479 1652314 : pack_tmp = ISHFT(pack_tmp, -20)
44480 1652314 : idata = idata + 1
44481 1652314 : data_tmp = ISHFT(pack_tmp, 10)
44482 1652314 : ipack = ipack + 1
44483 1652314 : pack_tmp = packed_data(ipack)
44484 1652314 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
44485 1652314 : pack_tmp = ISHFT(pack_tmp, -10)
44486 1652314 : idata = idata + 1
44487 1652314 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44488 1652314 : full_data(idata) = data_tmp
44489 1653168 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44490 : END DO
44491 110773 : 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 110773 : END SUBROUTINE bits2ints_54
44495 :
44496 : ! **************************************************************************************************
44497 : !> \brief ...
44498 : !> \param Ndata ...
44499 : !> \param packed_data ...
44500 : !> \param full_data ...
44501 : ! **************************************************************************************************
44502 23972 : 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 23972 : idata = 0
44513 23972 : ipack = 0
44514 23972 : Ndata_rep = (Ndata/64)*64
44515 23972 : DO kdata = 1, Ndata_rep, 64
44516 381172 : pack_tmp = 0
44517 381172 : idata = idata + 1
44518 381172 : data_tmp = full_data(idata)
44519 381172 : data_tmp = ISHFT(data_tmp, 9)
44520 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44521 381172 : pack_tmp = ISHFT(pack_tmp, -9)
44522 381172 : idata = idata + 1
44523 381172 : data_tmp = full_data(idata)
44524 381172 : data_tmp = ISHFT(data_tmp, 9)
44525 381172 : data_tmp = IAND(data_tmp, mask_left(9))
44526 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44527 381172 : ipack = ipack + 1
44528 381172 : packed_data(ipack) = pack_tmp
44529 381172 : data_tmp = full_data(idata)
44530 381172 : pack_tmp = ISHFT(data_tmp, 18)
44531 381172 : pack_tmp = ISHFT(pack_tmp, -18)
44532 381172 : idata = idata + 1
44533 381172 : data_tmp = full_data(idata)
44534 381172 : data_tmp = ISHFT(data_tmp, 9)
44535 381172 : data_tmp = IAND(data_tmp, mask_left(18))
44536 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44537 381172 : ipack = ipack + 1
44538 381172 : packed_data(ipack) = pack_tmp
44539 381172 : data_tmp = full_data(idata)
44540 381172 : pack_tmp = ISHFT(data_tmp, 27)
44541 381172 : pack_tmp = ISHFT(pack_tmp, -27)
44542 381172 : idata = idata + 1
44543 381172 : data_tmp = full_data(idata)
44544 381172 : data_tmp = ISHFT(data_tmp, 9)
44545 381172 : data_tmp = IAND(data_tmp, mask_left(27))
44546 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44547 381172 : ipack = ipack + 1
44548 381172 : packed_data(ipack) = pack_tmp
44549 381172 : data_tmp = full_data(idata)
44550 381172 : pack_tmp = ISHFT(data_tmp, 36)
44551 381172 : pack_tmp = ISHFT(pack_tmp, -36)
44552 381172 : idata = idata + 1
44553 381172 : data_tmp = full_data(idata)
44554 381172 : data_tmp = ISHFT(data_tmp, 9)
44555 381172 : data_tmp = IAND(data_tmp, mask_left(36))
44556 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44557 381172 : ipack = ipack + 1
44558 381172 : packed_data(ipack) = pack_tmp
44559 381172 : data_tmp = full_data(idata)
44560 381172 : pack_tmp = ISHFT(data_tmp, 45)
44561 381172 : pack_tmp = ISHFT(pack_tmp, -45)
44562 381172 : idata = idata + 1
44563 381172 : data_tmp = full_data(idata)
44564 381172 : data_tmp = ISHFT(data_tmp, 9)
44565 381172 : data_tmp = IAND(data_tmp, mask_left(45))
44566 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44567 381172 : ipack = ipack + 1
44568 381172 : packed_data(ipack) = pack_tmp
44569 381172 : data_tmp = full_data(idata)
44570 381172 : pack_tmp = ISHFT(data_tmp, 54)
44571 381172 : pack_tmp = ISHFT(pack_tmp, -54)
44572 381172 : idata = idata + 1
44573 381172 : data_tmp = full_data(idata)
44574 381172 : data_tmp = ISHFT(data_tmp, 9)
44575 381172 : data_tmp = IAND(data_tmp, mask_left(54))
44576 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44577 381172 : ipack = ipack + 1
44578 381172 : packed_data(ipack) = pack_tmp
44579 381172 : data_tmp = full_data(idata)
44580 381172 : pack_tmp = ISHFT(data_tmp, 63)
44581 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44582 381172 : idata = idata + 1
44583 381172 : data_tmp = full_data(idata)
44584 381172 : data_tmp = ISHFT(data_tmp, 9)
44585 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44586 381172 : pack_tmp = ISHFT(pack_tmp, -8)
44587 381172 : idata = idata + 1
44588 381172 : data_tmp = full_data(idata)
44589 381172 : data_tmp = ISHFT(data_tmp, 9)
44590 381172 : data_tmp = IAND(data_tmp, mask_left(8))
44591 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44592 381172 : ipack = ipack + 1
44593 381172 : packed_data(ipack) = pack_tmp
44594 381172 : data_tmp = full_data(idata)
44595 381172 : pack_tmp = ISHFT(data_tmp, 17)
44596 381172 : pack_tmp = ISHFT(pack_tmp, -17)
44597 381172 : idata = idata + 1
44598 381172 : data_tmp = full_data(idata)
44599 381172 : data_tmp = ISHFT(data_tmp, 9)
44600 381172 : data_tmp = IAND(data_tmp, mask_left(17))
44601 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44602 381172 : ipack = ipack + 1
44603 381172 : packed_data(ipack) = pack_tmp
44604 381172 : data_tmp = full_data(idata)
44605 381172 : pack_tmp = ISHFT(data_tmp, 26)
44606 381172 : pack_tmp = ISHFT(pack_tmp, -26)
44607 381172 : idata = idata + 1
44608 381172 : data_tmp = full_data(idata)
44609 381172 : data_tmp = ISHFT(data_tmp, 9)
44610 381172 : data_tmp = IAND(data_tmp, mask_left(26))
44611 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44612 381172 : ipack = ipack + 1
44613 381172 : packed_data(ipack) = pack_tmp
44614 381172 : data_tmp = full_data(idata)
44615 381172 : pack_tmp = ISHFT(data_tmp, 35)
44616 381172 : pack_tmp = ISHFT(pack_tmp, -35)
44617 381172 : idata = idata + 1
44618 381172 : data_tmp = full_data(idata)
44619 381172 : data_tmp = ISHFT(data_tmp, 9)
44620 381172 : data_tmp = IAND(data_tmp, mask_left(35))
44621 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44622 381172 : ipack = ipack + 1
44623 381172 : packed_data(ipack) = pack_tmp
44624 381172 : data_tmp = full_data(idata)
44625 381172 : pack_tmp = ISHFT(data_tmp, 44)
44626 381172 : pack_tmp = ISHFT(pack_tmp, -44)
44627 381172 : idata = idata + 1
44628 381172 : data_tmp = full_data(idata)
44629 381172 : data_tmp = ISHFT(data_tmp, 9)
44630 381172 : data_tmp = IAND(data_tmp, mask_left(44))
44631 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44632 381172 : ipack = ipack + 1
44633 381172 : packed_data(ipack) = pack_tmp
44634 381172 : data_tmp = full_data(idata)
44635 381172 : pack_tmp = ISHFT(data_tmp, 53)
44636 381172 : pack_tmp = ISHFT(pack_tmp, -53)
44637 381172 : idata = idata + 1
44638 381172 : data_tmp = full_data(idata)
44639 381172 : data_tmp = ISHFT(data_tmp, 9)
44640 381172 : data_tmp = IAND(data_tmp, mask_left(53))
44641 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44642 381172 : ipack = ipack + 1
44643 381172 : packed_data(ipack) = pack_tmp
44644 381172 : data_tmp = full_data(idata)
44645 381172 : pack_tmp = ISHFT(data_tmp, 62)
44646 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44647 381172 : idata = idata + 1
44648 381172 : data_tmp = full_data(idata)
44649 381172 : data_tmp = ISHFT(data_tmp, 9)
44650 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44651 381172 : pack_tmp = ISHFT(pack_tmp, -7)
44652 381172 : idata = idata + 1
44653 381172 : data_tmp = full_data(idata)
44654 381172 : data_tmp = ISHFT(data_tmp, 9)
44655 381172 : data_tmp = IAND(data_tmp, mask_left(7))
44656 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44657 381172 : ipack = ipack + 1
44658 381172 : packed_data(ipack) = pack_tmp
44659 381172 : data_tmp = full_data(idata)
44660 381172 : pack_tmp = ISHFT(data_tmp, 16)
44661 381172 : pack_tmp = ISHFT(pack_tmp, -16)
44662 381172 : idata = idata + 1
44663 381172 : data_tmp = full_data(idata)
44664 381172 : data_tmp = ISHFT(data_tmp, 9)
44665 381172 : data_tmp = IAND(data_tmp, mask_left(16))
44666 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44667 381172 : ipack = ipack + 1
44668 381172 : packed_data(ipack) = pack_tmp
44669 381172 : data_tmp = full_data(idata)
44670 381172 : pack_tmp = ISHFT(data_tmp, 25)
44671 381172 : pack_tmp = ISHFT(pack_tmp, -25)
44672 381172 : idata = idata + 1
44673 381172 : data_tmp = full_data(idata)
44674 381172 : data_tmp = ISHFT(data_tmp, 9)
44675 381172 : data_tmp = IAND(data_tmp, mask_left(25))
44676 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44677 381172 : ipack = ipack + 1
44678 381172 : packed_data(ipack) = pack_tmp
44679 381172 : data_tmp = full_data(idata)
44680 381172 : pack_tmp = ISHFT(data_tmp, 34)
44681 381172 : pack_tmp = ISHFT(pack_tmp, -34)
44682 381172 : idata = idata + 1
44683 381172 : data_tmp = full_data(idata)
44684 381172 : data_tmp = ISHFT(data_tmp, 9)
44685 381172 : data_tmp = IAND(data_tmp, mask_left(34))
44686 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44687 381172 : ipack = ipack + 1
44688 381172 : packed_data(ipack) = pack_tmp
44689 381172 : data_tmp = full_data(idata)
44690 381172 : pack_tmp = ISHFT(data_tmp, 43)
44691 381172 : pack_tmp = ISHFT(pack_tmp, -43)
44692 381172 : idata = idata + 1
44693 381172 : data_tmp = full_data(idata)
44694 381172 : data_tmp = ISHFT(data_tmp, 9)
44695 381172 : data_tmp = IAND(data_tmp, mask_left(43))
44696 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44697 381172 : ipack = ipack + 1
44698 381172 : packed_data(ipack) = pack_tmp
44699 381172 : data_tmp = full_data(idata)
44700 381172 : pack_tmp = ISHFT(data_tmp, 52)
44701 381172 : pack_tmp = ISHFT(pack_tmp, -52)
44702 381172 : idata = idata + 1
44703 381172 : data_tmp = full_data(idata)
44704 381172 : data_tmp = ISHFT(data_tmp, 9)
44705 381172 : data_tmp = IAND(data_tmp, mask_left(52))
44706 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44707 381172 : ipack = ipack + 1
44708 381172 : packed_data(ipack) = pack_tmp
44709 381172 : data_tmp = full_data(idata)
44710 381172 : pack_tmp = ISHFT(data_tmp, 61)
44711 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44712 381172 : idata = idata + 1
44713 381172 : data_tmp = full_data(idata)
44714 381172 : data_tmp = ISHFT(data_tmp, 9)
44715 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44716 381172 : pack_tmp = ISHFT(pack_tmp, -6)
44717 381172 : idata = idata + 1
44718 381172 : data_tmp = full_data(idata)
44719 381172 : data_tmp = ISHFT(data_tmp, 9)
44720 381172 : data_tmp = IAND(data_tmp, mask_left(6))
44721 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44722 381172 : ipack = ipack + 1
44723 381172 : packed_data(ipack) = pack_tmp
44724 381172 : data_tmp = full_data(idata)
44725 381172 : pack_tmp = ISHFT(data_tmp, 15)
44726 381172 : pack_tmp = ISHFT(pack_tmp, -15)
44727 381172 : idata = idata + 1
44728 381172 : data_tmp = full_data(idata)
44729 381172 : data_tmp = ISHFT(data_tmp, 9)
44730 381172 : data_tmp = IAND(data_tmp, mask_left(15))
44731 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44732 381172 : ipack = ipack + 1
44733 381172 : packed_data(ipack) = pack_tmp
44734 381172 : data_tmp = full_data(idata)
44735 381172 : pack_tmp = ISHFT(data_tmp, 24)
44736 381172 : pack_tmp = ISHFT(pack_tmp, -24)
44737 381172 : idata = idata + 1
44738 381172 : data_tmp = full_data(idata)
44739 381172 : data_tmp = ISHFT(data_tmp, 9)
44740 381172 : data_tmp = IAND(data_tmp, mask_left(24))
44741 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44742 381172 : ipack = ipack + 1
44743 381172 : packed_data(ipack) = pack_tmp
44744 381172 : data_tmp = full_data(idata)
44745 381172 : pack_tmp = ISHFT(data_tmp, 33)
44746 381172 : pack_tmp = ISHFT(pack_tmp, -33)
44747 381172 : idata = idata + 1
44748 381172 : data_tmp = full_data(idata)
44749 381172 : data_tmp = ISHFT(data_tmp, 9)
44750 381172 : data_tmp = IAND(data_tmp, mask_left(33))
44751 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44752 381172 : ipack = ipack + 1
44753 381172 : packed_data(ipack) = pack_tmp
44754 381172 : data_tmp = full_data(idata)
44755 381172 : pack_tmp = ISHFT(data_tmp, 42)
44756 381172 : pack_tmp = ISHFT(pack_tmp, -42)
44757 381172 : idata = idata + 1
44758 381172 : data_tmp = full_data(idata)
44759 381172 : data_tmp = ISHFT(data_tmp, 9)
44760 381172 : data_tmp = IAND(data_tmp, mask_left(42))
44761 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44762 381172 : ipack = ipack + 1
44763 381172 : packed_data(ipack) = pack_tmp
44764 381172 : data_tmp = full_data(idata)
44765 381172 : pack_tmp = ISHFT(data_tmp, 51)
44766 381172 : pack_tmp = ISHFT(pack_tmp, -51)
44767 381172 : idata = idata + 1
44768 381172 : data_tmp = full_data(idata)
44769 381172 : data_tmp = ISHFT(data_tmp, 9)
44770 381172 : data_tmp = IAND(data_tmp, mask_left(51))
44771 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44772 381172 : ipack = ipack + 1
44773 381172 : packed_data(ipack) = pack_tmp
44774 381172 : data_tmp = full_data(idata)
44775 381172 : pack_tmp = ISHFT(data_tmp, 60)
44776 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44777 381172 : idata = idata + 1
44778 381172 : data_tmp = full_data(idata)
44779 381172 : data_tmp = ISHFT(data_tmp, 9)
44780 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44781 381172 : pack_tmp = ISHFT(pack_tmp, -5)
44782 381172 : idata = idata + 1
44783 381172 : data_tmp = full_data(idata)
44784 381172 : data_tmp = ISHFT(data_tmp, 9)
44785 381172 : data_tmp = IAND(data_tmp, mask_left(5))
44786 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44787 381172 : ipack = ipack + 1
44788 381172 : packed_data(ipack) = pack_tmp
44789 381172 : data_tmp = full_data(idata)
44790 381172 : pack_tmp = ISHFT(data_tmp, 14)
44791 381172 : pack_tmp = ISHFT(pack_tmp, -14)
44792 381172 : idata = idata + 1
44793 381172 : data_tmp = full_data(idata)
44794 381172 : data_tmp = ISHFT(data_tmp, 9)
44795 381172 : data_tmp = IAND(data_tmp, mask_left(14))
44796 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44797 381172 : ipack = ipack + 1
44798 381172 : packed_data(ipack) = pack_tmp
44799 381172 : data_tmp = full_data(idata)
44800 381172 : pack_tmp = ISHFT(data_tmp, 23)
44801 381172 : pack_tmp = ISHFT(pack_tmp, -23)
44802 381172 : idata = idata + 1
44803 381172 : data_tmp = full_data(idata)
44804 381172 : data_tmp = ISHFT(data_tmp, 9)
44805 381172 : data_tmp = IAND(data_tmp, mask_left(23))
44806 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44807 381172 : ipack = ipack + 1
44808 381172 : packed_data(ipack) = pack_tmp
44809 381172 : data_tmp = full_data(idata)
44810 381172 : pack_tmp = ISHFT(data_tmp, 32)
44811 381172 : pack_tmp = ISHFT(pack_tmp, -32)
44812 381172 : idata = idata + 1
44813 381172 : data_tmp = full_data(idata)
44814 381172 : data_tmp = ISHFT(data_tmp, 9)
44815 381172 : data_tmp = IAND(data_tmp, mask_left(32))
44816 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44817 381172 : ipack = ipack + 1
44818 381172 : packed_data(ipack) = pack_tmp
44819 381172 : data_tmp = full_data(idata)
44820 381172 : pack_tmp = ISHFT(data_tmp, 41)
44821 381172 : pack_tmp = ISHFT(pack_tmp, -41)
44822 381172 : idata = idata + 1
44823 381172 : data_tmp = full_data(idata)
44824 381172 : data_tmp = ISHFT(data_tmp, 9)
44825 381172 : data_tmp = IAND(data_tmp, mask_left(41))
44826 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44827 381172 : ipack = ipack + 1
44828 381172 : packed_data(ipack) = pack_tmp
44829 381172 : data_tmp = full_data(idata)
44830 381172 : pack_tmp = ISHFT(data_tmp, 50)
44831 381172 : pack_tmp = ISHFT(pack_tmp, -50)
44832 381172 : idata = idata + 1
44833 381172 : data_tmp = full_data(idata)
44834 381172 : data_tmp = ISHFT(data_tmp, 9)
44835 381172 : data_tmp = IAND(data_tmp, mask_left(50))
44836 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44837 381172 : ipack = ipack + 1
44838 381172 : packed_data(ipack) = pack_tmp
44839 381172 : data_tmp = full_data(idata)
44840 381172 : pack_tmp = ISHFT(data_tmp, 59)
44841 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44842 381172 : idata = idata + 1
44843 381172 : data_tmp = full_data(idata)
44844 381172 : data_tmp = ISHFT(data_tmp, 9)
44845 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44846 381172 : pack_tmp = ISHFT(pack_tmp, -4)
44847 381172 : idata = idata + 1
44848 381172 : data_tmp = full_data(idata)
44849 381172 : data_tmp = ISHFT(data_tmp, 9)
44850 381172 : data_tmp = IAND(data_tmp, mask_left(4))
44851 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44852 381172 : ipack = ipack + 1
44853 381172 : packed_data(ipack) = pack_tmp
44854 381172 : data_tmp = full_data(idata)
44855 381172 : pack_tmp = ISHFT(data_tmp, 13)
44856 381172 : pack_tmp = ISHFT(pack_tmp, -13)
44857 381172 : idata = idata + 1
44858 381172 : data_tmp = full_data(idata)
44859 381172 : data_tmp = ISHFT(data_tmp, 9)
44860 381172 : data_tmp = IAND(data_tmp, mask_left(13))
44861 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44862 381172 : ipack = ipack + 1
44863 381172 : packed_data(ipack) = pack_tmp
44864 381172 : data_tmp = full_data(idata)
44865 381172 : pack_tmp = ISHFT(data_tmp, 22)
44866 381172 : pack_tmp = ISHFT(pack_tmp, -22)
44867 381172 : idata = idata + 1
44868 381172 : data_tmp = full_data(idata)
44869 381172 : data_tmp = ISHFT(data_tmp, 9)
44870 381172 : data_tmp = IAND(data_tmp, mask_left(22))
44871 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44872 381172 : ipack = ipack + 1
44873 381172 : packed_data(ipack) = pack_tmp
44874 381172 : data_tmp = full_data(idata)
44875 381172 : pack_tmp = ISHFT(data_tmp, 31)
44876 381172 : pack_tmp = ISHFT(pack_tmp, -31)
44877 381172 : idata = idata + 1
44878 381172 : data_tmp = full_data(idata)
44879 381172 : data_tmp = ISHFT(data_tmp, 9)
44880 381172 : data_tmp = IAND(data_tmp, mask_left(31))
44881 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44882 381172 : ipack = ipack + 1
44883 381172 : packed_data(ipack) = pack_tmp
44884 381172 : data_tmp = full_data(idata)
44885 381172 : pack_tmp = ISHFT(data_tmp, 40)
44886 381172 : pack_tmp = ISHFT(pack_tmp, -40)
44887 381172 : idata = idata + 1
44888 381172 : data_tmp = full_data(idata)
44889 381172 : data_tmp = ISHFT(data_tmp, 9)
44890 381172 : data_tmp = IAND(data_tmp, mask_left(40))
44891 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44892 381172 : ipack = ipack + 1
44893 381172 : packed_data(ipack) = pack_tmp
44894 381172 : data_tmp = full_data(idata)
44895 381172 : pack_tmp = ISHFT(data_tmp, 49)
44896 381172 : pack_tmp = ISHFT(pack_tmp, -49)
44897 381172 : idata = idata + 1
44898 381172 : data_tmp = full_data(idata)
44899 381172 : data_tmp = ISHFT(data_tmp, 9)
44900 381172 : data_tmp = IAND(data_tmp, mask_left(49))
44901 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44902 381172 : ipack = ipack + 1
44903 381172 : packed_data(ipack) = pack_tmp
44904 381172 : data_tmp = full_data(idata)
44905 381172 : pack_tmp = ISHFT(data_tmp, 58)
44906 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44907 381172 : idata = idata + 1
44908 381172 : data_tmp = full_data(idata)
44909 381172 : data_tmp = ISHFT(data_tmp, 9)
44910 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44911 381172 : pack_tmp = ISHFT(pack_tmp, -3)
44912 381172 : idata = idata + 1
44913 381172 : data_tmp = full_data(idata)
44914 381172 : data_tmp = ISHFT(data_tmp, 9)
44915 381172 : data_tmp = IAND(data_tmp, mask_left(3))
44916 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44917 381172 : ipack = ipack + 1
44918 381172 : packed_data(ipack) = pack_tmp
44919 381172 : data_tmp = full_data(idata)
44920 381172 : pack_tmp = ISHFT(data_tmp, 12)
44921 381172 : pack_tmp = ISHFT(pack_tmp, -12)
44922 381172 : idata = idata + 1
44923 381172 : data_tmp = full_data(idata)
44924 381172 : data_tmp = ISHFT(data_tmp, 9)
44925 381172 : data_tmp = IAND(data_tmp, mask_left(12))
44926 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44927 381172 : ipack = ipack + 1
44928 381172 : packed_data(ipack) = pack_tmp
44929 381172 : data_tmp = full_data(idata)
44930 381172 : pack_tmp = ISHFT(data_tmp, 21)
44931 381172 : pack_tmp = ISHFT(pack_tmp, -21)
44932 381172 : idata = idata + 1
44933 381172 : data_tmp = full_data(idata)
44934 381172 : data_tmp = ISHFT(data_tmp, 9)
44935 381172 : data_tmp = IAND(data_tmp, mask_left(21))
44936 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44937 381172 : ipack = ipack + 1
44938 381172 : packed_data(ipack) = pack_tmp
44939 381172 : data_tmp = full_data(idata)
44940 381172 : pack_tmp = ISHFT(data_tmp, 30)
44941 381172 : pack_tmp = ISHFT(pack_tmp, -30)
44942 381172 : idata = idata + 1
44943 381172 : data_tmp = full_data(idata)
44944 381172 : data_tmp = ISHFT(data_tmp, 9)
44945 381172 : data_tmp = IAND(data_tmp, mask_left(30))
44946 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44947 381172 : ipack = ipack + 1
44948 381172 : packed_data(ipack) = pack_tmp
44949 381172 : data_tmp = full_data(idata)
44950 381172 : pack_tmp = ISHFT(data_tmp, 39)
44951 381172 : pack_tmp = ISHFT(pack_tmp, -39)
44952 381172 : idata = idata + 1
44953 381172 : data_tmp = full_data(idata)
44954 381172 : data_tmp = ISHFT(data_tmp, 9)
44955 381172 : data_tmp = IAND(data_tmp, mask_left(39))
44956 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44957 381172 : ipack = ipack + 1
44958 381172 : packed_data(ipack) = pack_tmp
44959 381172 : data_tmp = full_data(idata)
44960 381172 : pack_tmp = ISHFT(data_tmp, 48)
44961 381172 : pack_tmp = ISHFT(pack_tmp, -48)
44962 381172 : idata = idata + 1
44963 381172 : data_tmp = full_data(idata)
44964 381172 : data_tmp = ISHFT(data_tmp, 9)
44965 381172 : data_tmp = IAND(data_tmp, mask_left(48))
44966 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44967 381172 : ipack = ipack + 1
44968 381172 : packed_data(ipack) = pack_tmp
44969 381172 : data_tmp = full_data(idata)
44970 381172 : pack_tmp = ISHFT(data_tmp, 57)
44971 381172 : pack_tmp = ISHFT(pack_tmp, -55)
44972 381172 : idata = idata + 1
44973 381172 : data_tmp = full_data(idata)
44974 381172 : data_tmp = ISHFT(data_tmp, 9)
44975 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44976 381172 : pack_tmp = ISHFT(pack_tmp, -2)
44977 381172 : idata = idata + 1
44978 381172 : data_tmp = full_data(idata)
44979 381172 : data_tmp = ISHFT(data_tmp, 9)
44980 381172 : data_tmp = IAND(data_tmp, mask_left(2))
44981 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44982 381172 : ipack = ipack + 1
44983 381172 : packed_data(ipack) = pack_tmp
44984 381172 : data_tmp = full_data(idata)
44985 381172 : pack_tmp = ISHFT(data_tmp, 11)
44986 381172 : pack_tmp = ISHFT(pack_tmp, -11)
44987 381172 : idata = idata + 1
44988 381172 : data_tmp = full_data(idata)
44989 381172 : data_tmp = ISHFT(data_tmp, 9)
44990 381172 : data_tmp = IAND(data_tmp, mask_left(11))
44991 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
44992 381172 : ipack = ipack + 1
44993 381172 : packed_data(ipack) = pack_tmp
44994 381172 : data_tmp = full_data(idata)
44995 381172 : pack_tmp = ISHFT(data_tmp, 20)
44996 381172 : pack_tmp = ISHFT(pack_tmp, -20)
44997 381172 : idata = idata + 1
44998 381172 : data_tmp = full_data(idata)
44999 381172 : data_tmp = ISHFT(data_tmp, 9)
45000 381172 : data_tmp = IAND(data_tmp, mask_left(20))
45001 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45002 381172 : ipack = ipack + 1
45003 381172 : packed_data(ipack) = pack_tmp
45004 381172 : data_tmp = full_data(idata)
45005 381172 : pack_tmp = ISHFT(data_tmp, 29)
45006 381172 : pack_tmp = ISHFT(pack_tmp, -29)
45007 381172 : idata = idata + 1
45008 381172 : data_tmp = full_data(idata)
45009 381172 : data_tmp = ISHFT(data_tmp, 9)
45010 381172 : data_tmp = IAND(data_tmp, mask_left(29))
45011 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45012 381172 : ipack = ipack + 1
45013 381172 : packed_data(ipack) = pack_tmp
45014 381172 : data_tmp = full_data(idata)
45015 381172 : pack_tmp = ISHFT(data_tmp, 38)
45016 381172 : pack_tmp = ISHFT(pack_tmp, -38)
45017 381172 : idata = idata + 1
45018 381172 : data_tmp = full_data(idata)
45019 381172 : data_tmp = ISHFT(data_tmp, 9)
45020 381172 : data_tmp = IAND(data_tmp, mask_left(38))
45021 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45022 381172 : ipack = ipack + 1
45023 381172 : packed_data(ipack) = pack_tmp
45024 381172 : data_tmp = full_data(idata)
45025 381172 : pack_tmp = ISHFT(data_tmp, 47)
45026 381172 : pack_tmp = ISHFT(pack_tmp, -47)
45027 381172 : idata = idata + 1
45028 381172 : data_tmp = full_data(idata)
45029 381172 : data_tmp = ISHFT(data_tmp, 9)
45030 381172 : data_tmp = IAND(data_tmp, mask_left(47))
45031 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45032 381172 : ipack = ipack + 1
45033 381172 : packed_data(ipack) = pack_tmp
45034 381172 : data_tmp = full_data(idata)
45035 381172 : pack_tmp = ISHFT(data_tmp, 56)
45036 381172 : pack_tmp = ISHFT(pack_tmp, -55)
45037 381172 : idata = idata + 1
45038 381172 : data_tmp = full_data(idata)
45039 381172 : data_tmp = ISHFT(data_tmp, 9)
45040 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45041 381172 : pack_tmp = ISHFT(pack_tmp, -1)
45042 381172 : idata = idata + 1
45043 381172 : data_tmp = full_data(idata)
45044 381172 : data_tmp = ISHFT(data_tmp, 9)
45045 381172 : data_tmp = IAND(data_tmp, mask_left(1))
45046 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45047 381172 : ipack = ipack + 1
45048 381172 : packed_data(ipack) = pack_tmp
45049 381172 : data_tmp = full_data(idata)
45050 381172 : pack_tmp = ISHFT(data_tmp, 10)
45051 381172 : pack_tmp = ISHFT(pack_tmp, -10)
45052 381172 : idata = idata + 1
45053 381172 : data_tmp = full_data(idata)
45054 381172 : data_tmp = ISHFT(data_tmp, 9)
45055 381172 : data_tmp = IAND(data_tmp, mask_left(10))
45056 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45057 381172 : ipack = ipack + 1
45058 381172 : packed_data(ipack) = pack_tmp
45059 381172 : data_tmp = full_data(idata)
45060 381172 : pack_tmp = ISHFT(data_tmp, 19)
45061 381172 : pack_tmp = ISHFT(pack_tmp, -19)
45062 381172 : idata = idata + 1
45063 381172 : data_tmp = full_data(idata)
45064 381172 : data_tmp = ISHFT(data_tmp, 9)
45065 381172 : data_tmp = IAND(data_tmp, mask_left(19))
45066 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45067 381172 : ipack = ipack + 1
45068 381172 : packed_data(ipack) = pack_tmp
45069 381172 : data_tmp = full_data(idata)
45070 381172 : pack_tmp = ISHFT(data_tmp, 28)
45071 381172 : pack_tmp = ISHFT(pack_tmp, -28)
45072 381172 : idata = idata + 1
45073 381172 : data_tmp = full_data(idata)
45074 381172 : data_tmp = ISHFT(data_tmp, 9)
45075 381172 : data_tmp = IAND(data_tmp, mask_left(28))
45076 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45077 381172 : ipack = ipack + 1
45078 381172 : packed_data(ipack) = pack_tmp
45079 381172 : data_tmp = full_data(idata)
45080 381172 : pack_tmp = ISHFT(data_tmp, 37)
45081 381172 : pack_tmp = ISHFT(pack_tmp, -37)
45082 381172 : idata = idata + 1
45083 381172 : data_tmp = full_data(idata)
45084 381172 : data_tmp = ISHFT(data_tmp, 9)
45085 381172 : data_tmp = IAND(data_tmp, mask_left(37))
45086 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45087 381172 : ipack = ipack + 1
45088 381172 : packed_data(ipack) = pack_tmp
45089 381172 : data_tmp = full_data(idata)
45090 381172 : pack_tmp = ISHFT(data_tmp, 46)
45091 381172 : pack_tmp = ISHFT(pack_tmp, -46)
45092 381172 : idata = idata + 1
45093 381172 : data_tmp = full_data(idata)
45094 381172 : data_tmp = ISHFT(data_tmp, 9)
45095 381172 : data_tmp = IAND(data_tmp, mask_left(46))
45096 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45097 381172 : ipack = ipack + 1
45098 381172 : packed_data(ipack) = pack_tmp
45099 381172 : data_tmp = full_data(idata)
45100 381172 : pack_tmp = ISHFT(data_tmp, 55)
45101 381172 : pack_tmp = ISHFT(pack_tmp, -55)
45102 381172 : idata = idata + 1
45103 381172 : data_tmp = full_data(idata)
45104 381172 : data_tmp = ISHFT(data_tmp, 9)
45105 381172 : pack_tmp = IOR(pack_tmp, data_tmp)
45106 : pack_tmp = ISHFT(pack_tmp, 0)
45107 381172 : pack_tmp = ISHFT(pack_tmp, 0)
45108 381172 : ipack = ipack + 1
45109 381186 : packed_data(ipack) = pack_tmp
45110 : END DO
45111 23972 : 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 23972 : END SUBROUTINE ints2bits_55
45115 :
45116 : ! **************************************************************************************************
45117 : !> \brief ...
45118 : !> \param Ndata ...
45119 : !> \param packed_data ...
45120 : !> \param full_data ...
45121 : ! **************************************************************************************************
45122 106721 : 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 106721 : ipack = 0
45133 106721 : idata = 0
45134 106721 : pack_tmp = 0
45135 106721 : Ndata_rep = (Ndata/64)*64
45136 106721 : DO kdata = 1, Ndata_rep, 64
45137 1618830 : idata = idata + 1
45138 1618830 : data_tmp = ISHFT(pack_tmp, 55)
45139 1618830 : ipack = ipack + 1
45140 1618830 : pack_tmp = packed_data(ipack)
45141 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
45142 1618830 : pack_tmp = ISHFT(pack_tmp, -55)
45143 1618830 : idata = idata + 1
45144 1618830 : data_tmp = ISHFT(pack_tmp, 46)
45145 1618830 : ipack = ipack + 1
45146 1618830 : pack_tmp = packed_data(ipack)
45147 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
45148 1618830 : pack_tmp = ISHFT(pack_tmp, -46)
45149 1618830 : idata = idata + 1
45150 1618830 : data_tmp = ISHFT(pack_tmp, 37)
45151 1618830 : ipack = ipack + 1
45152 1618830 : pack_tmp = packed_data(ipack)
45153 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
45154 1618830 : pack_tmp = ISHFT(pack_tmp, -37)
45155 1618830 : idata = idata + 1
45156 1618830 : data_tmp = ISHFT(pack_tmp, 28)
45157 1618830 : ipack = ipack + 1
45158 1618830 : pack_tmp = packed_data(ipack)
45159 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
45160 1618830 : pack_tmp = ISHFT(pack_tmp, -28)
45161 1618830 : idata = idata + 1
45162 1618830 : data_tmp = ISHFT(pack_tmp, 19)
45163 1618830 : ipack = ipack + 1
45164 1618830 : pack_tmp = packed_data(ipack)
45165 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
45166 1618830 : pack_tmp = ISHFT(pack_tmp, -19)
45167 1618830 : idata = idata + 1
45168 1618830 : data_tmp = ISHFT(pack_tmp, 10)
45169 1618830 : ipack = ipack + 1
45170 1618830 : pack_tmp = packed_data(ipack)
45171 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
45172 1618830 : pack_tmp = ISHFT(pack_tmp, -10)
45173 1618830 : idata = idata + 1
45174 1618830 : data_tmp = ISHFT(pack_tmp, 1)
45175 1618830 : ipack = ipack + 1
45176 1618830 : pack_tmp = packed_data(ipack)
45177 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
45178 1618830 : pack_tmp = ISHFT(pack_tmp, -1)
45179 1618830 : idata = idata + 1
45180 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45181 1618830 : full_data(idata) = data_tmp
45182 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45183 1618830 : idata = idata + 1
45184 1618830 : data_tmp = ISHFT(pack_tmp, 47)
45185 1618830 : ipack = ipack + 1
45186 1618830 : pack_tmp = packed_data(ipack)
45187 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
45188 1618830 : pack_tmp = ISHFT(pack_tmp, -47)
45189 1618830 : idata = idata + 1
45190 1618830 : data_tmp = ISHFT(pack_tmp, 38)
45191 1618830 : ipack = ipack + 1
45192 1618830 : pack_tmp = packed_data(ipack)
45193 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
45194 1618830 : pack_tmp = ISHFT(pack_tmp, -38)
45195 1618830 : idata = idata + 1
45196 1618830 : data_tmp = ISHFT(pack_tmp, 29)
45197 1618830 : ipack = ipack + 1
45198 1618830 : pack_tmp = packed_data(ipack)
45199 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
45200 1618830 : pack_tmp = ISHFT(pack_tmp, -29)
45201 1618830 : idata = idata + 1
45202 1618830 : data_tmp = ISHFT(pack_tmp, 20)
45203 1618830 : ipack = ipack + 1
45204 1618830 : pack_tmp = packed_data(ipack)
45205 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
45206 1618830 : pack_tmp = ISHFT(pack_tmp, -20)
45207 1618830 : idata = idata + 1
45208 1618830 : data_tmp = ISHFT(pack_tmp, 11)
45209 1618830 : ipack = ipack + 1
45210 1618830 : pack_tmp = packed_data(ipack)
45211 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
45212 1618830 : pack_tmp = ISHFT(pack_tmp, -11)
45213 1618830 : idata = idata + 1
45214 1618830 : data_tmp = ISHFT(pack_tmp, 2)
45215 1618830 : ipack = ipack + 1
45216 1618830 : pack_tmp = packed_data(ipack)
45217 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
45218 1618830 : pack_tmp = ISHFT(pack_tmp, -2)
45219 1618830 : idata = idata + 1
45220 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45221 1618830 : full_data(idata) = data_tmp
45222 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45223 1618830 : idata = idata + 1
45224 1618830 : data_tmp = ISHFT(pack_tmp, 48)
45225 1618830 : ipack = ipack + 1
45226 1618830 : pack_tmp = packed_data(ipack)
45227 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
45228 1618830 : pack_tmp = ISHFT(pack_tmp, -48)
45229 1618830 : idata = idata + 1
45230 1618830 : data_tmp = ISHFT(pack_tmp, 39)
45231 1618830 : ipack = ipack + 1
45232 1618830 : pack_tmp = packed_data(ipack)
45233 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
45234 1618830 : pack_tmp = ISHFT(pack_tmp, -39)
45235 1618830 : idata = idata + 1
45236 1618830 : data_tmp = ISHFT(pack_tmp, 30)
45237 1618830 : ipack = ipack + 1
45238 1618830 : pack_tmp = packed_data(ipack)
45239 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
45240 1618830 : pack_tmp = ISHFT(pack_tmp, -30)
45241 1618830 : idata = idata + 1
45242 1618830 : data_tmp = ISHFT(pack_tmp, 21)
45243 1618830 : ipack = ipack + 1
45244 1618830 : pack_tmp = packed_data(ipack)
45245 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
45246 1618830 : pack_tmp = ISHFT(pack_tmp, -21)
45247 1618830 : idata = idata + 1
45248 1618830 : data_tmp = ISHFT(pack_tmp, 12)
45249 1618830 : ipack = ipack + 1
45250 1618830 : pack_tmp = packed_data(ipack)
45251 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
45252 1618830 : pack_tmp = ISHFT(pack_tmp, -12)
45253 1618830 : idata = idata + 1
45254 1618830 : data_tmp = ISHFT(pack_tmp, 3)
45255 1618830 : ipack = ipack + 1
45256 1618830 : pack_tmp = packed_data(ipack)
45257 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
45258 1618830 : pack_tmp = ISHFT(pack_tmp, -3)
45259 1618830 : idata = idata + 1
45260 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45261 1618830 : full_data(idata) = data_tmp
45262 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45263 1618830 : idata = idata + 1
45264 1618830 : data_tmp = ISHFT(pack_tmp, 49)
45265 1618830 : ipack = ipack + 1
45266 1618830 : pack_tmp = packed_data(ipack)
45267 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
45268 1618830 : pack_tmp = ISHFT(pack_tmp, -49)
45269 1618830 : idata = idata + 1
45270 1618830 : data_tmp = ISHFT(pack_tmp, 40)
45271 1618830 : ipack = ipack + 1
45272 1618830 : pack_tmp = packed_data(ipack)
45273 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
45274 1618830 : pack_tmp = ISHFT(pack_tmp, -40)
45275 1618830 : idata = idata + 1
45276 1618830 : data_tmp = ISHFT(pack_tmp, 31)
45277 1618830 : ipack = ipack + 1
45278 1618830 : pack_tmp = packed_data(ipack)
45279 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
45280 1618830 : pack_tmp = ISHFT(pack_tmp, -31)
45281 1618830 : idata = idata + 1
45282 1618830 : data_tmp = ISHFT(pack_tmp, 22)
45283 1618830 : ipack = ipack + 1
45284 1618830 : pack_tmp = packed_data(ipack)
45285 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
45286 1618830 : pack_tmp = ISHFT(pack_tmp, -22)
45287 1618830 : idata = idata + 1
45288 1618830 : data_tmp = ISHFT(pack_tmp, 13)
45289 1618830 : ipack = ipack + 1
45290 1618830 : pack_tmp = packed_data(ipack)
45291 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
45292 1618830 : pack_tmp = ISHFT(pack_tmp, -13)
45293 1618830 : idata = idata + 1
45294 1618830 : data_tmp = ISHFT(pack_tmp, 4)
45295 1618830 : ipack = ipack + 1
45296 1618830 : pack_tmp = packed_data(ipack)
45297 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
45298 1618830 : pack_tmp = ISHFT(pack_tmp, -4)
45299 1618830 : idata = idata + 1
45300 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45301 1618830 : full_data(idata) = data_tmp
45302 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45303 1618830 : idata = idata + 1
45304 1618830 : data_tmp = ISHFT(pack_tmp, 50)
45305 1618830 : ipack = ipack + 1
45306 1618830 : pack_tmp = packed_data(ipack)
45307 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
45308 1618830 : pack_tmp = ISHFT(pack_tmp, -50)
45309 1618830 : idata = idata + 1
45310 1618830 : data_tmp = ISHFT(pack_tmp, 41)
45311 1618830 : ipack = ipack + 1
45312 1618830 : pack_tmp = packed_data(ipack)
45313 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
45314 1618830 : pack_tmp = ISHFT(pack_tmp, -41)
45315 1618830 : idata = idata + 1
45316 1618830 : data_tmp = ISHFT(pack_tmp, 32)
45317 1618830 : ipack = ipack + 1
45318 1618830 : pack_tmp = packed_data(ipack)
45319 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
45320 1618830 : pack_tmp = ISHFT(pack_tmp, -32)
45321 1618830 : idata = idata + 1
45322 1618830 : data_tmp = ISHFT(pack_tmp, 23)
45323 1618830 : ipack = ipack + 1
45324 1618830 : pack_tmp = packed_data(ipack)
45325 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
45326 1618830 : pack_tmp = ISHFT(pack_tmp, -23)
45327 1618830 : idata = idata + 1
45328 1618830 : data_tmp = ISHFT(pack_tmp, 14)
45329 1618830 : ipack = ipack + 1
45330 1618830 : pack_tmp = packed_data(ipack)
45331 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
45332 1618830 : pack_tmp = ISHFT(pack_tmp, -14)
45333 1618830 : idata = idata + 1
45334 1618830 : data_tmp = ISHFT(pack_tmp, 5)
45335 1618830 : ipack = ipack + 1
45336 1618830 : pack_tmp = packed_data(ipack)
45337 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
45338 1618830 : pack_tmp = ISHFT(pack_tmp, -5)
45339 1618830 : idata = idata + 1
45340 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45341 1618830 : full_data(idata) = data_tmp
45342 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45343 1618830 : idata = idata + 1
45344 1618830 : data_tmp = ISHFT(pack_tmp, 51)
45345 1618830 : ipack = ipack + 1
45346 1618830 : pack_tmp = packed_data(ipack)
45347 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
45348 1618830 : pack_tmp = ISHFT(pack_tmp, -51)
45349 1618830 : idata = idata + 1
45350 1618830 : data_tmp = ISHFT(pack_tmp, 42)
45351 1618830 : ipack = ipack + 1
45352 1618830 : pack_tmp = packed_data(ipack)
45353 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
45354 1618830 : pack_tmp = ISHFT(pack_tmp, -42)
45355 1618830 : idata = idata + 1
45356 1618830 : data_tmp = ISHFT(pack_tmp, 33)
45357 1618830 : ipack = ipack + 1
45358 1618830 : pack_tmp = packed_data(ipack)
45359 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
45360 1618830 : pack_tmp = ISHFT(pack_tmp, -33)
45361 1618830 : idata = idata + 1
45362 1618830 : data_tmp = ISHFT(pack_tmp, 24)
45363 1618830 : ipack = ipack + 1
45364 1618830 : pack_tmp = packed_data(ipack)
45365 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
45366 1618830 : pack_tmp = ISHFT(pack_tmp, -24)
45367 1618830 : idata = idata + 1
45368 1618830 : data_tmp = ISHFT(pack_tmp, 15)
45369 1618830 : ipack = ipack + 1
45370 1618830 : pack_tmp = packed_data(ipack)
45371 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
45372 1618830 : pack_tmp = ISHFT(pack_tmp, -15)
45373 1618830 : idata = idata + 1
45374 1618830 : data_tmp = ISHFT(pack_tmp, 6)
45375 1618830 : ipack = ipack + 1
45376 1618830 : pack_tmp = packed_data(ipack)
45377 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
45378 1618830 : pack_tmp = ISHFT(pack_tmp, -6)
45379 1618830 : idata = idata + 1
45380 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45381 1618830 : full_data(idata) = data_tmp
45382 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45383 1618830 : idata = idata + 1
45384 1618830 : data_tmp = ISHFT(pack_tmp, 52)
45385 1618830 : ipack = ipack + 1
45386 1618830 : pack_tmp = packed_data(ipack)
45387 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
45388 1618830 : pack_tmp = ISHFT(pack_tmp, -52)
45389 1618830 : idata = idata + 1
45390 1618830 : data_tmp = ISHFT(pack_tmp, 43)
45391 1618830 : ipack = ipack + 1
45392 1618830 : pack_tmp = packed_data(ipack)
45393 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
45394 1618830 : pack_tmp = ISHFT(pack_tmp, -43)
45395 1618830 : idata = idata + 1
45396 1618830 : data_tmp = ISHFT(pack_tmp, 34)
45397 1618830 : ipack = ipack + 1
45398 1618830 : pack_tmp = packed_data(ipack)
45399 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
45400 1618830 : pack_tmp = ISHFT(pack_tmp, -34)
45401 1618830 : idata = idata + 1
45402 1618830 : data_tmp = ISHFT(pack_tmp, 25)
45403 1618830 : ipack = ipack + 1
45404 1618830 : pack_tmp = packed_data(ipack)
45405 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
45406 1618830 : pack_tmp = ISHFT(pack_tmp, -25)
45407 1618830 : idata = idata + 1
45408 1618830 : data_tmp = ISHFT(pack_tmp, 16)
45409 1618830 : ipack = ipack + 1
45410 1618830 : pack_tmp = packed_data(ipack)
45411 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
45412 1618830 : pack_tmp = ISHFT(pack_tmp, -16)
45413 1618830 : idata = idata + 1
45414 1618830 : data_tmp = ISHFT(pack_tmp, 7)
45415 1618830 : ipack = ipack + 1
45416 1618830 : pack_tmp = packed_data(ipack)
45417 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
45418 1618830 : pack_tmp = ISHFT(pack_tmp, -7)
45419 1618830 : idata = idata + 1
45420 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45421 1618830 : full_data(idata) = data_tmp
45422 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45423 1618830 : idata = idata + 1
45424 1618830 : data_tmp = ISHFT(pack_tmp, 53)
45425 1618830 : ipack = ipack + 1
45426 1618830 : pack_tmp = packed_data(ipack)
45427 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
45428 1618830 : pack_tmp = ISHFT(pack_tmp, -53)
45429 1618830 : idata = idata + 1
45430 1618830 : data_tmp = ISHFT(pack_tmp, 44)
45431 1618830 : ipack = ipack + 1
45432 1618830 : pack_tmp = packed_data(ipack)
45433 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
45434 1618830 : pack_tmp = ISHFT(pack_tmp, -44)
45435 1618830 : idata = idata + 1
45436 1618830 : data_tmp = ISHFT(pack_tmp, 35)
45437 1618830 : ipack = ipack + 1
45438 1618830 : pack_tmp = packed_data(ipack)
45439 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
45440 1618830 : pack_tmp = ISHFT(pack_tmp, -35)
45441 1618830 : idata = idata + 1
45442 1618830 : data_tmp = ISHFT(pack_tmp, 26)
45443 1618830 : ipack = ipack + 1
45444 1618830 : pack_tmp = packed_data(ipack)
45445 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
45446 1618830 : pack_tmp = ISHFT(pack_tmp, -26)
45447 1618830 : idata = idata + 1
45448 1618830 : data_tmp = ISHFT(pack_tmp, 17)
45449 1618830 : ipack = ipack + 1
45450 1618830 : pack_tmp = packed_data(ipack)
45451 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
45452 1618830 : pack_tmp = ISHFT(pack_tmp, -17)
45453 1618830 : idata = idata + 1
45454 1618830 : data_tmp = ISHFT(pack_tmp, 8)
45455 1618830 : ipack = ipack + 1
45456 1618830 : pack_tmp = packed_data(ipack)
45457 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
45458 1618830 : pack_tmp = ISHFT(pack_tmp, -8)
45459 1618830 : idata = idata + 1
45460 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45461 1618830 : full_data(idata) = data_tmp
45462 1618830 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45463 1618830 : idata = idata + 1
45464 1618830 : data_tmp = ISHFT(pack_tmp, 54)
45465 1618830 : ipack = ipack + 1
45466 1618830 : pack_tmp = packed_data(ipack)
45467 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
45468 1618830 : pack_tmp = ISHFT(pack_tmp, -54)
45469 1618830 : idata = idata + 1
45470 1618830 : data_tmp = ISHFT(pack_tmp, 45)
45471 1618830 : ipack = ipack + 1
45472 1618830 : pack_tmp = packed_data(ipack)
45473 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
45474 1618830 : pack_tmp = ISHFT(pack_tmp, -45)
45475 1618830 : idata = idata + 1
45476 1618830 : data_tmp = ISHFT(pack_tmp, 36)
45477 1618830 : ipack = ipack + 1
45478 1618830 : pack_tmp = packed_data(ipack)
45479 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
45480 1618830 : pack_tmp = ISHFT(pack_tmp, -36)
45481 1618830 : idata = idata + 1
45482 1618830 : data_tmp = ISHFT(pack_tmp, 27)
45483 1618830 : ipack = ipack + 1
45484 1618830 : pack_tmp = packed_data(ipack)
45485 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
45486 1618830 : pack_tmp = ISHFT(pack_tmp, -27)
45487 1618830 : idata = idata + 1
45488 1618830 : data_tmp = ISHFT(pack_tmp, 18)
45489 1618830 : ipack = ipack + 1
45490 1618830 : pack_tmp = packed_data(ipack)
45491 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
45492 1618830 : pack_tmp = ISHFT(pack_tmp, -18)
45493 1618830 : idata = idata + 1
45494 1618830 : data_tmp = ISHFT(pack_tmp, 9)
45495 1618830 : ipack = ipack + 1
45496 1618830 : pack_tmp = packed_data(ipack)
45497 1618830 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
45498 1618830 : pack_tmp = ISHFT(pack_tmp, -9)
45499 1618830 : idata = idata + 1
45500 1618830 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45501 1618830 : full_data(idata) = data_tmp
45502 1619330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45503 : END DO
45504 106721 : 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 106721 : END SUBROUTINE bits2ints_55
45508 :
45509 : ! **************************************************************************************************
45510 : !> \brief ...
45511 : !> \param Ndata ...
45512 : !> \param packed_data ...
45513 : !> \param full_data ...
45514 : ! **************************************************************************************************
45515 23814 : 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 23814 : idata = 0
45526 23814 : ipack = 0
45527 23814 : Ndata_rep = (Ndata/64)*64
45528 23814 : DO kdata = 1, Ndata_rep, 64
45529 379902 : pack_tmp = 0
45530 379902 : idata = idata + 1
45531 379902 : data_tmp = full_data(idata)
45532 379902 : data_tmp = ISHFT(data_tmp, 8)
45533 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45534 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45535 379902 : idata = idata + 1
45536 379902 : data_tmp = full_data(idata)
45537 379902 : data_tmp = ISHFT(data_tmp, 8)
45538 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45539 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45540 379902 : ipack = ipack + 1
45541 379902 : packed_data(ipack) = pack_tmp
45542 379902 : data_tmp = full_data(idata)
45543 379902 : pack_tmp = ISHFT(data_tmp, 16)
45544 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45545 379902 : idata = idata + 1
45546 379902 : data_tmp = full_data(idata)
45547 379902 : data_tmp = ISHFT(data_tmp, 8)
45548 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45549 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45550 379902 : ipack = ipack + 1
45551 379902 : packed_data(ipack) = pack_tmp
45552 379902 : data_tmp = full_data(idata)
45553 379902 : pack_tmp = ISHFT(data_tmp, 24)
45554 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45555 379902 : idata = idata + 1
45556 379902 : data_tmp = full_data(idata)
45557 379902 : data_tmp = ISHFT(data_tmp, 8)
45558 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45559 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45560 379902 : ipack = ipack + 1
45561 379902 : packed_data(ipack) = pack_tmp
45562 379902 : data_tmp = full_data(idata)
45563 379902 : pack_tmp = ISHFT(data_tmp, 32)
45564 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45565 379902 : idata = idata + 1
45566 379902 : data_tmp = full_data(idata)
45567 379902 : data_tmp = ISHFT(data_tmp, 8)
45568 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45569 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45570 379902 : ipack = ipack + 1
45571 379902 : packed_data(ipack) = pack_tmp
45572 379902 : data_tmp = full_data(idata)
45573 379902 : pack_tmp = ISHFT(data_tmp, 40)
45574 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45575 379902 : idata = idata + 1
45576 379902 : data_tmp = full_data(idata)
45577 379902 : data_tmp = ISHFT(data_tmp, 8)
45578 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45579 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45580 379902 : ipack = ipack + 1
45581 379902 : packed_data(ipack) = pack_tmp
45582 379902 : data_tmp = full_data(idata)
45583 379902 : pack_tmp = ISHFT(data_tmp, 48)
45584 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45585 379902 : idata = idata + 1
45586 379902 : data_tmp = full_data(idata)
45587 379902 : data_tmp = ISHFT(data_tmp, 8)
45588 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45589 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45590 379902 : ipack = ipack + 1
45591 379902 : packed_data(ipack) = pack_tmp
45592 379902 : data_tmp = full_data(idata)
45593 379902 : pack_tmp = ISHFT(data_tmp, 56)
45594 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45595 379902 : idata = idata + 1
45596 379902 : data_tmp = full_data(idata)
45597 379902 : data_tmp = ISHFT(data_tmp, 8)
45598 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45599 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45600 379902 : idata = idata + 1
45601 379902 : data_tmp = full_data(idata)
45602 : data_tmp = ISHFT(data_tmp, 8)
45603 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45604 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45605 379902 : ipack = ipack + 1
45606 379902 : packed_data(ipack) = pack_tmp
45607 379902 : data_tmp = full_data(idata)
45608 379902 : pack_tmp = ISHFT(data_tmp, 8)
45609 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45610 379902 : idata = idata + 1
45611 379902 : data_tmp = full_data(idata)
45612 379902 : data_tmp = ISHFT(data_tmp, 8)
45613 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45614 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45615 379902 : ipack = ipack + 1
45616 379902 : packed_data(ipack) = pack_tmp
45617 379902 : data_tmp = full_data(idata)
45618 379902 : pack_tmp = ISHFT(data_tmp, 16)
45619 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45620 379902 : idata = idata + 1
45621 379902 : data_tmp = full_data(idata)
45622 379902 : data_tmp = ISHFT(data_tmp, 8)
45623 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45624 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45625 379902 : ipack = ipack + 1
45626 379902 : packed_data(ipack) = pack_tmp
45627 379902 : data_tmp = full_data(idata)
45628 379902 : pack_tmp = ISHFT(data_tmp, 24)
45629 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45630 379902 : idata = idata + 1
45631 379902 : data_tmp = full_data(idata)
45632 379902 : data_tmp = ISHFT(data_tmp, 8)
45633 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45634 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45635 379902 : ipack = ipack + 1
45636 379902 : packed_data(ipack) = pack_tmp
45637 379902 : data_tmp = full_data(idata)
45638 379902 : pack_tmp = ISHFT(data_tmp, 32)
45639 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45640 379902 : idata = idata + 1
45641 379902 : data_tmp = full_data(idata)
45642 379902 : data_tmp = ISHFT(data_tmp, 8)
45643 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45644 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45645 379902 : ipack = ipack + 1
45646 379902 : packed_data(ipack) = pack_tmp
45647 379902 : data_tmp = full_data(idata)
45648 379902 : pack_tmp = ISHFT(data_tmp, 40)
45649 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45650 379902 : idata = idata + 1
45651 379902 : data_tmp = full_data(idata)
45652 379902 : data_tmp = ISHFT(data_tmp, 8)
45653 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45654 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45655 379902 : ipack = ipack + 1
45656 379902 : packed_data(ipack) = pack_tmp
45657 379902 : data_tmp = full_data(idata)
45658 379902 : pack_tmp = ISHFT(data_tmp, 48)
45659 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45660 379902 : idata = idata + 1
45661 379902 : data_tmp = full_data(idata)
45662 379902 : data_tmp = ISHFT(data_tmp, 8)
45663 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45664 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45665 379902 : ipack = ipack + 1
45666 379902 : packed_data(ipack) = pack_tmp
45667 379902 : data_tmp = full_data(idata)
45668 379902 : pack_tmp = ISHFT(data_tmp, 56)
45669 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45670 379902 : idata = idata + 1
45671 379902 : data_tmp = full_data(idata)
45672 379902 : data_tmp = ISHFT(data_tmp, 8)
45673 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45674 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45675 379902 : idata = idata + 1
45676 379902 : data_tmp = full_data(idata)
45677 : data_tmp = ISHFT(data_tmp, 8)
45678 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45679 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45680 379902 : ipack = ipack + 1
45681 379902 : packed_data(ipack) = pack_tmp
45682 379902 : data_tmp = full_data(idata)
45683 379902 : pack_tmp = ISHFT(data_tmp, 8)
45684 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45685 379902 : idata = idata + 1
45686 379902 : data_tmp = full_data(idata)
45687 379902 : data_tmp = ISHFT(data_tmp, 8)
45688 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45689 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45690 379902 : ipack = ipack + 1
45691 379902 : packed_data(ipack) = pack_tmp
45692 379902 : data_tmp = full_data(idata)
45693 379902 : pack_tmp = ISHFT(data_tmp, 16)
45694 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45695 379902 : idata = idata + 1
45696 379902 : data_tmp = full_data(idata)
45697 379902 : data_tmp = ISHFT(data_tmp, 8)
45698 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45699 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45700 379902 : ipack = ipack + 1
45701 379902 : packed_data(ipack) = pack_tmp
45702 379902 : data_tmp = full_data(idata)
45703 379902 : pack_tmp = ISHFT(data_tmp, 24)
45704 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45705 379902 : idata = idata + 1
45706 379902 : data_tmp = full_data(idata)
45707 379902 : data_tmp = ISHFT(data_tmp, 8)
45708 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45709 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45710 379902 : ipack = ipack + 1
45711 379902 : packed_data(ipack) = pack_tmp
45712 379902 : data_tmp = full_data(idata)
45713 379902 : pack_tmp = ISHFT(data_tmp, 32)
45714 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45715 379902 : idata = idata + 1
45716 379902 : data_tmp = full_data(idata)
45717 379902 : data_tmp = ISHFT(data_tmp, 8)
45718 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45719 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45720 379902 : ipack = ipack + 1
45721 379902 : packed_data(ipack) = pack_tmp
45722 379902 : data_tmp = full_data(idata)
45723 379902 : pack_tmp = ISHFT(data_tmp, 40)
45724 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45725 379902 : idata = idata + 1
45726 379902 : data_tmp = full_data(idata)
45727 379902 : data_tmp = ISHFT(data_tmp, 8)
45728 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45729 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45730 379902 : ipack = ipack + 1
45731 379902 : packed_data(ipack) = pack_tmp
45732 379902 : data_tmp = full_data(idata)
45733 379902 : pack_tmp = ISHFT(data_tmp, 48)
45734 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45735 379902 : idata = idata + 1
45736 379902 : data_tmp = full_data(idata)
45737 379902 : data_tmp = ISHFT(data_tmp, 8)
45738 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45739 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45740 379902 : ipack = ipack + 1
45741 379902 : packed_data(ipack) = pack_tmp
45742 379902 : data_tmp = full_data(idata)
45743 379902 : pack_tmp = ISHFT(data_tmp, 56)
45744 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45745 379902 : idata = idata + 1
45746 379902 : data_tmp = full_data(idata)
45747 379902 : data_tmp = ISHFT(data_tmp, 8)
45748 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45749 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45750 379902 : idata = idata + 1
45751 379902 : data_tmp = full_data(idata)
45752 : data_tmp = ISHFT(data_tmp, 8)
45753 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45754 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45755 379902 : ipack = ipack + 1
45756 379902 : packed_data(ipack) = pack_tmp
45757 379902 : data_tmp = full_data(idata)
45758 379902 : pack_tmp = ISHFT(data_tmp, 8)
45759 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45760 379902 : idata = idata + 1
45761 379902 : data_tmp = full_data(idata)
45762 379902 : data_tmp = ISHFT(data_tmp, 8)
45763 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45764 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45765 379902 : ipack = ipack + 1
45766 379902 : packed_data(ipack) = pack_tmp
45767 379902 : data_tmp = full_data(idata)
45768 379902 : pack_tmp = ISHFT(data_tmp, 16)
45769 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45770 379902 : idata = idata + 1
45771 379902 : data_tmp = full_data(idata)
45772 379902 : data_tmp = ISHFT(data_tmp, 8)
45773 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45774 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45775 379902 : ipack = ipack + 1
45776 379902 : packed_data(ipack) = pack_tmp
45777 379902 : data_tmp = full_data(idata)
45778 379902 : pack_tmp = ISHFT(data_tmp, 24)
45779 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45780 379902 : idata = idata + 1
45781 379902 : data_tmp = full_data(idata)
45782 379902 : data_tmp = ISHFT(data_tmp, 8)
45783 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45784 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45785 379902 : ipack = ipack + 1
45786 379902 : packed_data(ipack) = pack_tmp
45787 379902 : data_tmp = full_data(idata)
45788 379902 : pack_tmp = ISHFT(data_tmp, 32)
45789 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45790 379902 : idata = idata + 1
45791 379902 : data_tmp = full_data(idata)
45792 379902 : data_tmp = ISHFT(data_tmp, 8)
45793 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45794 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45795 379902 : ipack = ipack + 1
45796 379902 : packed_data(ipack) = pack_tmp
45797 379902 : data_tmp = full_data(idata)
45798 379902 : pack_tmp = ISHFT(data_tmp, 40)
45799 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45800 379902 : idata = idata + 1
45801 379902 : data_tmp = full_data(idata)
45802 379902 : data_tmp = ISHFT(data_tmp, 8)
45803 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45804 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45805 379902 : ipack = ipack + 1
45806 379902 : packed_data(ipack) = pack_tmp
45807 379902 : data_tmp = full_data(idata)
45808 379902 : pack_tmp = ISHFT(data_tmp, 48)
45809 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45810 379902 : idata = idata + 1
45811 379902 : data_tmp = full_data(idata)
45812 379902 : data_tmp = ISHFT(data_tmp, 8)
45813 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45814 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45815 379902 : ipack = ipack + 1
45816 379902 : packed_data(ipack) = pack_tmp
45817 379902 : data_tmp = full_data(idata)
45818 379902 : pack_tmp = ISHFT(data_tmp, 56)
45819 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45820 379902 : idata = idata + 1
45821 379902 : data_tmp = full_data(idata)
45822 379902 : data_tmp = ISHFT(data_tmp, 8)
45823 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45824 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45825 379902 : idata = idata + 1
45826 379902 : data_tmp = full_data(idata)
45827 : data_tmp = ISHFT(data_tmp, 8)
45828 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45829 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45830 379902 : ipack = ipack + 1
45831 379902 : packed_data(ipack) = pack_tmp
45832 379902 : data_tmp = full_data(idata)
45833 379902 : pack_tmp = ISHFT(data_tmp, 8)
45834 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45835 379902 : idata = idata + 1
45836 379902 : data_tmp = full_data(idata)
45837 379902 : data_tmp = ISHFT(data_tmp, 8)
45838 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45839 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45840 379902 : ipack = ipack + 1
45841 379902 : packed_data(ipack) = pack_tmp
45842 379902 : data_tmp = full_data(idata)
45843 379902 : pack_tmp = ISHFT(data_tmp, 16)
45844 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45845 379902 : idata = idata + 1
45846 379902 : data_tmp = full_data(idata)
45847 379902 : data_tmp = ISHFT(data_tmp, 8)
45848 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45849 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45850 379902 : ipack = ipack + 1
45851 379902 : packed_data(ipack) = pack_tmp
45852 379902 : data_tmp = full_data(idata)
45853 379902 : pack_tmp = ISHFT(data_tmp, 24)
45854 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45855 379902 : idata = idata + 1
45856 379902 : data_tmp = full_data(idata)
45857 379902 : data_tmp = ISHFT(data_tmp, 8)
45858 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45859 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45860 379902 : ipack = ipack + 1
45861 379902 : packed_data(ipack) = pack_tmp
45862 379902 : data_tmp = full_data(idata)
45863 379902 : pack_tmp = ISHFT(data_tmp, 32)
45864 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45865 379902 : idata = idata + 1
45866 379902 : data_tmp = full_data(idata)
45867 379902 : data_tmp = ISHFT(data_tmp, 8)
45868 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45869 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45870 379902 : ipack = ipack + 1
45871 379902 : packed_data(ipack) = pack_tmp
45872 379902 : data_tmp = full_data(idata)
45873 379902 : pack_tmp = ISHFT(data_tmp, 40)
45874 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45875 379902 : idata = idata + 1
45876 379902 : data_tmp = full_data(idata)
45877 379902 : data_tmp = ISHFT(data_tmp, 8)
45878 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45879 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45880 379902 : ipack = ipack + 1
45881 379902 : packed_data(ipack) = pack_tmp
45882 379902 : data_tmp = full_data(idata)
45883 379902 : pack_tmp = ISHFT(data_tmp, 48)
45884 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45885 379902 : idata = idata + 1
45886 379902 : data_tmp = full_data(idata)
45887 379902 : data_tmp = ISHFT(data_tmp, 8)
45888 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45889 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45890 379902 : ipack = ipack + 1
45891 379902 : packed_data(ipack) = pack_tmp
45892 379902 : data_tmp = full_data(idata)
45893 379902 : pack_tmp = ISHFT(data_tmp, 56)
45894 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45895 379902 : idata = idata + 1
45896 379902 : data_tmp = full_data(idata)
45897 379902 : data_tmp = ISHFT(data_tmp, 8)
45898 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45899 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45900 379902 : idata = idata + 1
45901 379902 : data_tmp = full_data(idata)
45902 : data_tmp = ISHFT(data_tmp, 8)
45903 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45904 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45905 379902 : ipack = ipack + 1
45906 379902 : packed_data(ipack) = pack_tmp
45907 379902 : data_tmp = full_data(idata)
45908 379902 : pack_tmp = ISHFT(data_tmp, 8)
45909 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45910 379902 : idata = idata + 1
45911 379902 : data_tmp = full_data(idata)
45912 379902 : data_tmp = ISHFT(data_tmp, 8)
45913 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45914 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45915 379902 : ipack = ipack + 1
45916 379902 : packed_data(ipack) = pack_tmp
45917 379902 : data_tmp = full_data(idata)
45918 379902 : pack_tmp = ISHFT(data_tmp, 16)
45919 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45920 379902 : idata = idata + 1
45921 379902 : data_tmp = full_data(idata)
45922 379902 : data_tmp = ISHFT(data_tmp, 8)
45923 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45924 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45925 379902 : ipack = ipack + 1
45926 379902 : packed_data(ipack) = pack_tmp
45927 379902 : data_tmp = full_data(idata)
45928 379902 : pack_tmp = ISHFT(data_tmp, 24)
45929 379902 : pack_tmp = ISHFT(pack_tmp, -24)
45930 379902 : idata = idata + 1
45931 379902 : data_tmp = full_data(idata)
45932 379902 : data_tmp = ISHFT(data_tmp, 8)
45933 379902 : data_tmp = IAND(data_tmp, mask_left(24))
45934 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45935 379902 : ipack = ipack + 1
45936 379902 : packed_data(ipack) = pack_tmp
45937 379902 : data_tmp = full_data(idata)
45938 379902 : pack_tmp = ISHFT(data_tmp, 32)
45939 379902 : pack_tmp = ISHFT(pack_tmp, -32)
45940 379902 : idata = idata + 1
45941 379902 : data_tmp = full_data(idata)
45942 379902 : data_tmp = ISHFT(data_tmp, 8)
45943 379902 : data_tmp = IAND(data_tmp, mask_left(32))
45944 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45945 379902 : ipack = ipack + 1
45946 379902 : packed_data(ipack) = pack_tmp
45947 379902 : data_tmp = full_data(idata)
45948 379902 : pack_tmp = ISHFT(data_tmp, 40)
45949 379902 : pack_tmp = ISHFT(pack_tmp, -40)
45950 379902 : idata = idata + 1
45951 379902 : data_tmp = full_data(idata)
45952 379902 : data_tmp = ISHFT(data_tmp, 8)
45953 379902 : data_tmp = IAND(data_tmp, mask_left(40))
45954 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45955 379902 : ipack = ipack + 1
45956 379902 : packed_data(ipack) = pack_tmp
45957 379902 : data_tmp = full_data(idata)
45958 379902 : pack_tmp = ISHFT(data_tmp, 48)
45959 379902 : pack_tmp = ISHFT(pack_tmp, -48)
45960 379902 : idata = idata + 1
45961 379902 : data_tmp = full_data(idata)
45962 379902 : data_tmp = ISHFT(data_tmp, 8)
45963 379902 : data_tmp = IAND(data_tmp, mask_left(48))
45964 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45965 379902 : ipack = ipack + 1
45966 379902 : packed_data(ipack) = pack_tmp
45967 379902 : data_tmp = full_data(idata)
45968 379902 : pack_tmp = ISHFT(data_tmp, 56)
45969 379902 : pack_tmp = ISHFT(pack_tmp, -56)
45970 379902 : idata = idata + 1
45971 379902 : data_tmp = full_data(idata)
45972 379902 : data_tmp = ISHFT(data_tmp, 8)
45973 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45974 379902 : pack_tmp = ISHFT(pack_tmp, 0)
45975 379902 : idata = idata + 1
45976 379902 : data_tmp = full_data(idata)
45977 : data_tmp = ISHFT(data_tmp, 8)
45978 379902 : data_tmp = IAND(data_tmp, mask_left(0))
45979 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45980 379902 : ipack = ipack + 1
45981 379902 : packed_data(ipack) = pack_tmp
45982 379902 : data_tmp = full_data(idata)
45983 379902 : pack_tmp = ISHFT(data_tmp, 8)
45984 379902 : pack_tmp = ISHFT(pack_tmp, -8)
45985 379902 : idata = idata + 1
45986 379902 : data_tmp = full_data(idata)
45987 379902 : data_tmp = ISHFT(data_tmp, 8)
45988 379902 : data_tmp = IAND(data_tmp, mask_left(8))
45989 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
45990 379902 : ipack = ipack + 1
45991 379902 : packed_data(ipack) = pack_tmp
45992 379902 : data_tmp = full_data(idata)
45993 379902 : pack_tmp = ISHFT(data_tmp, 16)
45994 379902 : pack_tmp = ISHFT(pack_tmp, -16)
45995 379902 : idata = idata + 1
45996 379902 : data_tmp = full_data(idata)
45997 379902 : data_tmp = ISHFT(data_tmp, 8)
45998 379902 : data_tmp = IAND(data_tmp, mask_left(16))
45999 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46000 379902 : ipack = ipack + 1
46001 379902 : packed_data(ipack) = pack_tmp
46002 379902 : data_tmp = full_data(idata)
46003 379902 : pack_tmp = ISHFT(data_tmp, 24)
46004 379902 : pack_tmp = ISHFT(pack_tmp, -24)
46005 379902 : idata = idata + 1
46006 379902 : data_tmp = full_data(idata)
46007 379902 : data_tmp = ISHFT(data_tmp, 8)
46008 379902 : data_tmp = IAND(data_tmp, mask_left(24))
46009 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46010 379902 : ipack = ipack + 1
46011 379902 : packed_data(ipack) = pack_tmp
46012 379902 : data_tmp = full_data(idata)
46013 379902 : pack_tmp = ISHFT(data_tmp, 32)
46014 379902 : pack_tmp = ISHFT(pack_tmp, -32)
46015 379902 : idata = idata + 1
46016 379902 : data_tmp = full_data(idata)
46017 379902 : data_tmp = ISHFT(data_tmp, 8)
46018 379902 : data_tmp = IAND(data_tmp, mask_left(32))
46019 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46020 379902 : ipack = ipack + 1
46021 379902 : packed_data(ipack) = pack_tmp
46022 379902 : data_tmp = full_data(idata)
46023 379902 : pack_tmp = ISHFT(data_tmp, 40)
46024 379902 : pack_tmp = ISHFT(pack_tmp, -40)
46025 379902 : idata = idata + 1
46026 379902 : data_tmp = full_data(idata)
46027 379902 : data_tmp = ISHFT(data_tmp, 8)
46028 379902 : data_tmp = IAND(data_tmp, mask_left(40))
46029 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46030 379902 : ipack = ipack + 1
46031 379902 : packed_data(ipack) = pack_tmp
46032 379902 : data_tmp = full_data(idata)
46033 379902 : pack_tmp = ISHFT(data_tmp, 48)
46034 379902 : pack_tmp = ISHFT(pack_tmp, -48)
46035 379902 : idata = idata + 1
46036 379902 : data_tmp = full_data(idata)
46037 379902 : data_tmp = ISHFT(data_tmp, 8)
46038 379902 : data_tmp = IAND(data_tmp, mask_left(48))
46039 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46040 379902 : ipack = ipack + 1
46041 379902 : packed_data(ipack) = pack_tmp
46042 379902 : data_tmp = full_data(idata)
46043 379902 : pack_tmp = ISHFT(data_tmp, 56)
46044 379902 : pack_tmp = ISHFT(pack_tmp, -56)
46045 379902 : idata = idata + 1
46046 379902 : data_tmp = full_data(idata)
46047 379902 : data_tmp = ISHFT(data_tmp, 8)
46048 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46049 379902 : pack_tmp = ISHFT(pack_tmp, 0)
46050 379902 : idata = idata + 1
46051 379902 : data_tmp = full_data(idata)
46052 : data_tmp = ISHFT(data_tmp, 8)
46053 379902 : data_tmp = IAND(data_tmp, mask_left(0))
46054 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46055 379902 : ipack = ipack + 1
46056 379902 : packed_data(ipack) = pack_tmp
46057 379902 : data_tmp = full_data(idata)
46058 379902 : pack_tmp = ISHFT(data_tmp, 8)
46059 379902 : pack_tmp = ISHFT(pack_tmp, -8)
46060 379902 : idata = idata + 1
46061 379902 : data_tmp = full_data(idata)
46062 379902 : data_tmp = ISHFT(data_tmp, 8)
46063 379902 : data_tmp = IAND(data_tmp, mask_left(8))
46064 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46065 379902 : ipack = ipack + 1
46066 379902 : packed_data(ipack) = pack_tmp
46067 379902 : data_tmp = full_data(idata)
46068 379902 : pack_tmp = ISHFT(data_tmp, 16)
46069 379902 : pack_tmp = ISHFT(pack_tmp, -16)
46070 379902 : idata = idata + 1
46071 379902 : data_tmp = full_data(idata)
46072 379902 : data_tmp = ISHFT(data_tmp, 8)
46073 379902 : data_tmp = IAND(data_tmp, mask_left(16))
46074 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46075 379902 : ipack = ipack + 1
46076 379902 : packed_data(ipack) = pack_tmp
46077 379902 : data_tmp = full_data(idata)
46078 379902 : pack_tmp = ISHFT(data_tmp, 24)
46079 379902 : pack_tmp = ISHFT(pack_tmp, -24)
46080 379902 : idata = idata + 1
46081 379902 : data_tmp = full_data(idata)
46082 379902 : data_tmp = ISHFT(data_tmp, 8)
46083 379902 : data_tmp = IAND(data_tmp, mask_left(24))
46084 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46085 379902 : ipack = ipack + 1
46086 379902 : packed_data(ipack) = pack_tmp
46087 379902 : data_tmp = full_data(idata)
46088 379902 : pack_tmp = ISHFT(data_tmp, 32)
46089 379902 : pack_tmp = ISHFT(pack_tmp, -32)
46090 379902 : idata = idata + 1
46091 379902 : data_tmp = full_data(idata)
46092 379902 : data_tmp = ISHFT(data_tmp, 8)
46093 379902 : data_tmp = IAND(data_tmp, mask_left(32))
46094 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46095 379902 : ipack = ipack + 1
46096 379902 : packed_data(ipack) = pack_tmp
46097 379902 : data_tmp = full_data(idata)
46098 379902 : pack_tmp = ISHFT(data_tmp, 40)
46099 379902 : pack_tmp = ISHFT(pack_tmp, -40)
46100 379902 : idata = idata + 1
46101 379902 : data_tmp = full_data(idata)
46102 379902 : data_tmp = ISHFT(data_tmp, 8)
46103 379902 : data_tmp = IAND(data_tmp, mask_left(40))
46104 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46105 379902 : ipack = ipack + 1
46106 379902 : packed_data(ipack) = pack_tmp
46107 379902 : data_tmp = full_data(idata)
46108 379902 : pack_tmp = ISHFT(data_tmp, 48)
46109 379902 : pack_tmp = ISHFT(pack_tmp, -48)
46110 379902 : idata = idata + 1
46111 379902 : data_tmp = full_data(idata)
46112 379902 : data_tmp = ISHFT(data_tmp, 8)
46113 379902 : data_tmp = IAND(data_tmp, mask_left(48))
46114 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46115 379902 : ipack = ipack + 1
46116 379902 : packed_data(ipack) = pack_tmp
46117 379902 : data_tmp = full_data(idata)
46118 379902 : pack_tmp = ISHFT(data_tmp, 56)
46119 379902 : pack_tmp = ISHFT(pack_tmp, -56)
46120 379902 : idata = idata + 1
46121 379902 : data_tmp = full_data(idata)
46122 379902 : data_tmp = ISHFT(data_tmp, 8)
46123 379902 : pack_tmp = IOR(pack_tmp, data_tmp)
46124 : pack_tmp = ISHFT(pack_tmp, 0)
46125 379902 : pack_tmp = ISHFT(pack_tmp, 0)
46126 379902 : ipack = ipack + 1
46127 379908 : packed_data(ipack) = pack_tmp
46128 : END DO
46129 23814 : 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 23814 : END SUBROUTINE ints2bits_56
46133 :
46134 : ! **************************************************************************************************
46135 : !> \brief ...
46136 : !> \param Ndata ...
46137 : !> \param packed_data ...
46138 : !> \param full_data ...
46139 : ! **************************************************************************************************
46140 102645 : 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 102645 : ipack = 0
46151 102645 : idata = 0
46152 102645 : pack_tmp = 0
46153 102645 : Ndata_rep = (Ndata/64)*64
46154 102645 : DO kdata = 1, Ndata_rep, 64
46155 1584078 : idata = idata + 1
46156 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46157 1584078 : ipack = ipack + 1
46158 1584078 : pack_tmp = packed_data(ipack)
46159 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46160 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46161 1584078 : idata = idata + 1
46162 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46163 1584078 : ipack = ipack + 1
46164 1584078 : pack_tmp = packed_data(ipack)
46165 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46166 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46167 1584078 : idata = idata + 1
46168 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46169 1584078 : ipack = ipack + 1
46170 1584078 : pack_tmp = packed_data(ipack)
46171 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46172 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46173 1584078 : idata = idata + 1
46174 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46175 1584078 : ipack = ipack + 1
46176 1584078 : pack_tmp = packed_data(ipack)
46177 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46178 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46179 1584078 : idata = idata + 1
46180 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46181 1584078 : ipack = ipack + 1
46182 1584078 : pack_tmp = packed_data(ipack)
46183 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46184 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46185 1584078 : idata = idata + 1
46186 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46187 1584078 : ipack = ipack + 1
46188 1584078 : pack_tmp = packed_data(ipack)
46189 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46190 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46191 1584078 : idata = idata + 1
46192 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46193 1584078 : ipack = ipack + 1
46194 1584078 : pack_tmp = packed_data(ipack)
46195 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46196 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46197 1584078 : idata = idata + 1
46198 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46199 1584078 : full_data(idata) = data_tmp
46200 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46201 1584078 : idata = idata + 1
46202 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46203 1584078 : ipack = ipack + 1
46204 1584078 : pack_tmp = packed_data(ipack)
46205 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46206 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46207 1584078 : idata = idata + 1
46208 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46209 1584078 : ipack = ipack + 1
46210 1584078 : pack_tmp = packed_data(ipack)
46211 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46212 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46213 1584078 : idata = idata + 1
46214 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46215 1584078 : ipack = ipack + 1
46216 1584078 : pack_tmp = packed_data(ipack)
46217 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46218 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46219 1584078 : idata = idata + 1
46220 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46221 1584078 : ipack = ipack + 1
46222 1584078 : pack_tmp = packed_data(ipack)
46223 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46224 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46225 1584078 : idata = idata + 1
46226 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46227 1584078 : ipack = ipack + 1
46228 1584078 : pack_tmp = packed_data(ipack)
46229 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46230 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46231 1584078 : idata = idata + 1
46232 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46233 1584078 : ipack = ipack + 1
46234 1584078 : pack_tmp = packed_data(ipack)
46235 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46236 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46237 1584078 : idata = idata + 1
46238 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46239 1584078 : ipack = ipack + 1
46240 1584078 : pack_tmp = packed_data(ipack)
46241 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46242 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46243 1584078 : idata = idata + 1
46244 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46245 1584078 : full_data(idata) = data_tmp
46246 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46247 1584078 : idata = idata + 1
46248 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46249 1584078 : ipack = ipack + 1
46250 1584078 : pack_tmp = packed_data(ipack)
46251 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46252 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46253 1584078 : idata = idata + 1
46254 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46255 1584078 : ipack = ipack + 1
46256 1584078 : pack_tmp = packed_data(ipack)
46257 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46258 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46259 1584078 : idata = idata + 1
46260 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46261 1584078 : ipack = ipack + 1
46262 1584078 : pack_tmp = packed_data(ipack)
46263 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46264 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46265 1584078 : idata = idata + 1
46266 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46267 1584078 : ipack = ipack + 1
46268 1584078 : pack_tmp = packed_data(ipack)
46269 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46270 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46271 1584078 : idata = idata + 1
46272 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46273 1584078 : ipack = ipack + 1
46274 1584078 : pack_tmp = packed_data(ipack)
46275 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46276 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46277 1584078 : idata = idata + 1
46278 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46279 1584078 : ipack = ipack + 1
46280 1584078 : pack_tmp = packed_data(ipack)
46281 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46282 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46283 1584078 : idata = idata + 1
46284 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46285 1584078 : ipack = ipack + 1
46286 1584078 : pack_tmp = packed_data(ipack)
46287 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46288 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46289 1584078 : idata = idata + 1
46290 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46291 1584078 : full_data(idata) = data_tmp
46292 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46293 1584078 : idata = idata + 1
46294 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46295 1584078 : ipack = ipack + 1
46296 1584078 : pack_tmp = packed_data(ipack)
46297 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46298 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46299 1584078 : idata = idata + 1
46300 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46301 1584078 : ipack = ipack + 1
46302 1584078 : pack_tmp = packed_data(ipack)
46303 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46304 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46305 1584078 : idata = idata + 1
46306 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46307 1584078 : ipack = ipack + 1
46308 1584078 : pack_tmp = packed_data(ipack)
46309 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46310 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46311 1584078 : idata = idata + 1
46312 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46313 1584078 : ipack = ipack + 1
46314 1584078 : pack_tmp = packed_data(ipack)
46315 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46316 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46317 1584078 : idata = idata + 1
46318 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46319 1584078 : ipack = ipack + 1
46320 1584078 : pack_tmp = packed_data(ipack)
46321 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46322 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46323 1584078 : idata = idata + 1
46324 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46325 1584078 : ipack = ipack + 1
46326 1584078 : pack_tmp = packed_data(ipack)
46327 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46328 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46329 1584078 : idata = idata + 1
46330 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46331 1584078 : ipack = ipack + 1
46332 1584078 : pack_tmp = packed_data(ipack)
46333 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46334 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46335 1584078 : idata = idata + 1
46336 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46337 1584078 : full_data(idata) = data_tmp
46338 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46339 1584078 : idata = idata + 1
46340 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46341 1584078 : ipack = ipack + 1
46342 1584078 : pack_tmp = packed_data(ipack)
46343 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46344 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46345 1584078 : idata = idata + 1
46346 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46347 1584078 : ipack = ipack + 1
46348 1584078 : pack_tmp = packed_data(ipack)
46349 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46350 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46351 1584078 : idata = idata + 1
46352 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46353 1584078 : ipack = ipack + 1
46354 1584078 : pack_tmp = packed_data(ipack)
46355 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46356 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46357 1584078 : idata = idata + 1
46358 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46359 1584078 : ipack = ipack + 1
46360 1584078 : pack_tmp = packed_data(ipack)
46361 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46362 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46363 1584078 : idata = idata + 1
46364 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46365 1584078 : ipack = ipack + 1
46366 1584078 : pack_tmp = packed_data(ipack)
46367 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46368 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46369 1584078 : idata = idata + 1
46370 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46371 1584078 : ipack = ipack + 1
46372 1584078 : pack_tmp = packed_data(ipack)
46373 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46374 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46375 1584078 : idata = idata + 1
46376 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46377 1584078 : ipack = ipack + 1
46378 1584078 : pack_tmp = packed_data(ipack)
46379 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46380 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46381 1584078 : idata = idata + 1
46382 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46383 1584078 : full_data(idata) = data_tmp
46384 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46385 1584078 : idata = idata + 1
46386 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46387 1584078 : ipack = ipack + 1
46388 1584078 : pack_tmp = packed_data(ipack)
46389 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46390 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46391 1584078 : idata = idata + 1
46392 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46393 1584078 : ipack = ipack + 1
46394 1584078 : pack_tmp = packed_data(ipack)
46395 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46396 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46397 1584078 : idata = idata + 1
46398 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46399 1584078 : ipack = ipack + 1
46400 1584078 : pack_tmp = packed_data(ipack)
46401 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46402 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46403 1584078 : idata = idata + 1
46404 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46405 1584078 : ipack = ipack + 1
46406 1584078 : pack_tmp = packed_data(ipack)
46407 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46408 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46409 1584078 : idata = idata + 1
46410 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46411 1584078 : ipack = ipack + 1
46412 1584078 : pack_tmp = packed_data(ipack)
46413 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46414 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46415 1584078 : idata = idata + 1
46416 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46417 1584078 : ipack = ipack + 1
46418 1584078 : pack_tmp = packed_data(ipack)
46419 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46420 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46421 1584078 : idata = idata + 1
46422 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46423 1584078 : ipack = ipack + 1
46424 1584078 : pack_tmp = packed_data(ipack)
46425 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46426 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46427 1584078 : idata = idata + 1
46428 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46429 1584078 : full_data(idata) = data_tmp
46430 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46431 1584078 : idata = idata + 1
46432 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46433 1584078 : ipack = ipack + 1
46434 1584078 : pack_tmp = packed_data(ipack)
46435 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46436 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46437 1584078 : idata = idata + 1
46438 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46439 1584078 : ipack = ipack + 1
46440 1584078 : pack_tmp = packed_data(ipack)
46441 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46442 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46443 1584078 : idata = idata + 1
46444 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46445 1584078 : ipack = ipack + 1
46446 1584078 : pack_tmp = packed_data(ipack)
46447 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46448 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46449 1584078 : idata = idata + 1
46450 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46451 1584078 : ipack = ipack + 1
46452 1584078 : pack_tmp = packed_data(ipack)
46453 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46454 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46455 1584078 : idata = idata + 1
46456 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46457 1584078 : ipack = ipack + 1
46458 1584078 : pack_tmp = packed_data(ipack)
46459 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46460 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46461 1584078 : idata = idata + 1
46462 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46463 1584078 : ipack = ipack + 1
46464 1584078 : pack_tmp = packed_data(ipack)
46465 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46466 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46467 1584078 : idata = idata + 1
46468 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46469 1584078 : ipack = ipack + 1
46470 1584078 : pack_tmp = packed_data(ipack)
46471 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46472 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46473 1584078 : idata = idata + 1
46474 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46475 1584078 : full_data(idata) = data_tmp
46476 1584078 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46477 1584078 : idata = idata + 1
46478 1584078 : data_tmp = ISHFT(pack_tmp, 56)
46479 1584078 : ipack = ipack + 1
46480 1584078 : pack_tmp = packed_data(ipack)
46481 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46482 1584078 : pack_tmp = ISHFT(pack_tmp, -56)
46483 1584078 : idata = idata + 1
46484 1584078 : data_tmp = ISHFT(pack_tmp, 48)
46485 1584078 : ipack = ipack + 1
46486 1584078 : pack_tmp = packed_data(ipack)
46487 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46488 1584078 : pack_tmp = ISHFT(pack_tmp, -48)
46489 1584078 : idata = idata + 1
46490 1584078 : data_tmp = ISHFT(pack_tmp, 40)
46491 1584078 : ipack = ipack + 1
46492 1584078 : pack_tmp = packed_data(ipack)
46493 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46494 1584078 : pack_tmp = ISHFT(pack_tmp, -40)
46495 1584078 : idata = idata + 1
46496 1584078 : data_tmp = ISHFT(pack_tmp, 32)
46497 1584078 : ipack = ipack + 1
46498 1584078 : pack_tmp = packed_data(ipack)
46499 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46500 1584078 : pack_tmp = ISHFT(pack_tmp, -32)
46501 1584078 : idata = idata + 1
46502 1584078 : data_tmp = ISHFT(pack_tmp, 24)
46503 1584078 : ipack = ipack + 1
46504 1584078 : pack_tmp = packed_data(ipack)
46505 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46506 1584078 : pack_tmp = ISHFT(pack_tmp, -24)
46507 1584078 : idata = idata + 1
46508 1584078 : data_tmp = ISHFT(pack_tmp, 16)
46509 1584078 : ipack = ipack + 1
46510 1584078 : pack_tmp = packed_data(ipack)
46511 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46512 1584078 : pack_tmp = ISHFT(pack_tmp, -16)
46513 1584078 : idata = idata + 1
46514 1584078 : data_tmp = ISHFT(pack_tmp, 8)
46515 1584078 : ipack = ipack + 1
46516 1584078 : pack_tmp = packed_data(ipack)
46517 1584078 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46518 1584078 : pack_tmp = ISHFT(pack_tmp, -8)
46519 1584078 : idata = idata + 1
46520 1584078 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46521 1584078 : full_data(idata) = data_tmp
46522 1584444 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46523 : END DO
46524 102645 : 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 102645 : END SUBROUTINE bits2ints_56
46528 :
46529 : ! **************************************************************************************************
46530 : !> \brief ...
46531 : !> \param Ndata ...
46532 : !> \param packed_data ...
46533 : !> \param full_data ...
46534 : ! **************************************************************************************************
46535 23738 : 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 23738 : idata = 0
46546 23738 : ipack = 0
46547 23738 : Ndata_rep = (Ndata/64)*64
46548 23738 : DO kdata = 1, Ndata_rep, 64
46549 379298 : pack_tmp = 0
46550 379298 : idata = idata + 1
46551 379298 : data_tmp = full_data(idata)
46552 379298 : data_tmp = ISHFT(data_tmp, 7)
46553 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46554 379298 : pack_tmp = ISHFT(pack_tmp, -7)
46555 379298 : idata = idata + 1
46556 379298 : data_tmp = full_data(idata)
46557 379298 : data_tmp = ISHFT(data_tmp, 7)
46558 379298 : data_tmp = IAND(data_tmp, mask_left(7))
46559 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46560 379298 : ipack = ipack + 1
46561 379298 : packed_data(ipack) = pack_tmp
46562 379298 : data_tmp = full_data(idata)
46563 379298 : pack_tmp = ISHFT(data_tmp, 14)
46564 379298 : pack_tmp = ISHFT(pack_tmp, -14)
46565 379298 : idata = idata + 1
46566 379298 : data_tmp = full_data(idata)
46567 379298 : data_tmp = ISHFT(data_tmp, 7)
46568 379298 : data_tmp = IAND(data_tmp, mask_left(14))
46569 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46570 379298 : ipack = ipack + 1
46571 379298 : packed_data(ipack) = pack_tmp
46572 379298 : data_tmp = full_data(idata)
46573 379298 : pack_tmp = ISHFT(data_tmp, 21)
46574 379298 : pack_tmp = ISHFT(pack_tmp, -21)
46575 379298 : idata = idata + 1
46576 379298 : data_tmp = full_data(idata)
46577 379298 : data_tmp = ISHFT(data_tmp, 7)
46578 379298 : data_tmp = IAND(data_tmp, mask_left(21))
46579 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46580 379298 : ipack = ipack + 1
46581 379298 : packed_data(ipack) = pack_tmp
46582 379298 : data_tmp = full_data(idata)
46583 379298 : pack_tmp = ISHFT(data_tmp, 28)
46584 379298 : pack_tmp = ISHFT(pack_tmp, -28)
46585 379298 : idata = idata + 1
46586 379298 : data_tmp = full_data(idata)
46587 379298 : data_tmp = ISHFT(data_tmp, 7)
46588 379298 : data_tmp = IAND(data_tmp, mask_left(28))
46589 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46590 379298 : ipack = ipack + 1
46591 379298 : packed_data(ipack) = pack_tmp
46592 379298 : data_tmp = full_data(idata)
46593 379298 : pack_tmp = ISHFT(data_tmp, 35)
46594 379298 : pack_tmp = ISHFT(pack_tmp, -35)
46595 379298 : idata = idata + 1
46596 379298 : data_tmp = full_data(idata)
46597 379298 : data_tmp = ISHFT(data_tmp, 7)
46598 379298 : data_tmp = IAND(data_tmp, mask_left(35))
46599 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46600 379298 : ipack = ipack + 1
46601 379298 : packed_data(ipack) = pack_tmp
46602 379298 : data_tmp = full_data(idata)
46603 379298 : pack_tmp = ISHFT(data_tmp, 42)
46604 379298 : pack_tmp = ISHFT(pack_tmp, -42)
46605 379298 : idata = idata + 1
46606 379298 : data_tmp = full_data(idata)
46607 379298 : data_tmp = ISHFT(data_tmp, 7)
46608 379298 : data_tmp = IAND(data_tmp, mask_left(42))
46609 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46610 379298 : ipack = ipack + 1
46611 379298 : packed_data(ipack) = pack_tmp
46612 379298 : data_tmp = full_data(idata)
46613 379298 : pack_tmp = ISHFT(data_tmp, 49)
46614 379298 : pack_tmp = ISHFT(pack_tmp, -49)
46615 379298 : idata = idata + 1
46616 379298 : data_tmp = full_data(idata)
46617 379298 : data_tmp = ISHFT(data_tmp, 7)
46618 379298 : data_tmp = IAND(data_tmp, mask_left(49))
46619 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46620 379298 : ipack = ipack + 1
46621 379298 : packed_data(ipack) = pack_tmp
46622 379298 : data_tmp = full_data(idata)
46623 379298 : pack_tmp = ISHFT(data_tmp, 56)
46624 379298 : pack_tmp = ISHFT(pack_tmp, -56)
46625 379298 : idata = idata + 1
46626 379298 : data_tmp = full_data(idata)
46627 379298 : data_tmp = ISHFT(data_tmp, 7)
46628 379298 : data_tmp = IAND(data_tmp, mask_left(56))
46629 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46630 379298 : ipack = ipack + 1
46631 379298 : packed_data(ipack) = pack_tmp
46632 379298 : data_tmp = full_data(idata)
46633 379298 : pack_tmp = ISHFT(data_tmp, 63)
46634 379298 : pack_tmp = ISHFT(pack_tmp, -57)
46635 379298 : idata = idata + 1
46636 379298 : data_tmp = full_data(idata)
46637 379298 : data_tmp = ISHFT(data_tmp, 7)
46638 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46639 379298 : pack_tmp = ISHFT(pack_tmp, -6)
46640 379298 : idata = idata + 1
46641 379298 : data_tmp = full_data(idata)
46642 379298 : data_tmp = ISHFT(data_tmp, 7)
46643 379298 : data_tmp = IAND(data_tmp, mask_left(6))
46644 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46645 379298 : ipack = ipack + 1
46646 379298 : packed_data(ipack) = pack_tmp
46647 379298 : data_tmp = full_data(idata)
46648 379298 : pack_tmp = ISHFT(data_tmp, 13)
46649 379298 : pack_tmp = ISHFT(pack_tmp, -13)
46650 379298 : idata = idata + 1
46651 379298 : data_tmp = full_data(idata)
46652 379298 : data_tmp = ISHFT(data_tmp, 7)
46653 379298 : data_tmp = IAND(data_tmp, mask_left(13))
46654 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46655 379298 : ipack = ipack + 1
46656 379298 : packed_data(ipack) = pack_tmp
46657 379298 : data_tmp = full_data(idata)
46658 379298 : pack_tmp = ISHFT(data_tmp, 20)
46659 379298 : pack_tmp = ISHFT(pack_tmp, -20)
46660 379298 : idata = idata + 1
46661 379298 : data_tmp = full_data(idata)
46662 379298 : data_tmp = ISHFT(data_tmp, 7)
46663 379298 : data_tmp = IAND(data_tmp, mask_left(20))
46664 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46665 379298 : ipack = ipack + 1
46666 379298 : packed_data(ipack) = pack_tmp
46667 379298 : data_tmp = full_data(idata)
46668 379298 : pack_tmp = ISHFT(data_tmp, 27)
46669 379298 : pack_tmp = ISHFT(pack_tmp, -27)
46670 379298 : idata = idata + 1
46671 379298 : data_tmp = full_data(idata)
46672 379298 : data_tmp = ISHFT(data_tmp, 7)
46673 379298 : data_tmp = IAND(data_tmp, mask_left(27))
46674 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46675 379298 : ipack = ipack + 1
46676 379298 : packed_data(ipack) = pack_tmp
46677 379298 : data_tmp = full_data(idata)
46678 379298 : pack_tmp = ISHFT(data_tmp, 34)
46679 379298 : pack_tmp = ISHFT(pack_tmp, -34)
46680 379298 : idata = idata + 1
46681 379298 : data_tmp = full_data(idata)
46682 379298 : data_tmp = ISHFT(data_tmp, 7)
46683 379298 : data_tmp = IAND(data_tmp, mask_left(34))
46684 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46685 379298 : ipack = ipack + 1
46686 379298 : packed_data(ipack) = pack_tmp
46687 379298 : data_tmp = full_data(idata)
46688 379298 : pack_tmp = ISHFT(data_tmp, 41)
46689 379298 : pack_tmp = ISHFT(pack_tmp, -41)
46690 379298 : idata = idata + 1
46691 379298 : data_tmp = full_data(idata)
46692 379298 : data_tmp = ISHFT(data_tmp, 7)
46693 379298 : data_tmp = IAND(data_tmp, mask_left(41))
46694 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46695 379298 : ipack = ipack + 1
46696 379298 : packed_data(ipack) = pack_tmp
46697 379298 : data_tmp = full_data(idata)
46698 379298 : pack_tmp = ISHFT(data_tmp, 48)
46699 379298 : pack_tmp = ISHFT(pack_tmp, -48)
46700 379298 : idata = idata + 1
46701 379298 : data_tmp = full_data(idata)
46702 379298 : data_tmp = ISHFT(data_tmp, 7)
46703 379298 : data_tmp = IAND(data_tmp, mask_left(48))
46704 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46705 379298 : ipack = ipack + 1
46706 379298 : packed_data(ipack) = pack_tmp
46707 379298 : data_tmp = full_data(idata)
46708 379298 : pack_tmp = ISHFT(data_tmp, 55)
46709 379298 : pack_tmp = ISHFT(pack_tmp, -55)
46710 379298 : idata = idata + 1
46711 379298 : data_tmp = full_data(idata)
46712 379298 : data_tmp = ISHFT(data_tmp, 7)
46713 379298 : data_tmp = IAND(data_tmp, mask_left(55))
46714 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46715 379298 : ipack = ipack + 1
46716 379298 : packed_data(ipack) = pack_tmp
46717 379298 : data_tmp = full_data(idata)
46718 379298 : pack_tmp = ISHFT(data_tmp, 62)
46719 379298 : pack_tmp = ISHFT(pack_tmp, -57)
46720 379298 : idata = idata + 1
46721 379298 : data_tmp = full_data(idata)
46722 379298 : data_tmp = ISHFT(data_tmp, 7)
46723 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46724 379298 : pack_tmp = ISHFT(pack_tmp, -5)
46725 379298 : idata = idata + 1
46726 379298 : data_tmp = full_data(idata)
46727 379298 : data_tmp = ISHFT(data_tmp, 7)
46728 379298 : data_tmp = IAND(data_tmp, mask_left(5))
46729 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46730 379298 : ipack = ipack + 1
46731 379298 : packed_data(ipack) = pack_tmp
46732 379298 : data_tmp = full_data(idata)
46733 379298 : pack_tmp = ISHFT(data_tmp, 12)
46734 379298 : pack_tmp = ISHFT(pack_tmp, -12)
46735 379298 : idata = idata + 1
46736 379298 : data_tmp = full_data(idata)
46737 379298 : data_tmp = ISHFT(data_tmp, 7)
46738 379298 : data_tmp = IAND(data_tmp, mask_left(12))
46739 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46740 379298 : ipack = ipack + 1
46741 379298 : packed_data(ipack) = pack_tmp
46742 379298 : data_tmp = full_data(idata)
46743 379298 : pack_tmp = ISHFT(data_tmp, 19)
46744 379298 : pack_tmp = ISHFT(pack_tmp, -19)
46745 379298 : idata = idata + 1
46746 379298 : data_tmp = full_data(idata)
46747 379298 : data_tmp = ISHFT(data_tmp, 7)
46748 379298 : data_tmp = IAND(data_tmp, mask_left(19))
46749 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46750 379298 : ipack = ipack + 1
46751 379298 : packed_data(ipack) = pack_tmp
46752 379298 : data_tmp = full_data(idata)
46753 379298 : pack_tmp = ISHFT(data_tmp, 26)
46754 379298 : pack_tmp = ISHFT(pack_tmp, -26)
46755 379298 : idata = idata + 1
46756 379298 : data_tmp = full_data(idata)
46757 379298 : data_tmp = ISHFT(data_tmp, 7)
46758 379298 : data_tmp = IAND(data_tmp, mask_left(26))
46759 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46760 379298 : ipack = ipack + 1
46761 379298 : packed_data(ipack) = pack_tmp
46762 379298 : data_tmp = full_data(idata)
46763 379298 : pack_tmp = ISHFT(data_tmp, 33)
46764 379298 : pack_tmp = ISHFT(pack_tmp, -33)
46765 379298 : idata = idata + 1
46766 379298 : data_tmp = full_data(idata)
46767 379298 : data_tmp = ISHFT(data_tmp, 7)
46768 379298 : data_tmp = IAND(data_tmp, mask_left(33))
46769 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46770 379298 : ipack = ipack + 1
46771 379298 : packed_data(ipack) = pack_tmp
46772 379298 : data_tmp = full_data(idata)
46773 379298 : pack_tmp = ISHFT(data_tmp, 40)
46774 379298 : pack_tmp = ISHFT(pack_tmp, -40)
46775 379298 : idata = idata + 1
46776 379298 : data_tmp = full_data(idata)
46777 379298 : data_tmp = ISHFT(data_tmp, 7)
46778 379298 : data_tmp = IAND(data_tmp, mask_left(40))
46779 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46780 379298 : ipack = ipack + 1
46781 379298 : packed_data(ipack) = pack_tmp
46782 379298 : data_tmp = full_data(idata)
46783 379298 : pack_tmp = ISHFT(data_tmp, 47)
46784 379298 : pack_tmp = ISHFT(pack_tmp, -47)
46785 379298 : idata = idata + 1
46786 379298 : data_tmp = full_data(idata)
46787 379298 : data_tmp = ISHFT(data_tmp, 7)
46788 379298 : data_tmp = IAND(data_tmp, mask_left(47))
46789 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46790 379298 : ipack = ipack + 1
46791 379298 : packed_data(ipack) = pack_tmp
46792 379298 : data_tmp = full_data(idata)
46793 379298 : pack_tmp = ISHFT(data_tmp, 54)
46794 379298 : pack_tmp = ISHFT(pack_tmp, -54)
46795 379298 : idata = idata + 1
46796 379298 : data_tmp = full_data(idata)
46797 379298 : data_tmp = ISHFT(data_tmp, 7)
46798 379298 : data_tmp = IAND(data_tmp, mask_left(54))
46799 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46800 379298 : ipack = ipack + 1
46801 379298 : packed_data(ipack) = pack_tmp
46802 379298 : data_tmp = full_data(idata)
46803 379298 : pack_tmp = ISHFT(data_tmp, 61)
46804 379298 : pack_tmp = ISHFT(pack_tmp, -57)
46805 379298 : idata = idata + 1
46806 379298 : data_tmp = full_data(idata)
46807 379298 : data_tmp = ISHFT(data_tmp, 7)
46808 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46809 379298 : pack_tmp = ISHFT(pack_tmp, -4)
46810 379298 : idata = idata + 1
46811 379298 : data_tmp = full_data(idata)
46812 379298 : data_tmp = ISHFT(data_tmp, 7)
46813 379298 : data_tmp = IAND(data_tmp, mask_left(4))
46814 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46815 379298 : ipack = ipack + 1
46816 379298 : packed_data(ipack) = pack_tmp
46817 379298 : data_tmp = full_data(idata)
46818 379298 : pack_tmp = ISHFT(data_tmp, 11)
46819 379298 : pack_tmp = ISHFT(pack_tmp, -11)
46820 379298 : idata = idata + 1
46821 379298 : data_tmp = full_data(idata)
46822 379298 : data_tmp = ISHFT(data_tmp, 7)
46823 379298 : data_tmp = IAND(data_tmp, mask_left(11))
46824 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46825 379298 : ipack = ipack + 1
46826 379298 : packed_data(ipack) = pack_tmp
46827 379298 : data_tmp = full_data(idata)
46828 379298 : pack_tmp = ISHFT(data_tmp, 18)
46829 379298 : pack_tmp = ISHFT(pack_tmp, -18)
46830 379298 : idata = idata + 1
46831 379298 : data_tmp = full_data(idata)
46832 379298 : data_tmp = ISHFT(data_tmp, 7)
46833 379298 : data_tmp = IAND(data_tmp, mask_left(18))
46834 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46835 379298 : ipack = ipack + 1
46836 379298 : packed_data(ipack) = pack_tmp
46837 379298 : data_tmp = full_data(idata)
46838 379298 : pack_tmp = ISHFT(data_tmp, 25)
46839 379298 : pack_tmp = ISHFT(pack_tmp, -25)
46840 379298 : idata = idata + 1
46841 379298 : data_tmp = full_data(idata)
46842 379298 : data_tmp = ISHFT(data_tmp, 7)
46843 379298 : data_tmp = IAND(data_tmp, mask_left(25))
46844 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46845 379298 : ipack = ipack + 1
46846 379298 : packed_data(ipack) = pack_tmp
46847 379298 : data_tmp = full_data(idata)
46848 379298 : pack_tmp = ISHFT(data_tmp, 32)
46849 379298 : pack_tmp = ISHFT(pack_tmp, -32)
46850 379298 : idata = idata + 1
46851 379298 : data_tmp = full_data(idata)
46852 379298 : data_tmp = ISHFT(data_tmp, 7)
46853 379298 : data_tmp = IAND(data_tmp, mask_left(32))
46854 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46855 379298 : ipack = ipack + 1
46856 379298 : packed_data(ipack) = pack_tmp
46857 379298 : data_tmp = full_data(idata)
46858 379298 : pack_tmp = ISHFT(data_tmp, 39)
46859 379298 : pack_tmp = ISHFT(pack_tmp, -39)
46860 379298 : idata = idata + 1
46861 379298 : data_tmp = full_data(idata)
46862 379298 : data_tmp = ISHFT(data_tmp, 7)
46863 379298 : data_tmp = IAND(data_tmp, mask_left(39))
46864 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46865 379298 : ipack = ipack + 1
46866 379298 : packed_data(ipack) = pack_tmp
46867 379298 : data_tmp = full_data(idata)
46868 379298 : pack_tmp = ISHFT(data_tmp, 46)
46869 379298 : pack_tmp = ISHFT(pack_tmp, -46)
46870 379298 : idata = idata + 1
46871 379298 : data_tmp = full_data(idata)
46872 379298 : data_tmp = ISHFT(data_tmp, 7)
46873 379298 : data_tmp = IAND(data_tmp, mask_left(46))
46874 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46875 379298 : ipack = ipack + 1
46876 379298 : packed_data(ipack) = pack_tmp
46877 379298 : data_tmp = full_data(idata)
46878 379298 : pack_tmp = ISHFT(data_tmp, 53)
46879 379298 : pack_tmp = ISHFT(pack_tmp, -53)
46880 379298 : idata = idata + 1
46881 379298 : data_tmp = full_data(idata)
46882 379298 : data_tmp = ISHFT(data_tmp, 7)
46883 379298 : data_tmp = IAND(data_tmp, mask_left(53))
46884 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46885 379298 : ipack = ipack + 1
46886 379298 : packed_data(ipack) = pack_tmp
46887 379298 : data_tmp = full_data(idata)
46888 379298 : pack_tmp = ISHFT(data_tmp, 60)
46889 379298 : pack_tmp = ISHFT(pack_tmp, -57)
46890 379298 : idata = idata + 1
46891 379298 : data_tmp = full_data(idata)
46892 379298 : data_tmp = ISHFT(data_tmp, 7)
46893 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46894 379298 : pack_tmp = ISHFT(pack_tmp, -3)
46895 379298 : idata = idata + 1
46896 379298 : data_tmp = full_data(idata)
46897 379298 : data_tmp = ISHFT(data_tmp, 7)
46898 379298 : data_tmp = IAND(data_tmp, mask_left(3))
46899 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46900 379298 : ipack = ipack + 1
46901 379298 : packed_data(ipack) = pack_tmp
46902 379298 : data_tmp = full_data(idata)
46903 379298 : pack_tmp = ISHFT(data_tmp, 10)
46904 379298 : pack_tmp = ISHFT(pack_tmp, -10)
46905 379298 : idata = idata + 1
46906 379298 : data_tmp = full_data(idata)
46907 379298 : data_tmp = ISHFT(data_tmp, 7)
46908 379298 : data_tmp = IAND(data_tmp, mask_left(10))
46909 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46910 379298 : ipack = ipack + 1
46911 379298 : packed_data(ipack) = pack_tmp
46912 379298 : data_tmp = full_data(idata)
46913 379298 : pack_tmp = ISHFT(data_tmp, 17)
46914 379298 : pack_tmp = ISHFT(pack_tmp, -17)
46915 379298 : idata = idata + 1
46916 379298 : data_tmp = full_data(idata)
46917 379298 : data_tmp = ISHFT(data_tmp, 7)
46918 379298 : data_tmp = IAND(data_tmp, mask_left(17))
46919 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46920 379298 : ipack = ipack + 1
46921 379298 : packed_data(ipack) = pack_tmp
46922 379298 : data_tmp = full_data(idata)
46923 379298 : pack_tmp = ISHFT(data_tmp, 24)
46924 379298 : pack_tmp = ISHFT(pack_tmp, -24)
46925 379298 : idata = idata + 1
46926 379298 : data_tmp = full_data(idata)
46927 379298 : data_tmp = ISHFT(data_tmp, 7)
46928 379298 : data_tmp = IAND(data_tmp, mask_left(24))
46929 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46930 379298 : ipack = ipack + 1
46931 379298 : packed_data(ipack) = pack_tmp
46932 379298 : data_tmp = full_data(idata)
46933 379298 : pack_tmp = ISHFT(data_tmp, 31)
46934 379298 : pack_tmp = ISHFT(pack_tmp, -31)
46935 379298 : idata = idata + 1
46936 379298 : data_tmp = full_data(idata)
46937 379298 : data_tmp = ISHFT(data_tmp, 7)
46938 379298 : data_tmp = IAND(data_tmp, mask_left(31))
46939 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46940 379298 : ipack = ipack + 1
46941 379298 : packed_data(ipack) = pack_tmp
46942 379298 : data_tmp = full_data(idata)
46943 379298 : pack_tmp = ISHFT(data_tmp, 38)
46944 379298 : pack_tmp = ISHFT(pack_tmp, -38)
46945 379298 : idata = idata + 1
46946 379298 : data_tmp = full_data(idata)
46947 379298 : data_tmp = ISHFT(data_tmp, 7)
46948 379298 : data_tmp = IAND(data_tmp, mask_left(38))
46949 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46950 379298 : ipack = ipack + 1
46951 379298 : packed_data(ipack) = pack_tmp
46952 379298 : data_tmp = full_data(idata)
46953 379298 : pack_tmp = ISHFT(data_tmp, 45)
46954 379298 : pack_tmp = ISHFT(pack_tmp, -45)
46955 379298 : idata = idata + 1
46956 379298 : data_tmp = full_data(idata)
46957 379298 : data_tmp = ISHFT(data_tmp, 7)
46958 379298 : data_tmp = IAND(data_tmp, mask_left(45))
46959 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46960 379298 : ipack = ipack + 1
46961 379298 : packed_data(ipack) = pack_tmp
46962 379298 : data_tmp = full_data(idata)
46963 379298 : pack_tmp = ISHFT(data_tmp, 52)
46964 379298 : pack_tmp = ISHFT(pack_tmp, -52)
46965 379298 : idata = idata + 1
46966 379298 : data_tmp = full_data(idata)
46967 379298 : data_tmp = ISHFT(data_tmp, 7)
46968 379298 : data_tmp = IAND(data_tmp, mask_left(52))
46969 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46970 379298 : ipack = ipack + 1
46971 379298 : packed_data(ipack) = pack_tmp
46972 379298 : data_tmp = full_data(idata)
46973 379298 : pack_tmp = ISHFT(data_tmp, 59)
46974 379298 : pack_tmp = ISHFT(pack_tmp, -57)
46975 379298 : idata = idata + 1
46976 379298 : data_tmp = full_data(idata)
46977 379298 : data_tmp = ISHFT(data_tmp, 7)
46978 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46979 379298 : pack_tmp = ISHFT(pack_tmp, -2)
46980 379298 : idata = idata + 1
46981 379298 : data_tmp = full_data(idata)
46982 379298 : data_tmp = ISHFT(data_tmp, 7)
46983 379298 : data_tmp = IAND(data_tmp, mask_left(2))
46984 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46985 379298 : ipack = ipack + 1
46986 379298 : packed_data(ipack) = pack_tmp
46987 379298 : data_tmp = full_data(idata)
46988 379298 : pack_tmp = ISHFT(data_tmp, 9)
46989 379298 : pack_tmp = ISHFT(pack_tmp, -9)
46990 379298 : idata = idata + 1
46991 379298 : data_tmp = full_data(idata)
46992 379298 : data_tmp = ISHFT(data_tmp, 7)
46993 379298 : data_tmp = IAND(data_tmp, mask_left(9))
46994 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
46995 379298 : ipack = ipack + 1
46996 379298 : packed_data(ipack) = pack_tmp
46997 379298 : data_tmp = full_data(idata)
46998 379298 : pack_tmp = ISHFT(data_tmp, 16)
46999 379298 : pack_tmp = ISHFT(pack_tmp, -16)
47000 379298 : idata = idata + 1
47001 379298 : data_tmp = full_data(idata)
47002 379298 : data_tmp = ISHFT(data_tmp, 7)
47003 379298 : data_tmp = IAND(data_tmp, mask_left(16))
47004 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47005 379298 : ipack = ipack + 1
47006 379298 : packed_data(ipack) = pack_tmp
47007 379298 : data_tmp = full_data(idata)
47008 379298 : pack_tmp = ISHFT(data_tmp, 23)
47009 379298 : pack_tmp = ISHFT(pack_tmp, -23)
47010 379298 : idata = idata + 1
47011 379298 : data_tmp = full_data(idata)
47012 379298 : data_tmp = ISHFT(data_tmp, 7)
47013 379298 : data_tmp = IAND(data_tmp, mask_left(23))
47014 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47015 379298 : ipack = ipack + 1
47016 379298 : packed_data(ipack) = pack_tmp
47017 379298 : data_tmp = full_data(idata)
47018 379298 : pack_tmp = ISHFT(data_tmp, 30)
47019 379298 : pack_tmp = ISHFT(pack_tmp, -30)
47020 379298 : idata = idata + 1
47021 379298 : data_tmp = full_data(idata)
47022 379298 : data_tmp = ISHFT(data_tmp, 7)
47023 379298 : data_tmp = IAND(data_tmp, mask_left(30))
47024 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47025 379298 : ipack = ipack + 1
47026 379298 : packed_data(ipack) = pack_tmp
47027 379298 : data_tmp = full_data(idata)
47028 379298 : pack_tmp = ISHFT(data_tmp, 37)
47029 379298 : pack_tmp = ISHFT(pack_tmp, -37)
47030 379298 : idata = idata + 1
47031 379298 : data_tmp = full_data(idata)
47032 379298 : data_tmp = ISHFT(data_tmp, 7)
47033 379298 : data_tmp = IAND(data_tmp, mask_left(37))
47034 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47035 379298 : ipack = ipack + 1
47036 379298 : packed_data(ipack) = pack_tmp
47037 379298 : data_tmp = full_data(idata)
47038 379298 : pack_tmp = ISHFT(data_tmp, 44)
47039 379298 : pack_tmp = ISHFT(pack_tmp, -44)
47040 379298 : idata = idata + 1
47041 379298 : data_tmp = full_data(idata)
47042 379298 : data_tmp = ISHFT(data_tmp, 7)
47043 379298 : data_tmp = IAND(data_tmp, mask_left(44))
47044 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47045 379298 : ipack = ipack + 1
47046 379298 : packed_data(ipack) = pack_tmp
47047 379298 : data_tmp = full_data(idata)
47048 379298 : pack_tmp = ISHFT(data_tmp, 51)
47049 379298 : pack_tmp = ISHFT(pack_tmp, -51)
47050 379298 : idata = idata + 1
47051 379298 : data_tmp = full_data(idata)
47052 379298 : data_tmp = ISHFT(data_tmp, 7)
47053 379298 : data_tmp = IAND(data_tmp, mask_left(51))
47054 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47055 379298 : ipack = ipack + 1
47056 379298 : packed_data(ipack) = pack_tmp
47057 379298 : data_tmp = full_data(idata)
47058 379298 : pack_tmp = ISHFT(data_tmp, 58)
47059 379298 : pack_tmp = ISHFT(pack_tmp, -57)
47060 379298 : idata = idata + 1
47061 379298 : data_tmp = full_data(idata)
47062 379298 : data_tmp = ISHFT(data_tmp, 7)
47063 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47064 379298 : pack_tmp = ISHFT(pack_tmp, -1)
47065 379298 : idata = idata + 1
47066 379298 : data_tmp = full_data(idata)
47067 379298 : data_tmp = ISHFT(data_tmp, 7)
47068 379298 : data_tmp = IAND(data_tmp, mask_left(1))
47069 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47070 379298 : ipack = ipack + 1
47071 379298 : packed_data(ipack) = pack_tmp
47072 379298 : data_tmp = full_data(idata)
47073 379298 : pack_tmp = ISHFT(data_tmp, 8)
47074 379298 : pack_tmp = ISHFT(pack_tmp, -8)
47075 379298 : idata = idata + 1
47076 379298 : data_tmp = full_data(idata)
47077 379298 : data_tmp = ISHFT(data_tmp, 7)
47078 379298 : data_tmp = IAND(data_tmp, mask_left(8))
47079 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47080 379298 : ipack = ipack + 1
47081 379298 : packed_data(ipack) = pack_tmp
47082 379298 : data_tmp = full_data(idata)
47083 379298 : pack_tmp = ISHFT(data_tmp, 15)
47084 379298 : pack_tmp = ISHFT(pack_tmp, -15)
47085 379298 : idata = idata + 1
47086 379298 : data_tmp = full_data(idata)
47087 379298 : data_tmp = ISHFT(data_tmp, 7)
47088 379298 : data_tmp = IAND(data_tmp, mask_left(15))
47089 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47090 379298 : ipack = ipack + 1
47091 379298 : packed_data(ipack) = pack_tmp
47092 379298 : data_tmp = full_data(idata)
47093 379298 : pack_tmp = ISHFT(data_tmp, 22)
47094 379298 : pack_tmp = ISHFT(pack_tmp, -22)
47095 379298 : idata = idata + 1
47096 379298 : data_tmp = full_data(idata)
47097 379298 : data_tmp = ISHFT(data_tmp, 7)
47098 379298 : data_tmp = IAND(data_tmp, mask_left(22))
47099 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47100 379298 : ipack = ipack + 1
47101 379298 : packed_data(ipack) = pack_tmp
47102 379298 : data_tmp = full_data(idata)
47103 379298 : pack_tmp = ISHFT(data_tmp, 29)
47104 379298 : pack_tmp = ISHFT(pack_tmp, -29)
47105 379298 : idata = idata + 1
47106 379298 : data_tmp = full_data(idata)
47107 379298 : data_tmp = ISHFT(data_tmp, 7)
47108 379298 : data_tmp = IAND(data_tmp, mask_left(29))
47109 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47110 379298 : ipack = ipack + 1
47111 379298 : packed_data(ipack) = pack_tmp
47112 379298 : data_tmp = full_data(idata)
47113 379298 : pack_tmp = ISHFT(data_tmp, 36)
47114 379298 : pack_tmp = ISHFT(pack_tmp, -36)
47115 379298 : idata = idata + 1
47116 379298 : data_tmp = full_data(idata)
47117 379298 : data_tmp = ISHFT(data_tmp, 7)
47118 379298 : data_tmp = IAND(data_tmp, mask_left(36))
47119 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47120 379298 : ipack = ipack + 1
47121 379298 : packed_data(ipack) = pack_tmp
47122 379298 : data_tmp = full_data(idata)
47123 379298 : pack_tmp = ISHFT(data_tmp, 43)
47124 379298 : pack_tmp = ISHFT(pack_tmp, -43)
47125 379298 : idata = idata + 1
47126 379298 : data_tmp = full_data(idata)
47127 379298 : data_tmp = ISHFT(data_tmp, 7)
47128 379298 : data_tmp = IAND(data_tmp, mask_left(43))
47129 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47130 379298 : ipack = ipack + 1
47131 379298 : packed_data(ipack) = pack_tmp
47132 379298 : data_tmp = full_data(idata)
47133 379298 : pack_tmp = ISHFT(data_tmp, 50)
47134 379298 : pack_tmp = ISHFT(pack_tmp, -50)
47135 379298 : idata = idata + 1
47136 379298 : data_tmp = full_data(idata)
47137 379298 : data_tmp = ISHFT(data_tmp, 7)
47138 379298 : data_tmp = IAND(data_tmp, mask_left(50))
47139 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47140 379298 : ipack = ipack + 1
47141 379298 : packed_data(ipack) = pack_tmp
47142 379298 : data_tmp = full_data(idata)
47143 379298 : pack_tmp = ISHFT(data_tmp, 57)
47144 379298 : pack_tmp = ISHFT(pack_tmp, -57)
47145 379298 : idata = idata + 1
47146 379298 : data_tmp = full_data(idata)
47147 379298 : data_tmp = ISHFT(data_tmp, 7)
47148 379298 : pack_tmp = IOR(pack_tmp, data_tmp)
47149 : pack_tmp = ISHFT(pack_tmp, 0)
47150 379298 : pack_tmp = ISHFT(pack_tmp, 0)
47151 379298 : ipack = ipack + 1
47152 379300 : packed_data(ipack) = pack_tmp
47153 : END DO
47154 23738 : 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 23738 : END SUBROUTINE ints2bits_57
47158 :
47159 : ! **************************************************************************************************
47160 : !> \brief ...
47161 : !> \param Ndata ...
47162 : !> \param packed_data ...
47163 : !> \param full_data ...
47164 : ! **************************************************************************************************
47165 98969 : 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 98969 : ipack = 0
47176 98969 : idata = 0
47177 98969 : pack_tmp = 0
47178 98969 : Ndata_rep = (Ndata/64)*64
47179 98969 : DO kdata = 1, Ndata_rep, 64
47180 1554434 : idata = idata + 1
47181 1554434 : data_tmp = ISHFT(pack_tmp, 57)
47182 1554434 : ipack = ipack + 1
47183 1554434 : pack_tmp = packed_data(ipack)
47184 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
47185 1554434 : pack_tmp = ISHFT(pack_tmp, -57)
47186 1554434 : idata = idata + 1
47187 1554434 : data_tmp = ISHFT(pack_tmp, 50)
47188 1554434 : ipack = ipack + 1
47189 1554434 : pack_tmp = packed_data(ipack)
47190 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
47191 1554434 : pack_tmp = ISHFT(pack_tmp, -50)
47192 1554434 : idata = idata + 1
47193 1554434 : data_tmp = ISHFT(pack_tmp, 43)
47194 1554434 : ipack = ipack + 1
47195 1554434 : pack_tmp = packed_data(ipack)
47196 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
47197 1554434 : pack_tmp = ISHFT(pack_tmp, -43)
47198 1554434 : idata = idata + 1
47199 1554434 : data_tmp = ISHFT(pack_tmp, 36)
47200 1554434 : ipack = ipack + 1
47201 1554434 : pack_tmp = packed_data(ipack)
47202 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
47203 1554434 : pack_tmp = ISHFT(pack_tmp, -36)
47204 1554434 : idata = idata + 1
47205 1554434 : data_tmp = ISHFT(pack_tmp, 29)
47206 1554434 : ipack = ipack + 1
47207 1554434 : pack_tmp = packed_data(ipack)
47208 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
47209 1554434 : pack_tmp = ISHFT(pack_tmp, -29)
47210 1554434 : idata = idata + 1
47211 1554434 : data_tmp = ISHFT(pack_tmp, 22)
47212 1554434 : ipack = ipack + 1
47213 1554434 : pack_tmp = packed_data(ipack)
47214 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
47215 1554434 : pack_tmp = ISHFT(pack_tmp, -22)
47216 1554434 : idata = idata + 1
47217 1554434 : data_tmp = ISHFT(pack_tmp, 15)
47218 1554434 : ipack = ipack + 1
47219 1554434 : pack_tmp = packed_data(ipack)
47220 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
47221 1554434 : pack_tmp = ISHFT(pack_tmp, -15)
47222 1554434 : idata = idata + 1
47223 1554434 : data_tmp = ISHFT(pack_tmp, 8)
47224 1554434 : ipack = ipack + 1
47225 1554434 : pack_tmp = packed_data(ipack)
47226 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
47227 1554434 : pack_tmp = ISHFT(pack_tmp, -8)
47228 1554434 : idata = idata + 1
47229 1554434 : data_tmp = ISHFT(pack_tmp, 1)
47230 1554434 : ipack = ipack + 1
47231 1554434 : pack_tmp = packed_data(ipack)
47232 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
47233 1554434 : pack_tmp = ISHFT(pack_tmp, -1)
47234 1554434 : idata = idata + 1
47235 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47236 1554434 : full_data(idata) = data_tmp
47237 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47238 1554434 : idata = idata + 1
47239 1554434 : data_tmp = ISHFT(pack_tmp, 51)
47240 1554434 : ipack = ipack + 1
47241 1554434 : pack_tmp = packed_data(ipack)
47242 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
47243 1554434 : pack_tmp = ISHFT(pack_tmp, -51)
47244 1554434 : idata = idata + 1
47245 1554434 : data_tmp = ISHFT(pack_tmp, 44)
47246 1554434 : ipack = ipack + 1
47247 1554434 : pack_tmp = packed_data(ipack)
47248 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
47249 1554434 : pack_tmp = ISHFT(pack_tmp, -44)
47250 1554434 : idata = idata + 1
47251 1554434 : data_tmp = ISHFT(pack_tmp, 37)
47252 1554434 : ipack = ipack + 1
47253 1554434 : pack_tmp = packed_data(ipack)
47254 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
47255 1554434 : pack_tmp = ISHFT(pack_tmp, -37)
47256 1554434 : idata = idata + 1
47257 1554434 : data_tmp = ISHFT(pack_tmp, 30)
47258 1554434 : ipack = ipack + 1
47259 1554434 : pack_tmp = packed_data(ipack)
47260 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
47261 1554434 : pack_tmp = ISHFT(pack_tmp, -30)
47262 1554434 : idata = idata + 1
47263 1554434 : data_tmp = ISHFT(pack_tmp, 23)
47264 1554434 : ipack = ipack + 1
47265 1554434 : pack_tmp = packed_data(ipack)
47266 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
47267 1554434 : pack_tmp = ISHFT(pack_tmp, -23)
47268 1554434 : idata = idata + 1
47269 1554434 : data_tmp = ISHFT(pack_tmp, 16)
47270 1554434 : ipack = ipack + 1
47271 1554434 : pack_tmp = packed_data(ipack)
47272 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
47273 1554434 : pack_tmp = ISHFT(pack_tmp, -16)
47274 1554434 : idata = idata + 1
47275 1554434 : data_tmp = ISHFT(pack_tmp, 9)
47276 1554434 : ipack = ipack + 1
47277 1554434 : pack_tmp = packed_data(ipack)
47278 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
47279 1554434 : pack_tmp = ISHFT(pack_tmp, -9)
47280 1554434 : idata = idata + 1
47281 1554434 : data_tmp = ISHFT(pack_tmp, 2)
47282 1554434 : ipack = ipack + 1
47283 1554434 : pack_tmp = packed_data(ipack)
47284 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
47285 1554434 : pack_tmp = ISHFT(pack_tmp, -2)
47286 1554434 : idata = idata + 1
47287 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47288 1554434 : full_data(idata) = data_tmp
47289 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47290 1554434 : idata = idata + 1
47291 1554434 : data_tmp = ISHFT(pack_tmp, 52)
47292 1554434 : ipack = ipack + 1
47293 1554434 : pack_tmp = packed_data(ipack)
47294 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
47295 1554434 : pack_tmp = ISHFT(pack_tmp, -52)
47296 1554434 : idata = idata + 1
47297 1554434 : data_tmp = ISHFT(pack_tmp, 45)
47298 1554434 : ipack = ipack + 1
47299 1554434 : pack_tmp = packed_data(ipack)
47300 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
47301 1554434 : pack_tmp = ISHFT(pack_tmp, -45)
47302 1554434 : idata = idata + 1
47303 1554434 : data_tmp = ISHFT(pack_tmp, 38)
47304 1554434 : ipack = ipack + 1
47305 1554434 : pack_tmp = packed_data(ipack)
47306 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
47307 1554434 : pack_tmp = ISHFT(pack_tmp, -38)
47308 1554434 : idata = idata + 1
47309 1554434 : data_tmp = ISHFT(pack_tmp, 31)
47310 1554434 : ipack = ipack + 1
47311 1554434 : pack_tmp = packed_data(ipack)
47312 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
47313 1554434 : pack_tmp = ISHFT(pack_tmp, -31)
47314 1554434 : idata = idata + 1
47315 1554434 : data_tmp = ISHFT(pack_tmp, 24)
47316 1554434 : ipack = ipack + 1
47317 1554434 : pack_tmp = packed_data(ipack)
47318 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
47319 1554434 : pack_tmp = ISHFT(pack_tmp, -24)
47320 1554434 : idata = idata + 1
47321 1554434 : data_tmp = ISHFT(pack_tmp, 17)
47322 1554434 : ipack = ipack + 1
47323 1554434 : pack_tmp = packed_data(ipack)
47324 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
47325 1554434 : pack_tmp = ISHFT(pack_tmp, -17)
47326 1554434 : idata = idata + 1
47327 1554434 : data_tmp = ISHFT(pack_tmp, 10)
47328 1554434 : ipack = ipack + 1
47329 1554434 : pack_tmp = packed_data(ipack)
47330 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
47331 1554434 : pack_tmp = ISHFT(pack_tmp, -10)
47332 1554434 : idata = idata + 1
47333 1554434 : data_tmp = ISHFT(pack_tmp, 3)
47334 1554434 : ipack = ipack + 1
47335 1554434 : pack_tmp = packed_data(ipack)
47336 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
47337 1554434 : pack_tmp = ISHFT(pack_tmp, -3)
47338 1554434 : idata = idata + 1
47339 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47340 1554434 : full_data(idata) = data_tmp
47341 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47342 1554434 : idata = idata + 1
47343 1554434 : data_tmp = ISHFT(pack_tmp, 53)
47344 1554434 : ipack = ipack + 1
47345 1554434 : pack_tmp = packed_data(ipack)
47346 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
47347 1554434 : pack_tmp = ISHFT(pack_tmp, -53)
47348 1554434 : idata = idata + 1
47349 1554434 : data_tmp = ISHFT(pack_tmp, 46)
47350 1554434 : ipack = ipack + 1
47351 1554434 : pack_tmp = packed_data(ipack)
47352 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
47353 1554434 : pack_tmp = ISHFT(pack_tmp, -46)
47354 1554434 : idata = idata + 1
47355 1554434 : data_tmp = ISHFT(pack_tmp, 39)
47356 1554434 : ipack = ipack + 1
47357 1554434 : pack_tmp = packed_data(ipack)
47358 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
47359 1554434 : pack_tmp = ISHFT(pack_tmp, -39)
47360 1554434 : idata = idata + 1
47361 1554434 : data_tmp = ISHFT(pack_tmp, 32)
47362 1554434 : ipack = ipack + 1
47363 1554434 : pack_tmp = packed_data(ipack)
47364 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
47365 1554434 : pack_tmp = ISHFT(pack_tmp, -32)
47366 1554434 : idata = idata + 1
47367 1554434 : data_tmp = ISHFT(pack_tmp, 25)
47368 1554434 : ipack = ipack + 1
47369 1554434 : pack_tmp = packed_data(ipack)
47370 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
47371 1554434 : pack_tmp = ISHFT(pack_tmp, -25)
47372 1554434 : idata = idata + 1
47373 1554434 : data_tmp = ISHFT(pack_tmp, 18)
47374 1554434 : ipack = ipack + 1
47375 1554434 : pack_tmp = packed_data(ipack)
47376 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
47377 1554434 : pack_tmp = ISHFT(pack_tmp, -18)
47378 1554434 : idata = idata + 1
47379 1554434 : data_tmp = ISHFT(pack_tmp, 11)
47380 1554434 : ipack = ipack + 1
47381 1554434 : pack_tmp = packed_data(ipack)
47382 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
47383 1554434 : pack_tmp = ISHFT(pack_tmp, -11)
47384 1554434 : idata = idata + 1
47385 1554434 : data_tmp = ISHFT(pack_tmp, 4)
47386 1554434 : ipack = ipack + 1
47387 1554434 : pack_tmp = packed_data(ipack)
47388 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
47389 1554434 : pack_tmp = ISHFT(pack_tmp, -4)
47390 1554434 : idata = idata + 1
47391 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47392 1554434 : full_data(idata) = data_tmp
47393 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47394 1554434 : idata = idata + 1
47395 1554434 : data_tmp = ISHFT(pack_tmp, 54)
47396 1554434 : ipack = ipack + 1
47397 1554434 : pack_tmp = packed_data(ipack)
47398 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
47399 1554434 : pack_tmp = ISHFT(pack_tmp, -54)
47400 1554434 : idata = idata + 1
47401 1554434 : data_tmp = ISHFT(pack_tmp, 47)
47402 1554434 : ipack = ipack + 1
47403 1554434 : pack_tmp = packed_data(ipack)
47404 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
47405 1554434 : pack_tmp = ISHFT(pack_tmp, -47)
47406 1554434 : idata = idata + 1
47407 1554434 : data_tmp = ISHFT(pack_tmp, 40)
47408 1554434 : ipack = ipack + 1
47409 1554434 : pack_tmp = packed_data(ipack)
47410 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
47411 1554434 : pack_tmp = ISHFT(pack_tmp, -40)
47412 1554434 : idata = idata + 1
47413 1554434 : data_tmp = ISHFT(pack_tmp, 33)
47414 1554434 : ipack = ipack + 1
47415 1554434 : pack_tmp = packed_data(ipack)
47416 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
47417 1554434 : pack_tmp = ISHFT(pack_tmp, -33)
47418 1554434 : idata = idata + 1
47419 1554434 : data_tmp = ISHFT(pack_tmp, 26)
47420 1554434 : ipack = ipack + 1
47421 1554434 : pack_tmp = packed_data(ipack)
47422 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
47423 1554434 : pack_tmp = ISHFT(pack_tmp, -26)
47424 1554434 : idata = idata + 1
47425 1554434 : data_tmp = ISHFT(pack_tmp, 19)
47426 1554434 : ipack = ipack + 1
47427 1554434 : pack_tmp = packed_data(ipack)
47428 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
47429 1554434 : pack_tmp = ISHFT(pack_tmp, -19)
47430 1554434 : idata = idata + 1
47431 1554434 : data_tmp = ISHFT(pack_tmp, 12)
47432 1554434 : ipack = ipack + 1
47433 1554434 : pack_tmp = packed_data(ipack)
47434 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
47435 1554434 : pack_tmp = ISHFT(pack_tmp, -12)
47436 1554434 : idata = idata + 1
47437 1554434 : data_tmp = ISHFT(pack_tmp, 5)
47438 1554434 : ipack = ipack + 1
47439 1554434 : pack_tmp = packed_data(ipack)
47440 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
47441 1554434 : pack_tmp = ISHFT(pack_tmp, -5)
47442 1554434 : idata = idata + 1
47443 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47444 1554434 : full_data(idata) = data_tmp
47445 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47446 1554434 : idata = idata + 1
47447 1554434 : data_tmp = ISHFT(pack_tmp, 55)
47448 1554434 : ipack = ipack + 1
47449 1554434 : pack_tmp = packed_data(ipack)
47450 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
47451 1554434 : pack_tmp = ISHFT(pack_tmp, -55)
47452 1554434 : idata = idata + 1
47453 1554434 : data_tmp = ISHFT(pack_tmp, 48)
47454 1554434 : ipack = ipack + 1
47455 1554434 : pack_tmp = packed_data(ipack)
47456 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
47457 1554434 : pack_tmp = ISHFT(pack_tmp, -48)
47458 1554434 : idata = idata + 1
47459 1554434 : data_tmp = ISHFT(pack_tmp, 41)
47460 1554434 : ipack = ipack + 1
47461 1554434 : pack_tmp = packed_data(ipack)
47462 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
47463 1554434 : pack_tmp = ISHFT(pack_tmp, -41)
47464 1554434 : idata = idata + 1
47465 1554434 : data_tmp = ISHFT(pack_tmp, 34)
47466 1554434 : ipack = ipack + 1
47467 1554434 : pack_tmp = packed_data(ipack)
47468 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
47469 1554434 : pack_tmp = ISHFT(pack_tmp, -34)
47470 1554434 : idata = idata + 1
47471 1554434 : data_tmp = ISHFT(pack_tmp, 27)
47472 1554434 : ipack = ipack + 1
47473 1554434 : pack_tmp = packed_data(ipack)
47474 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
47475 1554434 : pack_tmp = ISHFT(pack_tmp, -27)
47476 1554434 : idata = idata + 1
47477 1554434 : data_tmp = ISHFT(pack_tmp, 20)
47478 1554434 : ipack = ipack + 1
47479 1554434 : pack_tmp = packed_data(ipack)
47480 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
47481 1554434 : pack_tmp = ISHFT(pack_tmp, -20)
47482 1554434 : idata = idata + 1
47483 1554434 : data_tmp = ISHFT(pack_tmp, 13)
47484 1554434 : ipack = ipack + 1
47485 1554434 : pack_tmp = packed_data(ipack)
47486 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
47487 1554434 : pack_tmp = ISHFT(pack_tmp, -13)
47488 1554434 : idata = idata + 1
47489 1554434 : data_tmp = ISHFT(pack_tmp, 6)
47490 1554434 : ipack = ipack + 1
47491 1554434 : pack_tmp = packed_data(ipack)
47492 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
47493 1554434 : pack_tmp = ISHFT(pack_tmp, -6)
47494 1554434 : idata = idata + 1
47495 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47496 1554434 : full_data(idata) = data_tmp
47497 1554434 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47498 1554434 : idata = idata + 1
47499 1554434 : data_tmp = ISHFT(pack_tmp, 56)
47500 1554434 : ipack = ipack + 1
47501 1554434 : pack_tmp = packed_data(ipack)
47502 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
47503 1554434 : pack_tmp = ISHFT(pack_tmp, -56)
47504 1554434 : idata = idata + 1
47505 1554434 : data_tmp = ISHFT(pack_tmp, 49)
47506 1554434 : ipack = ipack + 1
47507 1554434 : pack_tmp = packed_data(ipack)
47508 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
47509 1554434 : pack_tmp = ISHFT(pack_tmp, -49)
47510 1554434 : idata = idata + 1
47511 1554434 : data_tmp = ISHFT(pack_tmp, 42)
47512 1554434 : ipack = ipack + 1
47513 1554434 : pack_tmp = packed_data(ipack)
47514 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
47515 1554434 : pack_tmp = ISHFT(pack_tmp, -42)
47516 1554434 : idata = idata + 1
47517 1554434 : data_tmp = ISHFT(pack_tmp, 35)
47518 1554434 : ipack = ipack + 1
47519 1554434 : pack_tmp = packed_data(ipack)
47520 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
47521 1554434 : pack_tmp = ISHFT(pack_tmp, -35)
47522 1554434 : idata = idata + 1
47523 1554434 : data_tmp = ISHFT(pack_tmp, 28)
47524 1554434 : ipack = ipack + 1
47525 1554434 : pack_tmp = packed_data(ipack)
47526 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
47527 1554434 : pack_tmp = ISHFT(pack_tmp, -28)
47528 1554434 : idata = idata + 1
47529 1554434 : data_tmp = ISHFT(pack_tmp, 21)
47530 1554434 : ipack = ipack + 1
47531 1554434 : pack_tmp = packed_data(ipack)
47532 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
47533 1554434 : pack_tmp = ISHFT(pack_tmp, -21)
47534 1554434 : idata = idata + 1
47535 1554434 : data_tmp = ISHFT(pack_tmp, 14)
47536 1554434 : ipack = ipack + 1
47537 1554434 : pack_tmp = packed_data(ipack)
47538 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
47539 1554434 : pack_tmp = ISHFT(pack_tmp, -14)
47540 1554434 : idata = idata + 1
47541 1554434 : data_tmp = ISHFT(pack_tmp, 7)
47542 1554434 : ipack = ipack + 1
47543 1554434 : pack_tmp = packed_data(ipack)
47544 1554434 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
47545 1554434 : pack_tmp = ISHFT(pack_tmp, -7)
47546 1554434 : idata = idata + 1
47547 1554434 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47548 1554434 : full_data(idata) = data_tmp
47549 1554556 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47550 : END DO
47551 98969 : 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 98969 : END SUBROUTINE bits2ints_57
47555 :
47556 : ! **************************************************************************************************
47557 : !> \brief ...
47558 : !> \param Ndata ...
47559 : !> \param packed_data ...
47560 : !> \param full_data ...
47561 : ! **************************************************************************************************
47562 23700 : 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 23700 : idata = 0
47573 23700 : ipack = 0
47574 23700 : Ndata_rep = (Ndata/64)*64
47575 23700 : DO kdata = 1, Ndata_rep, 64
47576 378996 : pack_tmp = 0
47577 378996 : idata = idata + 1
47578 378996 : data_tmp = full_data(idata)
47579 378996 : data_tmp = ISHFT(data_tmp, 6)
47580 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47581 378996 : pack_tmp = ISHFT(pack_tmp, -6)
47582 378996 : idata = idata + 1
47583 378996 : data_tmp = full_data(idata)
47584 378996 : data_tmp = ISHFT(data_tmp, 6)
47585 378996 : data_tmp = IAND(data_tmp, mask_left(6))
47586 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47587 378996 : ipack = ipack + 1
47588 378996 : packed_data(ipack) = pack_tmp
47589 378996 : data_tmp = full_data(idata)
47590 378996 : pack_tmp = ISHFT(data_tmp, 12)
47591 378996 : pack_tmp = ISHFT(pack_tmp, -12)
47592 378996 : idata = idata + 1
47593 378996 : data_tmp = full_data(idata)
47594 378996 : data_tmp = ISHFT(data_tmp, 6)
47595 378996 : data_tmp = IAND(data_tmp, mask_left(12))
47596 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47597 378996 : ipack = ipack + 1
47598 378996 : packed_data(ipack) = pack_tmp
47599 378996 : data_tmp = full_data(idata)
47600 378996 : pack_tmp = ISHFT(data_tmp, 18)
47601 378996 : pack_tmp = ISHFT(pack_tmp, -18)
47602 378996 : idata = idata + 1
47603 378996 : data_tmp = full_data(idata)
47604 378996 : data_tmp = ISHFT(data_tmp, 6)
47605 378996 : data_tmp = IAND(data_tmp, mask_left(18))
47606 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47607 378996 : ipack = ipack + 1
47608 378996 : packed_data(ipack) = pack_tmp
47609 378996 : data_tmp = full_data(idata)
47610 378996 : pack_tmp = ISHFT(data_tmp, 24)
47611 378996 : pack_tmp = ISHFT(pack_tmp, -24)
47612 378996 : idata = idata + 1
47613 378996 : data_tmp = full_data(idata)
47614 378996 : data_tmp = ISHFT(data_tmp, 6)
47615 378996 : data_tmp = IAND(data_tmp, mask_left(24))
47616 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47617 378996 : ipack = ipack + 1
47618 378996 : packed_data(ipack) = pack_tmp
47619 378996 : data_tmp = full_data(idata)
47620 378996 : pack_tmp = ISHFT(data_tmp, 30)
47621 378996 : pack_tmp = ISHFT(pack_tmp, -30)
47622 378996 : idata = idata + 1
47623 378996 : data_tmp = full_data(idata)
47624 378996 : data_tmp = ISHFT(data_tmp, 6)
47625 378996 : data_tmp = IAND(data_tmp, mask_left(30))
47626 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47627 378996 : ipack = ipack + 1
47628 378996 : packed_data(ipack) = pack_tmp
47629 378996 : data_tmp = full_data(idata)
47630 378996 : pack_tmp = ISHFT(data_tmp, 36)
47631 378996 : pack_tmp = ISHFT(pack_tmp, -36)
47632 378996 : idata = idata + 1
47633 378996 : data_tmp = full_data(idata)
47634 378996 : data_tmp = ISHFT(data_tmp, 6)
47635 378996 : data_tmp = IAND(data_tmp, mask_left(36))
47636 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47637 378996 : ipack = ipack + 1
47638 378996 : packed_data(ipack) = pack_tmp
47639 378996 : data_tmp = full_data(idata)
47640 378996 : pack_tmp = ISHFT(data_tmp, 42)
47641 378996 : pack_tmp = ISHFT(pack_tmp, -42)
47642 378996 : idata = idata + 1
47643 378996 : data_tmp = full_data(idata)
47644 378996 : data_tmp = ISHFT(data_tmp, 6)
47645 378996 : data_tmp = IAND(data_tmp, mask_left(42))
47646 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47647 378996 : ipack = ipack + 1
47648 378996 : packed_data(ipack) = pack_tmp
47649 378996 : data_tmp = full_data(idata)
47650 378996 : pack_tmp = ISHFT(data_tmp, 48)
47651 378996 : pack_tmp = ISHFT(pack_tmp, -48)
47652 378996 : idata = idata + 1
47653 378996 : data_tmp = full_data(idata)
47654 378996 : data_tmp = ISHFT(data_tmp, 6)
47655 378996 : data_tmp = IAND(data_tmp, mask_left(48))
47656 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47657 378996 : ipack = ipack + 1
47658 378996 : packed_data(ipack) = pack_tmp
47659 378996 : data_tmp = full_data(idata)
47660 378996 : pack_tmp = ISHFT(data_tmp, 54)
47661 378996 : pack_tmp = ISHFT(pack_tmp, -54)
47662 378996 : idata = idata + 1
47663 378996 : data_tmp = full_data(idata)
47664 378996 : data_tmp = ISHFT(data_tmp, 6)
47665 378996 : data_tmp = IAND(data_tmp, mask_left(54))
47666 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47667 378996 : ipack = ipack + 1
47668 378996 : packed_data(ipack) = pack_tmp
47669 378996 : data_tmp = full_data(idata)
47670 378996 : pack_tmp = ISHFT(data_tmp, 60)
47671 378996 : pack_tmp = ISHFT(pack_tmp, -58)
47672 378996 : idata = idata + 1
47673 378996 : data_tmp = full_data(idata)
47674 378996 : data_tmp = ISHFT(data_tmp, 6)
47675 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47676 378996 : pack_tmp = ISHFT(pack_tmp, -2)
47677 378996 : idata = idata + 1
47678 378996 : data_tmp = full_data(idata)
47679 378996 : data_tmp = ISHFT(data_tmp, 6)
47680 378996 : data_tmp = IAND(data_tmp, mask_left(2))
47681 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47682 378996 : ipack = ipack + 1
47683 378996 : packed_data(ipack) = pack_tmp
47684 378996 : data_tmp = full_data(idata)
47685 378996 : pack_tmp = ISHFT(data_tmp, 8)
47686 378996 : pack_tmp = ISHFT(pack_tmp, -8)
47687 378996 : idata = idata + 1
47688 378996 : data_tmp = full_data(idata)
47689 378996 : data_tmp = ISHFT(data_tmp, 6)
47690 378996 : data_tmp = IAND(data_tmp, mask_left(8))
47691 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47692 378996 : ipack = ipack + 1
47693 378996 : packed_data(ipack) = pack_tmp
47694 378996 : data_tmp = full_data(idata)
47695 378996 : pack_tmp = ISHFT(data_tmp, 14)
47696 378996 : pack_tmp = ISHFT(pack_tmp, -14)
47697 378996 : idata = idata + 1
47698 378996 : data_tmp = full_data(idata)
47699 378996 : data_tmp = ISHFT(data_tmp, 6)
47700 378996 : data_tmp = IAND(data_tmp, mask_left(14))
47701 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47702 378996 : ipack = ipack + 1
47703 378996 : packed_data(ipack) = pack_tmp
47704 378996 : data_tmp = full_data(idata)
47705 378996 : pack_tmp = ISHFT(data_tmp, 20)
47706 378996 : pack_tmp = ISHFT(pack_tmp, -20)
47707 378996 : idata = idata + 1
47708 378996 : data_tmp = full_data(idata)
47709 378996 : data_tmp = ISHFT(data_tmp, 6)
47710 378996 : data_tmp = IAND(data_tmp, mask_left(20))
47711 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47712 378996 : ipack = ipack + 1
47713 378996 : packed_data(ipack) = pack_tmp
47714 378996 : data_tmp = full_data(idata)
47715 378996 : pack_tmp = ISHFT(data_tmp, 26)
47716 378996 : pack_tmp = ISHFT(pack_tmp, -26)
47717 378996 : idata = idata + 1
47718 378996 : data_tmp = full_data(idata)
47719 378996 : data_tmp = ISHFT(data_tmp, 6)
47720 378996 : data_tmp = IAND(data_tmp, mask_left(26))
47721 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47722 378996 : ipack = ipack + 1
47723 378996 : packed_data(ipack) = pack_tmp
47724 378996 : data_tmp = full_data(idata)
47725 378996 : pack_tmp = ISHFT(data_tmp, 32)
47726 378996 : pack_tmp = ISHFT(pack_tmp, -32)
47727 378996 : idata = idata + 1
47728 378996 : data_tmp = full_data(idata)
47729 378996 : data_tmp = ISHFT(data_tmp, 6)
47730 378996 : data_tmp = IAND(data_tmp, mask_left(32))
47731 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47732 378996 : ipack = ipack + 1
47733 378996 : packed_data(ipack) = pack_tmp
47734 378996 : data_tmp = full_data(idata)
47735 378996 : pack_tmp = ISHFT(data_tmp, 38)
47736 378996 : pack_tmp = ISHFT(pack_tmp, -38)
47737 378996 : idata = idata + 1
47738 378996 : data_tmp = full_data(idata)
47739 378996 : data_tmp = ISHFT(data_tmp, 6)
47740 378996 : data_tmp = IAND(data_tmp, mask_left(38))
47741 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47742 378996 : ipack = ipack + 1
47743 378996 : packed_data(ipack) = pack_tmp
47744 378996 : data_tmp = full_data(idata)
47745 378996 : pack_tmp = ISHFT(data_tmp, 44)
47746 378996 : pack_tmp = ISHFT(pack_tmp, -44)
47747 378996 : idata = idata + 1
47748 378996 : data_tmp = full_data(idata)
47749 378996 : data_tmp = ISHFT(data_tmp, 6)
47750 378996 : data_tmp = IAND(data_tmp, mask_left(44))
47751 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47752 378996 : ipack = ipack + 1
47753 378996 : packed_data(ipack) = pack_tmp
47754 378996 : data_tmp = full_data(idata)
47755 378996 : pack_tmp = ISHFT(data_tmp, 50)
47756 378996 : pack_tmp = ISHFT(pack_tmp, -50)
47757 378996 : idata = idata + 1
47758 378996 : data_tmp = full_data(idata)
47759 378996 : data_tmp = ISHFT(data_tmp, 6)
47760 378996 : data_tmp = IAND(data_tmp, mask_left(50))
47761 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47762 378996 : ipack = ipack + 1
47763 378996 : packed_data(ipack) = pack_tmp
47764 378996 : data_tmp = full_data(idata)
47765 378996 : pack_tmp = ISHFT(data_tmp, 56)
47766 378996 : pack_tmp = ISHFT(pack_tmp, -56)
47767 378996 : idata = idata + 1
47768 378996 : data_tmp = full_data(idata)
47769 378996 : data_tmp = ISHFT(data_tmp, 6)
47770 378996 : data_tmp = IAND(data_tmp, mask_left(56))
47771 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47772 378996 : ipack = ipack + 1
47773 378996 : packed_data(ipack) = pack_tmp
47774 378996 : data_tmp = full_data(idata)
47775 378996 : pack_tmp = ISHFT(data_tmp, 62)
47776 378996 : pack_tmp = ISHFT(pack_tmp, -58)
47777 378996 : idata = idata + 1
47778 378996 : data_tmp = full_data(idata)
47779 378996 : data_tmp = ISHFT(data_tmp, 6)
47780 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47781 378996 : pack_tmp = ISHFT(pack_tmp, -4)
47782 378996 : idata = idata + 1
47783 378996 : data_tmp = full_data(idata)
47784 378996 : data_tmp = ISHFT(data_tmp, 6)
47785 378996 : data_tmp = IAND(data_tmp, mask_left(4))
47786 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47787 378996 : ipack = ipack + 1
47788 378996 : packed_data(ipack) = pack_tmp
47789 378996 : data_tmp = full_data(idata)
47790 378996 : pack_tmp = ISHFT(data_tmp, 10)
47791 378996 : pack_tmp = ISHFT(pack_tmp, -10)
47792 378996 : idata = idata + 1
47793 378996 : data_tmp = full_data(idata)
47794 378996 : data_tmp = ISHFT(data_tmp, 6)
47795 378996 : data_tmp = IAND(data_tmp, mask_left(10))
47796 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47797 378996 : ipack = ipack + 1
47798 378996 : packed_data(ipack) = pack_tmp
47799 378996 : data_tmp = full_data(idata)
47800 378996 : pack_tmp = ISHFT(data_tmp, 16)
47801 378996 : pack_tmp = ISHFT(pack_tmp, -16)
47802 378996 : idata = idata + 1
47803 378996 : data_tmp = full_data(idata)
47804 378996 : data_tmp = ISHFT(data_tmp, 6)
47805 378996 : data_tmp = IAND(data_tmp, mask_left(16))
47806 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47807 378996 : ipack = ipack + 1
47808 378996 : packed_data(ipack) = pack_tmp
47809 378996 : data_tmp = full_data(idata)
47810 378996 : pack_tmp = ISHFT(data_tmp, 22)
47811 378996 : pack_tmp = ISHFT(pack_tmp, -22)
47812 378996 : idata = idata + 1
47813 378996 : data_tmp = full_data(idata)
47814 378996 : data_tmp = ISHFT(data_tmp, 6)
47815 378996 : data_tmp = IAND(data_tmp, mask_left(22))
47816 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47817 378996 : ipack = ipack + 1
47818 378996 : packed_data(ipack) = pack_tmp
47819 378996 : data_tmp = full_data(idata)
47820 378996 : pack_tmp = ISHFT(data_tmp, 28)
47821 378996 : pack_tmp = ISHFT(pack_tmp, -28)
47822 378996 : idata = idata + 1
47823 378996 : data_tmp = full_data(idata)
47824 378996 : data_tmp = ISHFT(data_tmp, 6)
47825 378996 : data_tmp = IAND(data_tmp, mask_left(28))
47826 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47827 378996 : ipack = ipack + 1
47828 378996 : packed_data(ipack) = pack_tmp
47829 378996 : data_tmp = full_data(idata)
47830 378996 : pack_tmp = ISHFT(data_tmp, 34)
47831 378996 : pack_tmp = ISHFT(pack_tmp, -34)
47832 378996 : idata = idata + 1
47833 378996 : data_tmp = full_data(idata)
47834 378996 : data_tmp = ISHFT(data_tmp, 6)
47835 378996 : data_tmp = IAND(data_tmp, mask_left(34))
47836 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47837 378996 : ipack = ipack + 1
47838 378996 : packed_data(ipack) = pack_tmp
47839 378996 : data_tmp = full_data(idata)
47840 378996 : pack_tmp = ISHFT(data_tmp, 40)
47841 378996 : pack_tmp = ISHFT(pack_tmp, -40)
47842 378996 : idata = idata + 1
47843 378996 : data_tmp = full_data(idata)
47844 378996 : data_tmp = ISHFT(data_tmp, 6)
47845 378996 : data_tmp = IAND(data_tmp, mask_left(40))
47846 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47847 378996 : ipack = ipack + 1
47848 378996 : packed_data(ipack) = pack_tmp
47849 378996 : data_tmp = full_data(idata)
47850 378996 : pack_tmp = ISHFT(data_tmp, 46)
47851 378996 : pack_tmp = ISHFT(pack_tmp, -46)
47852 378996 : idata = idata + 1
47853 378996 : data_tmp = full_data(idata)
47854 378996 : data_tmp = ISHFT(data_tmp, 6)
47855 378996 : data_tmp = IAND(data_tmp, mask_left(46))
47856 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47857 378996 : ipack = ipack + 1
47858 378996 : packed_data(ipack) = pack_tmp
47859 378996 : data_tmp = full_data(idata)
47860 378996 : pack_tmp = ISHFT(data_tmp, 52)
47861 378996 : pack_tmp = ISHFT(pack_tmp, -52)
47862 378996 : idata = idata + 1
47863 378996 : data_tmp = full_data(idata)
47864 378996 : data_tmp = ISHFT(data_tmp, 6)
47865 378996 : data_tmp = IAND(data_tmp, mask_left(52))
47866 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47867 378996 : ipack = ipack + 1
47868 378996 : packed_data(ipack) = pack_tmp
47869 378996 : data_tmp = full_data(idata)
47870 378996 : pack_tmp = ISHFT(data_tmp, 58)
47871 378996 : pack_tmp = ISHFT(pack_tmp, -58)
47872 378996 : idata = idata + 1
47873 378996 : data_tmp = full_data(idata)
47874 378996 : data_tmp = ISHFT(data_tmp, 6)
47875 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47876 378996 : pack_tmp = ISHFT(pack_tmp, 0)
47877 378996 : idata = idata + 1
47878 378996 : data_tmp = full_data(idata)
47879 : data_tmp = ISHFT(data_tmp, 6)
47880 378996 : data_tmp = IAND(data_tmp, mask_left(0))
47881 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47882 378996 : ipack = ipack + 1
47883 378996 : packed_data(ipack) = pack_tmp
47884 378996 : data_tmp = full_data(idata)
47885 378996 : pack_tmp = ISHFT(data_tmp, 6)
47886 378996 : pack_tmp = ISHFT(pack_tmp, -6)
47887 378996 : idata = idata + 1
47888 378996 : data_tmp = full_data(idata)
47889 378996 : data_tmp = ISHFT(data_tmp, 6)
47890 378996 : data_tmp = IAND(data_tmp, mask_left(6))
47891 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47892 378996 : ipack = ipack + 1
47893 378996 : packed_data(ipack) = pack_tmp
47894 378996 : data_tmp = full_data(idata)
47895 378996 : pack_tmp = ISHFT(data_tmp, 12)
47896 378996 : pack_tmp = ISHFT(pack_tmp, -12)
47897 378996 : idata = idata + 1
47898 378996 : data_tmp = full_data(idata)
47899 378996 : data_tmp = ISHFT(data_tmp, 6)
47900 378996 : data_tmp = IAND(data_tmp, mask_left(12))
47901 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47902 378996 : ipack = ipack + 1
47903 378996 : packed_data(ipack) = pack_tmp
47904 378996 : data_tmp = full_data(idata)
47905 378996 : pack_tmp = ISHFT(data_tmp, 18)
47906 378996 : pack_tmp = ISHFT(pack_tmp, -18)
47907 378996 : idata = idata + 1
47908 378996 : data_tmp = full_data(idata)
47909 378996 : data_tmp = ISHFT(data_tmp, 6)
47910 378996 : data_tmp = IAND(data_tmp, mask_left(18))
47911 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47912 378996 : ipack = ipack + 1
47913 378996 : packed_data(ipack) = pack_tmp
47914 378996 : data_tmp = full_data(idata)
47915 378996 : pack_tmp = ISHFT(data_tmp, 24)
47916 378996 : pack_tmp = ISHFT(pack_tmp, -24)
47917 378996 : idata = idata + 1
47918 378996 : data_tmp = full_data(idata)
47919 378996 : data_tmp = ISHFT(data_tmp, 6)
47920 378996 : data_tmp = IAND(data_tmp, mask_left(24))
47921 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47922 378996 : ipack = ipack + 1
47923 378996 : packed_data(ipack) = pack_tmp
47924 378996 : data_tmp = full_data(idata)
47925 378996 : pack_tmp = ISHFT(data_tmp, 30)
47926 378996 : pack_tmp = ISHFT(pack_tmp, -30)
47927 378996 : idata = idata + 1
47928 378996 : data_tmp = full_data(idata)
47929 378996 : data_tmp = ISHFT(data_tmp, 6)
47930 378996 : data_tmp = IAND(data_tmp, mask_left(30))
47931 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47932 378996 : ipack = ipack + 1
47933 378996 : packed_data(ipack) = pack_tmp
47934 378996 : data_tmp = full_data(idata)
47935 378996 : pack_tmp = ISHFT(data_tmp, 36)
47936 378996 : pack_tmp = ISHFT(pack_tmp, -36)
47937 378996 : idata = idata + 1
47938 378996 : data_tmp = full_data(idata)
47939 378996 : data_tmp = ISHFT(data_tmp, 6)
47940 378996 : data_tmp = IAND(data_tmp, mask_left(36))
47941 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47942 378996 : ipack = ipack + 1
47943 378996 : packed_data(ipack) = pack_tmp
47944 378996 : data_tmp = full_data(idata)
47945 378996 : pack_tmp = ISHFT(data_tmp, 42)
47946 378996 : pack_tmp = ISHFT(pack_tmp, -42)
47947 378996 : idata = idata + 1
47948 378996 : data_tmp = full_data(idata)
47949 378996 : data_tmp = ISHFT(data_tmp, 6)
47950 378996 : data_tmp = IAND(data_tmp, mask_left(42))
47951 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47952 378996 : ipack = ipack + 1
47953 378996 : packed_data(ipack) = pack_tmp
47954 378996 : data_tmp = full_data(idata)
47955 378996 : pack_tmp = ISHFT(data_tmp, 48)
47956 378996 : pack_tmp = ISHFT(pack_tmp, -48)
47957 378996 : idata = idata + 1
47958 378996 : data_tmp = full_data(idata)
47959 378996 : data_tmp = ISHFT(data_tmp, 6)
47960 378996 : data_tmp = IAND(data_tmp, mask_left(48))
47961 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47962 378996 : ipack = ipack + 1
47963 378996 : packed_data(ipack) = pack_tmp
47964 378996 : data_tmp = full_data(idata)
47965 378996 : pack_tmp = ISHFT(data_tmp, 54)
47966 378996 : pack_tmp = ISHFT(pack_tmp, -54)
47967 378996 : idata = idata + 1
47968 378996 : data_tmp = full_data(idata)
47969 378996 : data_tmp = ISHFT(data_tmp, 6)
47970 378996 : data_tmp = IAND(data_tmp, mask_left(54))
47971 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47972 378996 : ipack = ipack + 1
47973 378996 : packed_data(ipack) = pack_tmp
47974 378996 : data_tmp = full_data(idata)
47975 378996 : pack_tmp = ISHFT(data_tmp, 60)
47976 378996 : pack_tmp = ISHFT(pack_tmp, -58)
47977 378996 : idata = idata + 1
47978 378996 : data_tmp = full_data(idata)
47979 378996 : data_tmp = ISHFT(data_tmp, 6)
47980 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47981 378996 : pack_tmp = ISHFT(pack_tmp, -2)
47982 378996 : idata = idata + 1
47983 378996 : data_tmp = full_data(idata)
47984 378996 : data_tmp = ISHFT(data_tmp, 6)
47985 378996 : data_tmp = IAND(data_tmp, mask_left(2))
47986 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47987 378996 : ipack = ipack + 1
47988 378996 : packed_data(ipack) = pack_tmp
47989 378996 : data_tmp = full_data(idata)
47990 378996 : pack_tmp = ISHFT(data_tmp, 8)
47991 378996 : pack_tmp = ISHFT(pack_tmp, -8)
47992 378996 : idata = idata + 1
47993 378996 : data_tmp = full_data(idata)
47994 378996 : data_tmp = ISHFT(data_tmp, 6)
47995 378996 : data_tmp = IAND(data_tmp, mask_left(8))
47996 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
47997 378996 : ipack = ipack + 1
47998 378996 : packed_data(ipack) = pack_tmp
47999 378996 : data_tmp = full_data(idata)
48000 378996 : pack_tmp = ISHFT(data_tmp, 14)
48001 378996 : pack_tmp = ISHFT(pack_tmp, -14)
48002 378996 : idata = idata + 1
48003 378996 : data_tmp = full_data(idata)
48004 378996 : data_tmp = ISHFT(data_tmp, 6)
48005 378996 : data_tmp = IAND(data_tmp, mask_left(14))
48006 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48007 378996 : ipack = ipack + 1
48008 378996 : packed_data(ipack) = pack_tmp
48009 378996 : data_tmp = full_data(idata)
48010 378996 : pack_tmp = ISHFT(data_tmp, 20)
48011 378996 : pack_tmp = ISHFT(pack_tmp, -20)
48012 378996 : idata = idata + 1
48013 378996 : data_tmp = full_data(idata)
48014 378996 : data_tmp = ISHFT(data_tmp, 6)
48015 378996 : data_tmp = IAND(data_tmp, mask_left(20))
48016 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48017 378996 : ipack = ipack + 1
48018 378996 : packed_data(ipack) = pack_tmp
48019 378996 : data_tmp = full_data(idata)
48020 378996 : pack_tmp = ISHFT(data_tmp, 26)
48021 378996 : pack_tmp = ISHFT(pack_tmp, -26)
48022 378996 : idata = idata + 1
48023 378996 : data_tmp = full_data(idata)
48024 378996 : data_tmp = ISHFT(data_tmp, 6)
48025 378996 : data_tmp = IAND(data_tmp, mask_left(26))
48026 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48027 378996 : ipack = ipack + 1
48028 378996 : packed_data(ipack) = pack_tmp
48029 378996 : data_tmp = full_data(idata)
48030 378996 : pack_tmp = ISHFT(data_tmp, 32)
48031 378996 : pack_tmp = ISHFT(pack_tmp, -32)
48032 378996 : idata = idata + 1
48033 378996 : data_tmp = full_data(idata)
48034 378996 : data_tmp = ISHFT(data_tmp, 6)
48035 378996 : data_tmp = IAND(data_tmp, mask_left(32))
48036 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48037 378996 : ipack = ipack + 1
48038 378996 : packed_data(ipack) = pack_tmp
48039 378996 : data_tmp = full_data(idata)
48040 378996 : pack_tmp = ISHFT(data_tmp, 38)
48041 378996 : pack_tmp = ISHFT(pack_tmp, -38)
48042 378996 : idata = idata + 1
48043 378996 : data_tmp = full_data(idata)
48044 378996 : data_tmp = ISHFT(data_tmp, 6)
48045 378996 : data_tmp = IAND(data_tmp, mask_left(38))
48046 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48047 378996 : ipack = ipack + 1
48048 378996 : packed_data(ipack) = pack_tmp
48049 378996 : data_tmp = full_data(idata)
48050 378996 : pack_tmp = ISHFT(data_tmp, 44)
48051 378996 : pack_tmp = ISHFT(pack_tmp, -44)
48052 378996 : idata = idata + 1
48053 378996 : data_tmp = full_data(idata)
48054 378996 : data_tmp = ISHFT(data_tmp, 6)
48055 378996 : data_tmp = IAND(data_tmp, mask_left(44))
48056 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48057 378996 : ipack = ipack + 1
48058 378996 : packed_data(ipack) = pack_tmp
48059 378996 : data_tmp = full_data(idata)
48060 378996 : pack_tmp = ISHFT(data_tmp, 50)
48061 378996 : pack_tmp = ISHFT(pack_tmp, -50)
48062 378996 : idata = idata + 1
48063 378996 : data_tmp = full_data(idata)
48064 378996 : data_tmp = ISHFT(data_tmp, 6)
48065 378996 : data_tmp = IAND(data_tmp, mask_left(50))
48066 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48067 378996 : ipack = ipack + 1
48068 378996 : packed_data(ipack) = pack_tmp
48069 378996 : data_tmp = full_data(idata)
48070 378996 : pack_tmp = ISHFT(data_tmp, 56)
48071 378996 : pack_tmp = ISHFT(pack_tmp, -56)
48072 378996 : idata = idata + 1
48073 378996 : data_tmp = full_data(idata)
48074 378996 : data_tmp = ISHFT(data_tmp, 6)
48075 378996 : data_tmp = IAND(data_tmp, mask_left(56))
48076 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48077 378996 : ipack = ipack + 1
48078 378996 : packed_data(ipack) = pack_tmp
48079 378996 : data_tmp = full_data(idata)
48080 378996 : pack_tmp = ISHFT(data_tmp, 62)
48081 378996 : pack_tmp = ISHFT(pack_tmp, -58)
48082 378996 : idata = idata + 1
48083 378996 : data_tmp = full_data(idata)
48084 378996 : data_tmp = ISHFT(data_tmp, 6)
48085 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48086 378996 : pack_tmp = ISHFT(pack_tmp, -4)
48087 378996 : idata = idata + 1
48088 378996 : data_tmp = full_data(idata)
48089 378996 : data_tmp = ISHFT(data_tmp, 6)
48090 378996 : data_tmp = IAND(data_tmp, mask_left(4))
48091 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48092 378996 : ipack = ipack + 1
48093 378996 : packed_data(ipack) = pack_tmp
48094 378996 : data_tmp = full_data(idata)
48095 378996 : pack_tmp = ISHFT(data_tmp, 10)
48096 378996 : pack_tmp = ISHFT(pack_tmp, -10)
48097 378996 : idata = idata + 1
48098 378996 : data_tmp = full_data(idata)
48099 378996 : data_tmp = ISHFT(data_tmp, 6)
48100 378996 : data_tmp = IAND(data_tmp, mask_left(10))
48101 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48102 378996 : ipack = ipack + 1
48103 378996 : packed_data(ipack) = pack_tmp
48104 378996 : data_tmp = full_data(idata)
48105 378996 : pack_tmp = ISHFT(data_tmp, 16)
48106 378996 : pack_tmp = ISHFT(pack_tmp, -16)
48107 378996 : idata = idata + 1
48108 378996 : data_tmp = full_data(idata)
48109 378996 : data_tmp = ISHFT(data_tmp, 6)
48110 378996 : data_tmp = IAND(data_tmp, mask_left(16))
48111 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48112 378996 : ipack = ipack + 1
48113 378996 : packed_data(ipack) = pack_tmp
48114 378996 : data_tmp = full_data(idata)
48115 378996 : pack_tmp = ISHFT(data_tmp, 22)
48116 378996 : pack_tmp = ISHFT(pack_tmp, -22)
48117 378996 : idata = idata + 1
48118 378996 : data_tmp = full_data(idata)
48119 378996 : data_tmp = ISHFT(data_tmp, 6)
48120 378996 : data_tmp = IAND(data_tmp, mask_left(22))
48121 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48122 378996 : ipack = ipack + 1
48123 378996 : packed_data(ipack) = pack_tmp
48124 378996 : data_tmp = full_data(idata)
48125 378996 : pack_tmp = ISHFT(data_tmp, 28)
48126 378996 : pack_tmp = ISHFT(pack_tmp, -28)
48127 378996 : idata = idata + 1
48128 378996 : data_tmp = full_data(idata)
48129 378996 : data_tmp = ISHFT(data_tmp, 6)
48130 378996 : data_tmp = IAND(data_tmp, mask_left(28))
48131 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48132 378996 : ipack = ipack + 1
48133 378996 : packed_data(ipack) = pack_tmp
48134 378996 : data_tmp = full_data(idata)
48135 378996 : pack_tmp = ISHFT(data_tmp, 34)
48136 378996 : pack_tmp = ISHFT(pack_tmp, -34)
48137 378996 : idata = idata + 1
48138 378996 : data_tmp = full_data(idata)
48139 378996 : data_tmp = ISHFT(data_tmp, 6)
48140 378996 : data_tmp = IAND(data_tmp, mask_left(34))
48141 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48142 378996 : ipack = ipack + 1
48143 378996 : packed_data(ipack) = pack_tmp
48144 378996 : data_tmp = full_data(idata)
48145 378996 : pack_tmp = ISHFT(data_tmp, 40)
48146 378996 : pack_tmp = ISHFT(pack_tmp, -40)
48147 378996 : idata = idata + 1
48148 378996 : data_tmp = full_data(idata)
48149 378996 : data_tmp = ISHFT(data_tmp, 6)
48150 378996 : data_tmp = IAND(data_tmp, mask_left(40))
48151 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48152 378996 : ipack = ipack + 1
48153 378996 : packed_data(ipack) = pack_tmp
48154 378996 : data_tmp = full_data(idata)
48155 378996 : pack_tmp = ISHFT(data_tmp, 46)
48156 378996 : pack_tmp = ISHFT(pack_tmp, -46)
48157 378996 : idata = idata + 1
48158 378996 : data_tmp = full_data(idata)
48159 378996 : data_tmp = ISHFT(data_tmp, 6)
48160 378996 : data_tmp = IAND(data_tmp, mask_left(46))
48161 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48162 378996 : ipack = ipack + 1
48163 378996 : packed_data(ipack) = pack_tmp
48164 378996 : data_tmp = full_data(idata)
48165 378996 : pack_tmp = ISHFT(data_tmp, 52)
48166 378996 : pack_tmp = ISHFT(pack_tmp, -52)
48167 378996 : idata = idata + 1
48168 378996 : data_tmp = full_data(idata)
48169 378996 : data_tmp = ISHFT(data_tmp, 6)
48170 378996 : data_tmp = IAND(data_tmp, mask_left(52))
48171 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48172 378996 : ipack = ipack + 1
48173 378996 : packed_data(ipack) = pack_tmp
48174 378996 : data_tmp = full_data(idata)
48175 378996 : pack_tmp = ISHFT(data_tmp, 58)
48176 378996 : pack_tmp = ISHFT(pack_tmp, -58)
48177 378996 : idata = idata + 1
48178 378996 : data_tmp = full_data(idata)
48179 378996 : data_tmp = ISHFT(data_tmp, 6)
48180 378996 : pack_tmp = IOR(pack_tmp, data_tmp)
48181 : pack_tmp = ISHFT(pack_tmp, 0)
48182 378996 : pack_tmp = ISHFT(pack_tmp, 0)
48183 378996 : ipack = ipack + 1
48184 378996 : packed_data(ipack) = pack_tmp
48185 : END DO
48186 23700 : 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 23700 : END SUBROUTINE ints2bits_58
48190 :
48191 : ! **************************************************************************************************
48192 : !> \brief ...
48193 : !> \param Ndata ...
48194 : !> \param packed_data ...
48195 : !> \param full_data ...
48196 : ! **************************************************************************************************
48197 96891 : 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 96891 : ipack = 0
48208 96891 : idata = 0
48209 96891 : pack_tmp = 0
48210 96891 : Ndata_rep = (Ndata/64)*64
48211 96891 : DO kdata = 1, Ndata_rep, 64
48212 1537812 : idata = idata + 1
48213 1537812 : data_tmp = ISHFT(pack_tmp, 58)
48214 1537812 : ipack = ipack + 1
48215 1537812 : pack_tmp = packed_data(ipack)
48216 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
48217 1537812 : pack_tmp = ISHFT(pack_tmp, -58)
48218 1537812 : idata = idata + 1
48219 1537812 : data_tmp = ISHFT(pack_tmp, 52)
48220 1537812 : ipack = ipack + 1
48221 1537812 : pack_tmp = packed_data(ipack)
48222 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
48223 1537812 : pack_tmp = ISHFT(pack_tmp, -52)
48224 1537812 : idata = idata + 1
48225 1537812 : data_tmp = ISHFT(pack_tmp, 46)
48226 1537812 : ipack = ipack + 1
48227 1537812 : pack_tmp = packed_data(ipack)
48228 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
48229 1537812 : pack_tmp = ISHFT(pack_tmp, -46)
48230 1537812 : idata = idata + 1
48231 1537812 : data_tmp = ISHFT(pack_tmp, 40)
48232 1537812 : ipack = ipack + 1
48233 1537812 : pack_tmp = packed_data(ipack)
48234 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
48235 1537812 : pack_tmp = ISHFT(pack_tmp, -40)
48236 1537812 : idata = idata + 1
48237 1537812 : data_tmp = ISHFT(pack_tmp, 34)
48238 1537812 : ipack = ipack + 1
48239 1537812 : pack_tmp = packed_data(ipack)
48240 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
48241 1537812 : pack_tmp = ISHFT(pack_tmp, -34)
48242 1537812 : idata = idata + 1
48243 1537812 : data_tmp = ISHFT(pack_tmp, 28)
48244 1537812 : ipack = ipack + 1
48245 1537812 : pack_tmp = packed_data(ipack)
48246 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
48247 1537812 : pack_tmp = ISHFT(pack_tmp, -28)
48248 1537812 : idata = idata + 1
48249 1537812 : data_tmp = ISHFT(pack_tmp, 22)
48250 1537812 : ipack = ipack + 1
48251 1537812 : pack_tmp = packed_data(ipack)
48252 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
48253 1537812 : pack_tmp = ISHFT(pack_tmp, -22)
48254 1537812 : idata = idata + 1
48255 1537812 : data_tmp = ISHFT(pack_tmp, 16)
48256 1537812 : ipack = ipack + 1
48257 1537812 : pack_tmp = packed_data(ipack)
48258 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
48259 1537812 : pack_tmp = ISHFT(pack_tmp, -16)
48260 1537812 : idata = idata + 1
48261 1537812 : data_tmp = ISHFT(pack_tmp, 10)
48262 1537812 : ipack = ipack + 1
48263 1537812 : pack_tmp = packed_data(ipack)
48264 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
48265 1537812 : pack_tmp = ISHFT(pack_tmp, -10)
48266 1537812 : idata = idata + 1
48267 1537812 : data_tmp = ISHFT(pack_tmp, 4)
48268 1537812 : ipack = ipack + 1
48269 1537812 : pack_tmp = packed_data(ipack)
48270 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
48271 1537812 : pack_tmp = ISHFT(pack_tmp, -4)
48272 1537812 : idata = idata + 1
48273 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48274 1537812 : full_data(idata) = data_tmp
48275 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48276 1537812 : idata = idata + 1
48277 1537812 : data_tmp = ISHFT(pack_tmp, 56)
48278 1537812 : ipack = ipack + 1
48279 1537812 : pack_tmp = packed_data(ipack)
48280 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
48281 1537812 : pack_tmp = ISHFT(pack_tmp, -56)
48282 1537812 : idata = idata + 1
48283 1537812 : data_tmp = ISHFT(pack_tmp, 50)
48284 1537812 : ipack = ipack + 1
48285 1537812 : pack_tmp = packed_data(ipack)
48286 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
48287 1537812 : pack_tmp = ISHFT(pack_tmp, -50)
48288 1537812 : idata = idata + 1
48289 1537812 : data_tmp = ISHFT(pack_tmp, 44)
48290 1537812 : ipack = ipack + 1
48291 1537812 : pack_tmp = packed_data(ipack)
48292 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
48293 1537812 : pack_tmp = ISHFT(pack_tmp, -44)
48294 1537812 : idata = idata + 1
48295 1537812 : data_tmp = ISHFT(pack_tmp, 38)
48296 1537812 : ipack = ipack + 1
48297 1537812 : pack_tmp = packed_data(ipack)
48298 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
48299 1537812 : pack_tmp = ISHFT(pack_tmp, -38)
48300 1537812 : idata = idata + 1
48301 1537812 : data_tmp = ISHFT(pack_tmp, 32)
48302 1537812 : ipack = ipack + 1
48303 1537812 : pack_tmp = packed_data(ipack)
48304 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
48305 1537812 : pack_tmp = ISHFT(pack_tmp, -32)
48306 1537812 : idata = idata + 1
48307 1537812 : data_tmp = ISHFT(pack_tmp, 26)
48308 1537812 : ipack = ipack + 1
48309 1537812 : pack_tmp = packed_data(ipack)
48310 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
48311 1537812 : pack_tmp = ISHFT(pack_tmp, -26)
48312 1537812 : idata = idata + 1
48313 1537812 : data_tmp = ISHFT(pack_tmp, 20)
48314 1537812 : ipack = ipack + 1
48315 1537812 : pack_tmp = packed_data(ipack)
48316 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
48317 1537812 : pack_tmp = ISHFT(pack_tmp, -20)
48318 1537812 : idata = idata + 1
48319 1537812 : data_tmp = ISHFT(pack_tmp, 14)
48320 1537812 : ipack = ipack + 1
48321 1537812 : pack_tmp = packed_data(ipack)
48322 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
48323 1537812 : pack_tmp = ISHFT(pack_tmp, -14)
48324 1537812 : idata = idata + 1
48325 1537812 : data_tmp = ISHFT(pack_tmp, 8)
48326 1537812 : ipack = ipack + 1
48327 1537812 : pack_tmp = packed_data(ipack)
48328 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
48329 1537812 : pack_tmp = ISHFT(pack_tmp, -8)
48330 1537812 : idata = idata + 1
48331 1537812 : data_tmp = ISHFT(pack_tmp, 2)
48332 1537812 : ipack = ipack + 1
48333 1537812 : pack_tmp = packed_data(ipack)
48334 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
48335 1537812 : pack_tmp = ISHFT(pack_tmp, -2)
48336 1537812 : idata = idata + 1
48337 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48338 1537812 : full_data(idata) = data_tmp
48339 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48340 1537812 : idata = idata + 1
48341 1537812 : data_tmp = ISHFT(pack_tmp, 54)
48342 1537812 : ipack = ipack + 1
48343 1537812 : pack_tmp = packed_data(ipack)
48344 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
48345 1537812 : pack_tmp = ISHFT(pack_tmp, -54)
48346 1537812 : idata = idata + 1
48347 1537812 : data_tmp = ISHFT(pack_tmp, 48)
48348 1537812 : ipack = ipack + 1
48349 1537812 : pack_tmp = packed_data(ipack)
48350 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
48351 1537812 : pack_tmp = ISHFT(pack_tmp, -48)
48352 1537812 : idata = idata + 1
48353 1537812 : data_tmp = ISHFT(pack_tmp, 42)
48354 1537812 : ipack = ipack + 1
48355 1537812 : pack_tmp = packed_data(ipack)
48356 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
48357 1537812 : pack_tmp = ISHFT(pack_tmp, -42)
48358 1537812 : idata = idata + 1
48359 1537812 : data_tmp = ISHFT(pack_tmp, 36)
48360 1537812 : ipack = ipack + 1
48361 1537812 : pack_tmp = packed_data(ipack)
48362 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
48363 1537812 : pack_tmp = ISHFT(pack_tmp, -36)
48364 1537812 : idata = idata + 1
48365 1537812 : data_tmp = ISHFT(pack_tmp, 30)
48366 1537812 : ipack = ipack + 1
48367 1537812 : pack_tmp = packed_data(ipack)
48368 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
48369 1537812 : pack_tmp = ISHFT(pack_tmp, -30)
48370 1537812 : idata = idata + 1
48371 1537812 : data_tmp = ISHFT(pack_tmp, 24)
48372 1537812 : ipack = ipack + 1
48373 1537812 : pack_tmp = packed_data(ipack)
48374 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
48375 1537812 : pack_tmp = ISHFT(pack_tmp, -24)
48376 1537812 : idata = idata + 1
48377 1537812 : data_tmp = ISHFT(pack_tmp, 18)
48378 1537812 : ipack = ipack + 1
48379 1537812 : pack_tmp = packed_data(ipack)
48380 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
48381 1537812 : pack_tmp = ISHFT(pack_tmp, -18)
48382 1537812 : idata = idata + 1
48383 1537812 : data_tmp = ISHFT(pack_tmp, 12)
48384 1537812 : ipack = ipack + 1
48385 1537812 : pack_tmp = packed_data(ipack)
48386 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
48387 1537812 : pack_tmp = ISHFT(pack_tmp, -12)
48388 1537812 : idata = idata + 1
48389 1537812 : data_tmp = ISHFT(pack_tmp, 6)
48390 1537812 : ipack = ipack + 1
48391 1537812 : pack_tmp = packed_data(ipack)
48392 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
48393 1537812 : pack_tmp = ISHFT(pack_tmp, -6)
48394 1537812 : idata = idata + 1
48395 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48396 1537812 : full_data(idata) = data_tmp
48397 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48398 1537812 : idata = idata + 1
48399 1537812 : data_tmp = ISHFT(pack_tmp, 58)
48400 1537812 : ipack = ipack + 1
48401 1537812 : pack_tmp = packed_data(ipack)
48402 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
48403 1537812 : pack_tmp = ISHFT(pack_tmp, -58)
48404 1537812 : idata = idata + 1
48405 1537812 : data_tmp = ISHFT(pack_tmp, 52)
48406 1537812 : ipack = ipack + 1
48407 1537812 : pack_tmp = packed_data(ipack)
48408 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
48409 1537812 : pack_tmp = ISHFT(pack_tmp, -52)
48410 1537812 : idata = idata + 1
48411 1537812 : data_tmp = ISHFT(pack_tmp, 46)
48412 1537812 : ipack = ipack + 1
48413 1537812 : pack_tmp = packed_data(ipack)
48414 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
48415 1537812 : pack_tmp = ISHFT(pack_tmp, -46)
48416 1537812 : idata = idata + 1
48417 1537812 : data_tmp = ISHFT(pack_tmp, 40)
48418 1537812 : ipack = ipack + 1
48419 1537812 : pack_tmp = packed_data(ipack)
48420 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
48421 1537812 : pack_tmp = ISHFT(pack_tmp, -40)
48422 1537812 : idata = idata + 1
48423 1537812 : data_tmp = ISHFT(pack_tmp, 34)
48424 1537812 : ipack = ipack + 1
48425 1537812 : pack_tmp = packed_data(ipack)
48426 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
48427 1537812 : pack_tmp = ISHFT(pack_tmp, -34)
48428 1537812 : idata = idata + 1
48429 1537812 : data_tmp = ISHFT(pack_tmp, 28)
48430 1537812 : ipack = ipack + 1
48431 1537812 : pack_tmp = packed_data(ipack)
48432 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
48433 1537812 : pack_tmp = ISHFT(pack_tmp, -28)
48434 1537812 : idata = idata + 1
48435 1537812 : data_tmp = ISHFT(pack_tmp, 22)
48436 1537812 : ipack = ipack + 1
48437 1537812 : pack_tmp = packed_data(ipack)
48438 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
48439 1537812 : pack_tmp = ISHFT(pack_tmp, -22)
48440 1537812 : idata = idata + 1
48441 1537812 : data_tmp = ISHFT(pack_tmp, 16)
48442 1537812 : ipack = ipack + 1
48443 1537812 : pack_tmp = packed_data(ipack)
48444 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
48445 1537812 : pack_tmp = ISHFT(pack_tmp, -16)
48446 1537812 : idata = idata + 1
48447 1537812 : data_tmp = ISHFT(pack_tmp, 10)
48448 1537812 : ipack = ipack + 1
48449 1537812 : pack_tmp = packed_data(ipack)
48450 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
48451 1537812 : pack_tmp = ISHFT(pack_tmp, -10)
48452 1537812 : idata = idata + 1
48453 1537812 : data_tmp = ISHFT(pack_tmp, 4)
48454 1537812 : ipack = ipack + 1
48455 1537812 : pack_tmp = packed_data(ipack)
48456 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
48457 1537812 : pack_tmp = ISHFT(pack_tmp, -4)
48458 1537812 : idata = idata + 1
48459 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48460 1537812 : full_data(idata) = data_tmp
48461 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48462 1537812 : idata = idata + 1
48463 1537812 : data_tmp = ISHFT(pack_tmp, 56)
48464 1537812 : ipack = ipack + 1
48465 1537812 : pack_tmp = packed_data(ipack)
48466 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
48467 1537812 : pack_tmp = ISHFT(pack_tmp, -56)
48468 1537812 : idata = idata + 1
48469 1537812 : data_tmp = ISHFT(pack_tmp, 50)
48470 1537812 : ipack = ipack + 1
48471 1537812 : pack_tmp = packed_data(ipack)
48472 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
48473 1537812 : pack_tmp = ISHFT(pack_tmp, -50)
48474 1537812 : idata = idata + 1
48475 1537812 : data_tmp = ISHFT(pack_tmp, 44)
48476 1537812 : ipack = ipack + 1
48477 1537812 : pack_tmp = packed_data(ipack)
48478 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
48479 1537812 : pack_tmp = ISHFT(pack_tmp, -44)
48480 1537812 : idata = idata + 1
48481 1537812 : data_tmp = ISHFT(pack_tmp, 38)
48482 1537812 : ipack = ipack + 1
48483 1537812 : pack_tmp = packed_data(ipack)
48484 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
48485 1537812 : pack_tmp = ISHFT(pack_tmp, -38)
48486 1537812 : idata = idata + 1
48487 1537812 : data_tmp = ISHFT(pack_tmp, 32)
48488 1537812 : ipack = ipack + 1
48489 1537812 : pack_tmp = packed_data(ipack)
48490 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
48491 1537812 : pack_tmp = ISHFT(pack_tmp, -32)
48492 1537812 : idata = idata + 1
48493 1537812 : data_tmp = ISHFT(pack_tmp, 26)
48494 1537812 : ipack = ipack + 1
48495 1537812 : pack_tmp = packed_data(ipack)
48496 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
48497 1537812 : pack_tmp = ISHFT(pack_tmp, -26)
48498 1537812 : idata = idata + 1
48499 1537812 : data_tmp = ISHFT(pack_tmp, 20)
48500 1537812 : ipack = ipack + 1
48501 1537812 : pack_tmp = packed_data(ipack)
48502 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
48503 1537812 : pack_tmp = ISHFT(pack_tmp, -20)
48504 1537812 : idata = idata + 1
48505 1537812 : data_tmp = ISHFT(pack_tmp, 14)
48506 1537812 : ipack = ipack + 1
48507 1537812 : pack_tmp = packed_data(ipack)
48508 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
48509 1537812 : pack_tmp = ISHFT(pack_tmp, -14)
48510 1537812 : idata = idata + 1
48511 1537812 : data_tmp = ISHFT(pack_tmp, 8)
48512 1537812 : ipack = ipack + 1
48513 1537812 : pack_tmp = packed_data(ipack)
48514 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
48515 1537812 : pack_tmp = ISHFT(pack_tmp, -8)
48516 1537812 : idata = idata + 1
48517 1537812 : data_tmp = ISHFT(pack_tmp, 2)
48518 1537812 : ipack = ipack + 1
48519 1537812 : pack_tmp = packed_data(ipack)
48520 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
48521 1537812 : pack_tmp = ISHFT(pack_tmp, -2)
48522 1537812 : idata = idata + 1
48523 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48524 1537812 : full_data(idata) = data_tmp
48525 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48526 1537812 : idata = idata + 1
48527 1537812 : data_tmp = ISHFT(pack_tmp, 54)
48528 1537812 : ipack = ipack + 1
48529 1537812 : pack_tmp = packed_data(ipack)
48530 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
48531 1537812 : pack_tmp = ISHFT(pack_tmp, -54)
48532 1537812 : idata = idata + 1
48533 1537812 : data_tmp = ISHFT(pack_tmp, 48)
48534 1537812 : ipack = ipack + 1
48535 1537812 : pack_tmp = packed_data(ipack)
48536 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
48537 1537812 : pack_tmp = ISHFT(pack_tmp, -48)
48538 1537812 : idata = idata + 1
48539 1537812 : data_tmp = ISHFT(pack_tmp, 42)
48540 1537812 : ipack = ipack + 1
48541 1537812 : pack_tmp = packed_data(ipack)
48542 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
48543 1537812 : pack_tmp = ISHFT(pack_tmp, -42)
48544 1537812 : idata = idata + 1
48545 1537812 : data_tmp = ISHFT(pack_tmp, 36)
48546 1537812 : ipack = ipack + 1
48547 1537812 : pack_tmp = packed_data(ipack)
48548 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
48549 1537812 : pack_tmp = ISHFT(pack_tmp, -36)
48550 1537812 : idata = idata + 1
48551 1537812 : data_tmp = ISHFT(pack_tmp, 30)
48552 1537812 : ipack = ipack + 1
48553 1537812 : pack_tmp = packed_data(ipack)
48554 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
48555 1537812 : pack_tmp = ISHFT(pack_tmp, -30)
48556 1537812 : idata = idata + 1
48557 1537812 : data_tmp = ISHFT(pack_tmp, 24)
48558 1537812 : ipack = ipack + 1
48559 1537812 : pack_tmp = packed_data(ipack)
48560 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
48561 1537812 : pack_tmp = ISHFT(pack_tmp, -24)
48562 1537812 : idata = idata + 1
48563 1537812 : data_tmp = ISHFT(pack_tmp, 18)
48564 1537812 : ipack = ipack + 1
48565 1537812 : pack_tmp = packed_data(ipack)
48566 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
48567 1537812 : pack_tmp = ISHFT(pack_tmp, -18)
48568 1537812 : idata = idata + 1
48569 1537812 : data_tmp = ISHFT(pack_tmp, 12)
48570 1537812 : ipack = ipack + 1
48571 1537812 : pack_tmp = packed_data(ipack)
48572 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
48573 1537812 : pack_tmp = ISHFT(pack_tmp, -12)
48574 1537812 : idata = idata + 1
48575 1537812 : data_tmp = ISHFT(pack_tmp, 6)
48576 1537812 : ipack = ipack + 1
48577 1537812 : pack_tmp = packed_data(ipack)
48578 1537812 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
48579 1537812 : pack_tmp = ISHFT(pack_tmp, -6)
48580 1537812 : idata = idata + 1
48581 1537812 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48582 1537812 : full_data(idata) = data_tmp
48583 1537812 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48584 : END DO
48585 96891 : 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 96891 : END SUBROUTINE bits2ints_58
48589 :
48590 : ! **************************************************************************************************
48591 : !> \brief ...
48592 : !> \param Ndata ...
48593 : !> \param packed_data ...
48594 : !> \param full_data ...
48595 : ! **************************************************************************************************
48596 23676 : 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 23676 : idata = 0
48607 23676 : ipack = 0
48608 23676 : Ndata_rep = (Ndata/64)*64
48609 23676 : DO kdata = 1, Ndata_rep, 64
48610 378816 : pack_tmp = 0
48611 378816 : idata = idata + 1
48612 378816 : data_tmp = full_data(idata)
48613 378816 : data_tmp = ISHFT(data_tmp, 5)
48614 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48615 378816 : pack_tmp = ISHFT(pack_tmp, -5)
48616 378816 : idata = idata + 1
48617 378816 : data_tmp = full_data(idata)
48618 378816 : data_tmp = ISHFT(data_tmp, 5)
48619 378816 : data_tmp = IAND(data_tmp, mask_left(5))
48620 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48621 378816 : ipack = ipack + 1
48622 378816 : packed_data(ipack) = pack_tmp
48623 378816 : data_tmp = full_data(idata)
48624 378816 : pack_tmp = ISHFT(data_tmp, 10)
48625 378816 : pack_tmp = ISHFT(pack_tmp, -10)
48626 378816 : idata = idata + 1
48627 378816 : data_tmp = full_data(idata)
48628 378816 : data_tmp = ISHFT(data_tmp, 5)
48629 378816 : data_tmp = IAND(data_tmp, mask_left(10))
48630 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48631 378816 : ipack = ipack + 1
48632 378816 : packed_data(ipack) = pack_tmp
48633 378816 : data_tmp = full_data(idata)
48634 378816 : pack_tmp = ISHFT(data_tmp, 15)
48635 378816 : pack_tmp = ISHFT(pack_tmp, -15)
48636 378816 : idata = idata + 1
48637 378816 : data_tmp = full_data(idata)
48638 378816 : data_tmp = ISHFT(data_tmp, 5)
48639 378816 : data_tmp = IAND(data_tmp, mask_left(15))
48640 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48641 378816 : ipack = ipack + 1
48642 378816 : packed_data(ipack) = pack_tmp
48643 378816 : data_tmp = full_data(idata)
48644 378816 : pack_tmp = ISHFT(data_tmp, 20)
48645 378816 : pack_tmp = ISHFT(pack_tmp, -20)
48646 378816 : idata = idata + 1
48647 378816 : data_tmp = full_data(idata)
48648 378816 : data_tmp = ISHFT(data_tmp, 5)
48649 378816 : data_tmp = IAND(data_tmp, mask_left(20))
48650 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48651 378816 : ipack = ipack + 1
48652 378816 : packed_data(ipack) = pack_tmp
48653 378816 : data_tmp = full_data(idata)
48654 378816 : pack_tmp = ISHFT(data_tmp, 25)
48655 378816 : pack_tmp = ISHFT(pack_tmp, -25)
48656 378816 : idata = idata + 1
48657 378816 : data_tmp = full_data(idata)
48658 378816 : data_tmp = ISHFT(data_tmp, 5)
48659 378816 : data_tmp = IAND(data_tmp, mask_left(25))
48660 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48661 378816 : ipack = ipack + 1
48662 378816 : packed_data(ipack) = pack_tmp
48663 378816 : data_tmp = full_data(idata)
48664 378816 : pack_tmp = ISHFT(data_tmp, 30)
48665 378816 : pack_tmp = ISHFT(pack_tmp, -30)
48666 378816 : idata = idata + 1
48667 378816 : data_tmp = full_data(idata)
48668 378816 : data_tmp = ISHFT(data_tmp, 5)
48669 378816 : data_tmp = IAND(data_tmp, mask_left(30))
48670 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48671 378816 : ipack = ipack + 1
48672 378816 : packed_data(ipack) = pack_tmp
48673 378816 : data_tmp = full_data(idata)
48674 378816 : pack_tmp = ISHFT(data_tmp, 35)
48675 378816 : pack_tmp = ISHFT(pack_tmp, -35)
48676 378816 : idata = idata + 1
48677 378816 : data_tmp = full_data(idata)
48678 378816 : data_tmp = ISHFT(data_tmp, 5)
48679 378816 : data_tmp = IAND(data_tmp, mask_left(35))
48680 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48681 378816 : ipack = ipack + 1
48682 378816 : packed_data(ipack) = pack_tmp
48683 378816 : data_tmp = full_data(idata)
48684 378816 : pack_tmp = ISHFT(data_tmp, 40)
48685 378816 : pack_tmp = ISHFT(pack_tmp, -40)
48686 378816 : idata = idata + 1
48687 378816 : data_tmp = full_data(idata)
48688 378816 : data_tmp = ISHFT(data_tmp, 5)
48689 378816 : data_tmp = IAND(data_tmp, mask_left(40))
48690 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48691 378816 : ipack = ipack + 1
48692 378816 : packed_data(ipack) = pack_tmp
48693 378816 : data_tmp = full_data(idata)
48694 378816 : pack_tmp = ISHFT(data_tmp, 45)
48695 378816 : pack_tmp = ISHFT(pack_tmp, -45)
48696 378816 : idata = idata + 1
48697 378816 : data_tmp = full_data(idata)
48698 378816 : data_tmp = ISHFT(data_tmp, 5)
48699 378816 : data_tmp = IAND(data_tmp, mask_left(45))
48700 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48701 378816 : ipack = ipack + 1
48702 378816 : packed_data(ipack) = pack_tmp
48703 378816 : data_tmp = full_data(idata)
48704 378816 : pack_tmp = ISHFT(data_tmp, 50)
48705 378816 : pack_tmp = ISHFT(pack_tmp, -50)
48706 378816 : idata = idata + 1
48707 378816 : data_tmp = full_data(idata)
48708 378816 : data_tmp = ISHFT(data_tmp, 5)
48709 378816 : data_tmp = IAND(data_tmp, mask_left(50))
48710 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48711 378816 : ipack = ipack + 1
48712 378816 : packed_data(ipack) = pack_tmp
48713 378816 : data_tmp = full_data(idata)
48714 378816 : pack_tmp = ISHFT(data_tmp, 55)
48715 378816 : pack_tmp = ISHFT(pack_tmp, -55)
48716 378816 : idata = idata + 1
48717 378816 : data_tmp = full_data(idata)
48718 378816 : data_tmp = ISHFT(data_tmp, 5)
48719 378816 : data_tmp = IAND(data_tmp, mask_left(55))
48720 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48721 378816 : ipack = ipack + 1
48722 378816 : packed_data(ipack) = pack_tmp
48723 378816 : data_tmp = full_data(idata)
48724 378816 : pack_tmp = ISHFT(data_tmp, 60)
48725 378816 : pack_tmp = ISHFT(pack_tmp, -59)
48726 378816 : idata = idata + 1
48727 378816 : data_tmp = full_data(idata)
48728 378816 : data_tmp = ISHFT(data_tmp, 5)
48729 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48730 378816 : pack_tmp = ISHFT(pack_tmp, -1)
48731 378816 : idata = idata + 1
48732 378816 : data_tmp = full_data(idata)
48733 378816 : data_tmp = ISHFT(data_tmp, 5)
48734 378816 : data_tmp = IAND(data_tmp, mask_left(1))
48735 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48736 378816 : ipack = ipack + 1
48737 378816 : packed_data(ipack) = pack_tmp
48738 378816 : data_tmp = full_data(idata)
48739 378816 : pack_tmp = ISHFT(data_tmp, 6)
48740 378816 : pack_tmp = ISHFT(pack_tmp, -6)
48741 378816 : idata = idata + 1
48742 378816 : data_tmp = full_data(idata)
48743 378816 : data_tmp = ISHFT(data_tmp, 5)
48744 378816 : data_tmp = IAND(data_tmp, mask_left(6))
48745 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48746 378816 : ipack = ipack + 1
48747 378816 : packed_data(ipack) = pack_tmp
48748 378816 : data_tmp = full_data(idata)
48749 378816 : pack_tmp = ISHFT(data_tmp, 11)
48750 378816 : pack_tmp = ISHFT(pack_tmp, -11)
48751 378816 : idata = idata + 1
48752 378816 : data_tmp = full_data(idata)
48753 378816 : data_tmp = ISHFT(data_tmp, 5)
48754 378816 : data_tmp = IAND(data_tmp, mask_left(11))
48755 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48756 378816 : ipack = ipack + 1
48757 378816 : packed_data(ipack) = pack_tmp
48758 378816 : data_tmp = full_data(idata)
48759 378816 : pack_tmp = ISHFT(data_tmp, 16)
48760 378816 : pack_tmp = ISHFT(pack_tmp, -16)
48761 378816 : idata = idata + 1
48762 378816 : data_tmp = full_data(idata)
48763 378816 : data_tmp = ISHFT(data_tmp, 5)
48764 378816 : data_tmp = IAND(data_tmp, mask_left(16))
48765 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48766 378816 : ipack = ipack + 1
48767 378816 : packed_data(ipack) = pack_tmp
48768 378816 : data_tmp = full_data(idata)
48769 378816 : pack_tmp = ISHFT(data_tmp, 21)
48770 378816 : pack_tmp = ISHFT(pack_tmp, -21)
48771 378816 : idata = idata + 1
48772 378816 : data_tmp = full_data(idata)
48773 378816 : data_tmp = ISHFT(data_tmp, 5)
48774 378816 : data_tmp = IAND(data_tmp, mask_left(21))
48775 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48776 378816 : ipack = ipack + 1
48777 378816 : packed_data(ipack) = pack_tmp
48778 378816 : data_tmp = full_data(idata)
48779 378816 : pack_tmp = ISHFT(data_tmp, 26)
48780 378816 : pack_tmp = ISHFT(pack_tmp, -26)
48781 378816 : idata = idata + 1
48782 378816 : data_tmp = full_data(idata)
48783 378816 : data_tmp = ISHFT(data_tmp, 5)
48784 378816 : data_tmp = IAND(data_tmp, mask_left(26))
48785 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48786 378816 : ipack = ipack + 1
48787 378816 : packed_data(ipack) = pack_tmp
48788 378816 : data_tmp = full_data(idata)
48789 378816 : pack_tmp = ISHFT(data_tmp, 31)
48790 378816 : pack_tmp = ISHFT(pack_tmp, -31)
48791 378816 : idata = idata + 1
48792 378816 : data_tmp = full_data(idata)
48793 378816 : data_tmp = ISHFT(data_tmp, 5)
48794 378816 : data_tmp = IAND(data_tmp, mask_left(31))
48795 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48796 378816 : ipack = ipack + 1
48797 378816 : packed_data(ipack) = pack_tmp
48798 378816 : data_tmp = full_data(idata)
48799 378816 : pack_tmp = ISHFT(data_tmp, 36)
48800 378816 : pack_tmp = ISHFT(pack_tmp, -36)
48801 378816 : idata = idata + 1
48802 378816 : data_tmp = full_data(idata)
48803 378816 : data_tmp = ISHFT(data_tmp, 5)
48804 378816 : data_tmp = IAND(data_tmp, mask_left(36))
48805 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48806 378816 : ipack = ipack + 1
48807 378816 : packed_data(ipack) = pack_tmp
48808 378816 : data_tmp = full_data(idata)
48809 378816 : pack_tmp = ISHFT(data_tmp, 41)
48810 378816 : pack_tmp = ISHFT(pack_tmp, -41)
48811 378816 : idata = idata + 1
48812 378816 : data_tmp = full_data(idata)
48813 378816 : data_tmp = ISHFT(data_tmp, 5)
48814 378816 : data_tmp = IAND(data_tmp, mask_left(41))
48815 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48816 378816 : ipack = ipack + 1
48817 378816 : packed_data(ipack) = pack_tmp
48818 378816 : data_tmp = full_data(idata)
48819 378816 : pack_tmp = ISHFT(data_tmp, 46)
48820 378816 : pack_tmp = ISHFT(pack_tmp, -46)
48821 378816 : idata = idata + 1
48822 378816 : data_tmp = full_data(idata)
48823 378816 : data_tmp = ISHFT(data_tmp, 5)
48824 378816 : data_tmp = IAND(data_tmp, mask_left(46))
48825 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48826 378816 : ipack = ipack + 1
48827 378816 : packed_data(ipack) = pack_tmp
48828 378816 : data_tmp = full_data(idata)
48829 378816 : pack_tmp = ISHFT(data_tmp, 51)
48830 378816 : pack_tmp = ISHFT(pack_tmp, -51)
48831 378816 : idata = idata + 1
48832 378816 : data_tmp = full_data(idata)
48833 378816 : data_tmp = ISHFT(data_tmp, 5)
48834 378816 : data_tmp = IAND(data_tmp, mask_left(51))
48835 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48836 378816 : ipack = ipack + 1
48837 378816 : packed_data(ipack) = pack_tmp
48838 378816 : data_tmp = full_data(idata)
48839 378816 : pack_tmp = ISHFT(data_tmp, 56)
48840 378816 : pack_tmp = ISHFT(pack_tmp, -56)
48841 378816 : idata = idata + 1
48842 378816 : data_tmp = full_data(idata)
48843 378816 : data_tmp = ISHFT(data_tmp, 5)
48844 378816 : data_tmp = IAND(data_tmp, mask_left(56))
48845 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48846 378816 : ipack = ipack + 1
48847 378816 : packed_data(ipack) = pack_tmp
48848 378816 : data_tmp = full_data(idata)
48849 378816 : pack_tmp = ISHFT(data_tmp, 61)
48850 378816 : pack_tmp = ISHFT(pack_tmp, -59)
48851 378816 : idata = idata + 1
48852 378816 : data_tmp = full_data(idata)
48853 378816 : data_tmp = ISHFT(data_tmp, 5)
48854 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48855 378816 : pack_tmp = ISHFT(pack_tmp, -2)
48856 378816 : idata = idata + 1
48857 378816 : data_tmp = full_data(idata)
48858 378816 : data_tmp = ISHFT(data_tmp, 5)
48859 378816 : data_tmp = IAND(data_tmp, mask_left(2))
48860 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48861 378816 : ipack = ipack + 1
48862 378816 : packed_data(ipack) = pack_tmp
48863 378816 : data_tmp = full_data(idata)
48864 378816 : pack_tmp = ISHFT(data_tmp, 7)
48865 378816 : pack_tmp = ISHFT(pack_tmp, -7)
48866 378816 : idata = idata + 1
48867 378816 : data_tmp = full_data(idata)
48868 378816 : data_tmp = ISHFT(data_tmp, 5)
48869 378816 : data_tmp = IAND(data_tmp, mask_left(7))
48870 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48871 378816 : ipack = ipack + 1
48872 378816 : packed_data(ipack) = pack_tmp
48873 378816 : data_tmp = full_data(idata)
48874 378816 : pack_tmp = ISHFT(data_tmp, 12)
48875 378816 : pack_tmp = ISHFT(pack_tmp, -12)
48876 378816 : idata = idata + 1
48877 378816 : data_tmp = full_data(idata)
48878 378816 : data_tmp = ISHFT(data_tmp, 5)
48879 378816 : data_tmp = IAND(data_tmp, mask_left(12))
48880 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48881 378816 : ipack = ipack + 1
48882 378816 : packed_data(ipack) = pack_tmp
48883 378816 : data_tmp = full_data(idata)
48884 378816 : pack_tmp = ISHFT(data_tmp, 17)
48885 378816 : pack_tmp = ISHFT(pack_tmp, -17)
48886 378816 : idata = idata + 1
48887 378816 : data_tmp = full_data(idata)
48888 378816 : data_tmp = ISHFT(data_tmp, 5)
48889 378816 : data_tmp = IAND(data_tmp, mask_left(17))
48890 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48891 378816 : ipack = ipack + 1
48892 378816 : packed_data(ipack) = pack_tmp
48893 378816 : data_tmp = full_data(idata)
48894 378816 : pack_tmp = ISHFT(data_tmp, 22)
48895 378816 : pack_tmp = ISHFT(pack_tmp, -22)
48896 378816 : idata = idata + 1
48897 378816 : data_tmp = full_data(idata)
48898 378816 : data_tmp = ISHFT(data_tmp, 5)
48899 378816 : data_tmp = IAND(data_tmp, mask_left(22))
48900 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48901 378816 : ipack = ipack + 1
48902 378816 : packed_data(ipack) = pack_tmp
48903 378816 : data_tmp = full_data(idata)
48904 378816 : pack_tmp = ISHFT(data_tmp, 27)
48905 378816 : pack_tmp = ISHFT(pack_tmp, -27)
48906 378816 : idata = idata + 1
48907 378816 : data_tmp = full_data(idata)
48908 378816 : data_tmp = ISHFT(data_tmp, 5)
48909 378816 : data_tmp = IAND(data_tmp, mask_left(27))
48910 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48911 378816 : ipack = ipack + 1
48912 378816 : packed_data(ipack) = pack_tmp
48913 378816 : data_tmp = full_data(idata)
48914 378816 : pack_tmp = ISHFT(data_tmp, 32)
48915 378816 : pack_tmp = ISHFT(pack_tmp, -32)
48916 378816 : idata = idata + 1
48917 378816 : data_tmp = full_data(idata)
48918 378816 : data_tmp = ISHFT(data_tmp, 5)
48919 378816 : data_tmp = IAND(data_tmp, mask_left(32))
48920 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48921 378816 : ipack = ipack + 1
48922 378816 : packed_data(ipack) = pack_tmp
48923 378816 : data_tmp = full_data(idata)
48924 378816 : pack_tmp = ISHFT(data_tmp, 37)
48925 378816 : pack_tmp = ISHFT(pack_tmp, -37)
48926 378816 : idata = idata + 1
48927 378816 : data_tmp = full_data(idata)
48928 378816 : data_tmp = ISHFT(data_tmp, 5)
48929 378816 : data_tmp = IAND(data_tmp, mask_left(37))
48930 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48931 378816 : ipack = ipack + 1
48932 378816 : packed_data(ipack) = pack_tmp
48933 378816 : data_tmp = full_data(idata)
48934 378816 : pack_tmp = ISHFT(data_tmp, 42)
48935 378816 : pack_tmp = ISHFT(pack_tmp, -42)
48936 378816 : idata = idata + 1
48937 378816 : data_tmp = full_data(idata)
48938 378816 : data_tmp = ISHFT(data_tmp, 5)
48939 378816 : data_tmp = IAND(data_tmp, mask_left(42))
48940 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48941 378816 : ipack = ipack + 1
48942 378816 : packed_data(ipack) = pack_tmp
48943 378816 : data_tmp = full_data(idata)
48944 378816 : pack_tmp = ISHFT(data_tmp, 47)
48945 378816 : pack_tmp = ISHFT(pack_tmp, -47)
48946 378816 : idata = idata + 1
48947 378816 : data_tmp = full_data(idata)
48948 378816 : data_tmp = ISHFT(data_tmp, 5)
48949 378816 : data_tmp = IAND(data_tmp, mask_left(47))
48950 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48951 378816 : ipack = ipack + 1
48952 378816 : packed_data(ipack) = pack_tmp
48953 378816 : data_tmp = full_data(idata)
48954 378816 : pack_tmp = ISHFT(data_tmp, 52)
48955 378816 : pack_tmp = ISHFT(pack_tmp, -52)
48956 378816 : idata = idata + 1
48957 378816 : data_tmp = full_data(idata)
48958 378816 : data_tmp = ISHFT(data_tmp, 5)
48959 378816 : data_tmp = IAND(data_tmp, mask_left(52))
48960 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48961 378816 : ipack = ipack + 1
48962 378816 : packed_data(ipack) = pack_tmp
48963 378816 : data_tmp = full_data(idata)
48964 378816 : pack_tmp = ISHFT(data_tmp, 57)
48965 378816 : pack_tmp = ISHFT(pack_tmp, -57)
48966 378816 : idata = idata + 1
48967 378816 : data_tmp = full_data(idata)
48968 378816 : data_tmp = ISHFT(data_tmp, 5)
48969 378816 : data_tmp = IAND(data_tmp, mask_left(57))
48970 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48971 378816 : ipack = ipack + 1
48972 378816 : packed_data(ipack) = pack_tmp
48973 378816 : data_tmp = full_data(idata)
48974 378816 : pack_tmp = ISHFT(data_tmp, 62)
48975 378816 : pack_tmp = ISHFT(pack_tmp, -59)
48976 378816 : idata = idata + 1
48977 378816 : data_tmp = full_data(idata)
48978 378816 : data_tmp = ISHFT(data_tmp, 5)
48979 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48980 378816 : pack_tmp = ISHFT(pack_tmp, -3)
48981 378816 : idata = idata + 1
48982 378816 : data_tmp = full_data(idata)
48983 378816 : data_tmp = ISHFT(data_tmp, 5)
48984 378816 : data_tmp = IAND(data_tmp, mask_left(3))
48985 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48986 378816 : ipack = ipack + 1
48987 378816 : packed_data(ipack) = pack_tmp
48988 378816 : data_tmp = full_data(idata)
48989 378816 : pack_tmp = ISHFT(data_tmp, 8)
48990 378816 : pack_tmp = ISHFT(pack_tmp, -8)
48991 378816 : idata = idata + 1
48992 378816 : data_tmp = full_data(idata)
48993 378816 : data_tmp = ISHFT(data_tmp, 5)
48994 378816 : data_tmp = IAND(data_tmp, mask_left(8))
48995 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
48996 378816 : ipack = ipack + 1
48997 378816 : packed_data(ipack) = pack_tmp
48998 378816 : data_tmp = full_data(idata)
48999 378816 : pack_tmp = ISHFT(data_tmp, 13)
49000 378816 : pack_tmp = ISHFT(pack_tmp, -13)
49001 378816 : idata = idata + 1
49002 378816 : data_tmp = full_data(idata)
49003 378816 : data_tmp = ISHFT(data_tmp, 5)
49004 378816 : data_tmp = IAND(data_tmp, mask_left(13))
49005 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49006 378816 : ipack = ipack + 1
49007 378816 : packed_data(ipack) = pack_tmp
49008 378816 : data_tmp = full_data(idata)
49009 378816 : pack_tmp = ISHFT(data_tmp, 18)
49010 378816 : pack_tmp = ISHFT(pack_tmp, -18)
49011 378816 : idata = idata + 1
49012 378816 : data_tmp = full_data(idata)
49013 378816 : data_tmp = ISHFT(data_tmp, 5)
49014 378816 : data_tmp = IAND(data_tmp, mask_left(18))
49015 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49016 378816 : ipack = ipack + 1
49017 378816 : packed_data(ipack) = pack_tmp
49018 378816 : data_tmp = full_data(idata)
49019 378816 : pack_tmp = ISHFT(data_tmp, 23)
49020 378816 : pack_tmp = ISHFT(pack_tmp, -23)
49021 378816 : idata = idata + 1
49022 378816 : data_tmp = full_data(idata)
49023 378816 : data_tmp = ISHFT(data_tmp, 5)
49024 378816 : data_tmp = IAND(data_tmp, mask_left(23))
49025 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49026 378816 : ipack = ipack + 1
49027 378816 : packed_data(ipack) = pack_tmp
49028 378816 : data_tmp = full_data(idata)
49029 378816 : pack_tmp = ISHFT(data_tmp, 28)
49030 378816 : pack_tmp = ISHFT(pack_tmp, -28)
49031 378816 : idata = idata + 1
49032 378816 : data_tmp = full_data(idata)
49033 378816 : data_tmp = ISHFT(data_tmp, 5)
49034 378816 : data_tmp = IAND(data_tmp, mask_left(28))
49035 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49036 378816 : ipack = ipack + 1
49037 378816 : packed_data(ipack) = pack_tmp
49038 378816 : data_tmp = full_data(idata)
49039 378816 : pack_tmp = ISHFT(data_tmp, 33)
49040 378816 : pack_tmp = ISHFT(pack_tmp, -33)
49041 378816 : idata = idata + 1
49042 378816 : data_tmp = full_data(idata)
49043 378816 : data_tmp = ISHFT(data_tmp, 5)
49044 378816 : data_tmp = IAND(data_tmp, mask_left(33))
49045 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49046 378816 : ipack = ipack + 1
49047 378816 : packed_data(ipack) = pack_tmp
49048 378816 : data_tmp = full_data(idata)
49049 378816 : pack_tmp = ISHFT(data_tmp, 38)
49050 378816 : pack_tmp = ISHFT(pack_tmp, -38)
49051 378816 : idata = idata + 1
49052 378816 : data_tmp = full_data(idata)
49053 378816 : data_tmp = ISHFT(data_tmp, 5)
49054 378816 : data_tmp = IAND(data_tmp, mask_left(38))
49055 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49056 378816 : ipack = ipack + 1
49057 378816 : packed_data(ipack) = pack_tmp
49058 378816 : data_tmp = full_data(idata)
49059 378816 : pack_tmp = ISHFT(data_tmp, 43)
49060 378816 : pack_tmp = ISHFT(pack_tmp, -43)
49061 378816 : idata = idata + 1
49062 378816 : data_tmp = full_data(idata)
49063 378816 : data_tmp = ISHFT(data_tmp, 5)
49064 378816 : data_tmp = IAND(data_tmp, mask_left(43))
49065 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49066 378816 : ipack = ipack + 1
49067 378816 : packed_data(ipack) = pack_tmp
49068 378816 : data_tmp = full_data(idata)
49069 378816 : pack_tmp = ISHFT(data_tmp, 48)
49070 378816 : pack_tmp = ISHFT(pack_tmp, -48)
49071 378816 : idata = idata + 1
49072 378816 : data_tmp = full_data(idata)
49073 378816 : data_tmp = ISHFT(data_tmp, 5)
49074 378816 : data_tmp = IAND(data_tmp, mask_left(48))
49075 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49076 378816 : ipack = ipack + 1
49077 378816 : packed_data(ipack) = pack_tmp
49078 378816 : data_tmp = full_data(idata)
49079 378816 : pack_tmp = ISHFT(data_tmp, 53)
49080 378816 : pack_tmp = ISHFT(pack_tmp, -53)
49081 378816 : idata = idata + 1
49082 378816 : data_tmp = full_data(idata)
49083 378816 : data_tmp = ISHFT(data_tmp, 5)
49084 378816 : data_tmp = IAND(data_tmp, mask_left(53))
49085 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49086 378816 : ipack = ipack + 1
49087 378816 : packed_data(ipack) = pack_tmp
49088 378816 : data_tmp = full_data(idata)
49089 378816 : pack_tmp = ISHFT(data_tmp, 58)
49090 378816 : pack_tmp = ISHFT(pack_tmp, -58)
49091 378816 : idata = idata + 1
49092 378816 : data_tmp = full_data(idata)
49093 378816 : data_tmp = ISHFT(data_tmp, 5)
49094 378816 : data_tmp = IAND(data_tmp, mask_left(58))
49095 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49096 378816 : ipack = ipack + 1
49097 378816 : packed_data(ipack) = pack_tmp
49098 378816 : data_tmp = full_data(idata)
49099 378816 : pack_tmp = ISHFT(data_tmp, 63)
49100 378816 : pack_tmp = ISHFT(pack_tmp, -59)
49101 378816 : idata = idata + 1
49102 378816 : data_tmp = full_data(idata)
49103 378816 : data_tmp = ISHFT(data_tmp, 5)
49104 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49105 378816 : pack_tmp = ISHFT(pack_tmp, -4)
49106 378816 : idata = idata + 1
49107 378816 : data_tmp = full_data(idata)
49108 378816 : data_tmp = ISHFT(data_tmp, 5)
49109 378816 : data_tmp = IAND(data_tmp, mask_left(4))
49110 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49111 378816 : ipack = ipack + 1
49112 378816 : packed_data(ipack) = pack_tmp
49113 378816 : data_tmp = full_data(idata)
49114 378816 : pack_tmp = ISHFT(data_tmp, 9)
49115 378816 : pack_tmp = ISHFT(pack_tmp, -9)
49116 378816 : idata = idata + 1
49117 378816 : data_tmp = full_data(idata)
49118 378816 : data_tmp = ISHFT(data_tmp, 5)
49119 378816 : data_tmp = IAND(data_tmp, mask_left(9))
49120 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49121 378816 : ipack = ipack + 1
49122 378816 : packed_data(ipack) = pack_tmp
49123 378816 : data_tmp = full_data(idata)
49124 378816 : pack_tmp = ISHFT(data_tmp, 14)
49125 378816 : pack_tmp = ISHFT(pack_tmp, -14)
49126 378816 : idata = idata + 1
49127 378816 : data_tmp = full_data(idata)
49128 378816 : data_tmp = ISHFT(data_tmp, 5)
49129 378816 : data_tmp = IAND(data_tmp, mask_left(14))
49130 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49131 378816 : ipack = ipack + 1
49132 378816 : packed_data(ipack) = pack_tmp
49133 378816 : data_tmp = full_data(idata)
49134 378816 : pack_tmp = ISHFT(data_tmp, 19)
49135 378816 : pack_tmp = ISHFT(pack_tmp, -19)
49136 378816 : idata = idata + 1
49137 378816 : data_tmp = full_data(idata)
49138 378816 : data_tmp = ISHFT(data_tmp, 5)
49139 378816 : data_tmp = IAND(data_tmp, mask_left(19))
49140 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49141 378816 : ipack = ipack + 1
49142 378816 : packed_data(ipack) = pack_tmp
49143 378816 : data_tmp = full_data(idata)
49144 378816 : pack_tmp = ISHFT(data_tmp, 24)
49145 378816 : pack_tmp = ISHFT(pack_tmp, -24)
49146 378816 : idata = idata + 1
49147 378816 : data_tmp = full_data(idata)
49148 378816 : data_tmp = ISHFT(data_tmp, 5)
49149 378816 : data_tmp = IAND(data_tmp, mask_left(24))
49150 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49151 378816 : ipack = ipack + 1
49152 378816 : packed_data(ipack) = pack_tmp
49153 378816 : data_tmp = full_data(idata)
49154 378816 : pack_tmp = ISHFT(data_tmp, 29)
49155 378816 : pack_tmp = ISHFT(pack_tmp, -29)
49156 378816 : idata = idata + 1
49157 378816 : data_tmp = full_data(idata)
49158 378816 : data_tmp = ISHFT(data_tmp, 5)
49159 378816 : data_tmp = IAND(data_tmp, mask_left(29))
49160 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49161 378816 : ipack = ipack + 1
49162 378816 : packed_data(ipack) = pack_tmp
49163 378816 : data_tmp = full_data(idata)
49164 378816 : pack_tmp = ISHFT(data_tmp, 34)
49165 378816 : pack_tmp = ISHFT(pack_tmp, -34)
49166 378816 : idata = idata + 1
49167 378816 : data_tmp = full_data(idata)
49168 378816 : data_tmp = ISHFT(data_tmp, 5)
49169 378816 : data_tmp = IAND(data_tmp, mask_left(34))
49170 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49171 378816 : ipack = ipack + 1
49172 378816 : packed_data(ipack) = pack_tmp
49173 378816 : data_tmp = full_data(idata)
49174 378816 : pack_tmp = ISHFT(data_tmp, 39)
49175 378816 : pack_tmp = ISHFT(pack_tmp, -39)
49176 378816 : idata = idata + 1
49177 378816 : data_tmp = full_data(idata)
49178 378816 : data_tmp = ISHFT(data_tmp, 5)
49179 378816 : data_tmp = IAND(data_tmp, mask_left(39))
49180 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49181 378816 : ipack = ipack + 1
49182 378816 : packed_data(ipack) = pack_tmp
49183 378816 : data_tmp = full_data(idata)
49184 378816 : pack_tmp = ISHFT(data_tmp, 44)
49185 378816 : pack_tmp = ISHFT(pack_tmp, -44)
49186 378816 : idata = idata + 1
49187 378816 : data_tmp = full_data(idata)
49188 378816 : data_tmp = ISHFT(data_tmp, 5)
49189 378816 : data_tmp = IAND(data_tmp, mask_left(44))
49190 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49191 378816 : ipack = ipack + 1
49192 378816 : packed_data(ipack) = pack_tmp
49193 378816 : data_tmp = full_data(idata)
49194 378816 : pack_tmp = ISHFT(data_tmp, 49)
49195 378816 : pack_tmp = ISHFT(pack_tmp, -49)
49196 378816 : idata = idata + 1
49197 378816 : data_tmp = full_data(idata)
49198 378816 : data_tmp = ISHFT(data_tmp, 5)
49199 378816 : data_tmp = IAND(data_tmp, mask_left(49))
49200 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49201 378816 : ipack = ipack + 1
49202 378816 : packed_data(ipack) = pack_tmp
49203 378816 : data_tmp = full_data(idata)
49204 378816 : pack_tmp = ISHFT(data_tmp, 54)
49205 378816 : pack_tmp = ISHFT(pack_tmp, -54)
49206 378816 : idata = idata + 1
49207 378816 : data_tmp = full_data(idata)
49208 378816 : data_tmp = ISHFT(data_tmp, 5)
49209 378816 : data_tmp = IAND(data_tmp, mask_left(54))
49210 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49211 378816 : ipack = ipack + 1
49212 378816 : packed_data(ipack) = pack_tmp
49213 378816 : data_tmp = full_data(idata)
49214 378816 : pack_tmp = ISHFT(data_tmp, 59)
49215 378816 : pack_tmp = ISHFT(pack_tmp, -59)
49216 378816 : idata = idata + 1
49217 378816 : data_tmp = full_data(idata)
49218 378816 : data_tmp = ISHFT(data_tmp, 5)
49219 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49220 : pack_tmp = ISHFT(pack_tmp, 0)
49221 378816 : pack_tmp = ISHFT(pack_tmp, 0)
49222 378816 : ipack = ipack + 1
49223 378816 : packed_data(ipack) = pack_tmp
49224 : END DO
49225 23676 : 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 23676 : END SUBROUTINE ints2bits_59
49229 :
49230 : ! **************************************************************************************************
49231 : !> \brief ...
49232 : !> \param Ndata ...
49233 : !> \param packed_data ...
49234 : !> \param full_data ...
49235 : ! **************************************************************************************************
49236 95427 : 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 95427 : ipack = 0
49247 95427 : idata = 0
49248 95427 : pack_tmp = 0
49249 95427 : Ndata_rep = (Ndata/64)*64
49250 95427 : DO kdata = 1, Ndata_rep, 64
49251 1526832 : idata = idata + 1
49252 1526832 : data_tmp = ISHFT(pack_tmp, 59)
49253 1526832 : ipack = ipack + 1
49254 1526832 : pack_tmp = packed_data(ipack)
49255 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
49256 1526832 : pack_tmp = ISHFT(pack_tmp, -59)
49257 1526832 : idata = idata + 1
49258 1526832 : data_tmp = ISHFT(pack_tmp, 54)
49259 1526832 : ipack = ipack + 1
49260 1526832 : pack_tmp = packed_data(ipack)
49261 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
49262 1526832 : pack_tmp = ISHFT(pack_tmp, -54)
49263 1526832 : idata = idata + 1
49264 1526832 : data_tmp = ISHFT(pack_tmp, 49)
49265 1526832 : ipack = ipack + 1
49266 1526832 : pack_tmp = packed_data(ipack)
49267 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
49268 1526832 : pack_tmp = ISHFT(pack_tmp, -49)
49269 1526832 : idata = idata + 1
49270 1526832 : data_tmp = ISHFT(pack_tmp, 44)
49271 1526832 : ipack = ipack + 1
49272 1526832 : pack_tmp = packed_data(ipack)
49273 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
49274 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
49275 1526832 : idata = idata + 1
49276 1526832 : data_tmp = ISHFT(pack_tmp, 39)
49277 1526832 : ipack = ipack + 1
49278 1526832 : pack_tmp = packed_data(ipack)
49279 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
49280 1526832 : pack_tmp = ISHFT(pack_tmp, -39)
49281 1526832 : idata = idata + 1
49282 1526832 : data_tmp = ISHFT(pack_tmp, 34)
49283 1526832 : ipack = ipack + 1
49284 1526832 : pack_tmp = packed_data(ipack)
49285 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
49286 1526832 : pack_tmp = ISHFT(pack_tmp, -34)
49287 1526832 : idata = idata + 1
49288 1526832 : data_tmp = ISHFT(pack_tmp, 29)
49289 1526832 : ipack = ipack + 1
49290 1526832 : pack_tmp = packed_data(ipack)
49291 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
49292 1526832 : pack_tmp = ISHFT(pack_tmp, -29)
49293 1526832 : idata = idata + 1
49294 1526832 : data_tmp = ISHFT(pack_tmp, 24)
49295 1526832 : ipack = ipack + 1
49296 1526832 : pack_tmp = packed_data(ipack)
49297 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
49298 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
49299 1526832 : idata = idata + 1
49300 1526832 : data_tmp = ISHFT(pack_tmp, 19)
49301 1526832 : ipack = ipack + 1
49302 1526832 : pack_tmp = packed_data(ipack)
49303 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
49304 1526832 : pack_tmp = ISHFT(pack_tmp, -19)
49305 1526832 : idata = idata + 1
49306 1526832 : data_tmp = ISHFT(pack_tmp, 14)
49307 1526832 : ipack = ipack + 1
49308 1526832 : pack_tmp = packed_data(ipack)
49309 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
49310 1526832 : pack_tmp = ISHFT(pack_tmp, -14)
49311 1526832 : idata = idata + 1
49312 1526832 : data_tmp = ISHFT(pack_tmp, 9)
49313 1526832 : ipack = ipack + 1
49314 1526832 : pack_tmp = packed_data(ipack)
49315 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
49316 1526832 : pack_tmp = ISHFT(pack_tmp, -9)
49317 1526832 : idata = idata + 1
49318 1526832 : data_tmp = ISHFT(pack_tmp, 4)
49319 1526832 : ipack = ipack + 1
49320 1526832 : pack_tmp = packed_data(ipack)
49321 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
49322 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
49323 1526832 : idata = idata + 1
49324 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49325 1526832 : full_data(idata) = data_tmp
49326 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49327 1526832 : idata = idata + 1
49328 1526832 : data_tmp = ISHFT(pack_tmp, 58)
49329 1526832 : ipack = ipack + 1
49330 1526832 : pack_tmp = packed_data(ipack)
49331 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
49332 1526832 : pack_tmp = ISHFT(pack_tmp, -58)
49333 1526832 : idata = idata + 1
49334 1526832 : data_tmp = ISHFT(pack_tmp, 53)
49335 1526832 : ipack = ipack + 1
49336 1526832 : pack_tmp = packed_data(ipack)
49337 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
49338 1526832 : pack_tmp = ISHFT(pack_tmp, -53)
49339 1526832 : idata = idata + 1
49340 1526832 : data_tmp = ISHFT(pack_tmp, 48)
49341 1526832 : ipack = ipack + 1
49342 1526832 : pack_tmp = packed_data(ipack)
49343 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
49344 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
49345 1526832 : idata = idata + 1
49346 1526832 : data_tmp = ISHFT(pack_tmp, 43)
49347 1526832 : ipack = ipack + 1
49348 1526832 : pack_tmp = packed_data(ipack)
49349 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
49350 1526832 : pack_tmp = ISHFT(pack_tmp, -43)
49351 1526832 : idata = idata + 1
49352 1526832 : data_tmp = ISHFT(pack_tmp, 38)
49353 1526832 : ipack = ipack + 1
49354 1526832 : pack_tmp = packed_data(ipack)
49355 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
49356 1526832 : pack_tmp = ISHFT(pack_tmp, -38)
49357 1526832 : idata = idata + 1
49358 1526832 : data_tmp = ISHFT(pack_tmp, 33)
49359 1526832 : ipack = ipack + 1
49360 1526832 : pack_tmp = packed_data(ipack)
49361 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
49362 1526832 : pack_tmp = ISHFT(pack_tmp, -33)
49363 1526832 : idata = idata + 1
49364 1526832 : data_tmp = ISHFT(pack_tmp, 28)
49365 1526832 : ipack = ipack + 1
49366 1526832 : pack_tmp = packed_data(ipack)
49367 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
49368 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
49369 1526832 : idata = idata + 1
49370 1526832 : data_tmp = ISHFT(pack_tmp, 23)
49371 1526832 : ipack = ipack + 1
49372 1526832 : pack_tmp = packed_data(ipack)
49373 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
49374 1526832 : pack_tmp = ISHFT(pack_tmp, -23)
49375 1526832 : idata = idata + 1
49376 1526832 : data_tmp = ISHFT(pack_tmp, 18)
49377 1526832 : ipack = ipack + 1
49378 1526832 : pack_tmp = packed_data(ipack)
49379 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
49380 1526832 : pack_tmp = ISHFT(pack_tmp, -18)
49381 1526832 : idata = idata + 1
49382 1526832 : data_tmp = ISHFT(pack_tmp, 13)
49383 1526832 : ipack = ipack + 1
49384 1526832 : pack_tmp = packed_data(ipack)
49385 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
49386 1526832 : pack_tmp = ISHFT(pack_tmp, -13)
49387 1526832 : idata = idata + 1
49388 1526832 : data_tmp = ISHFT(pack_tmp, 8)
49389 1526832 : ipack = ipack + 1
49390 1526832 : pack_tmp = packed_data(ipack)
49391 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
49392 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
49393 1526832 : idata = idata + 1
49394 1526832 : data_tmp = ISHFT(pack_tmp, 3)
49395 1526832 : ipack = ipack + 1
49396 1526832 : pack_tmp = packed_data(ipack)
49397 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
49398 1526832 : pack_tmp = ISHFT(pack_tmp, -3)
49399 1526832 : idata = idata + 1
49400 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49401 1526832 : full_data(idata) = data_tmp
49402 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49403 1526832 : idata = idata + 1
49404 1526832 : data_tmp = ISHFT(pack_tmp, 57)
49405 1526832 : ipack = ipack + 1
49406 1526832 : pack_tmp = packed_data(ipack)
49407 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
49408 1526832 : pack_tmp = ISHFT(pack_tmp, -57)
49409 1526832 : idata = idata + 1
49410 1526832 : data_tmp = ISHFT(pack_tmp, 52)
49411 1526832 : ipack = ipack + 1
49412 1526832 : pack_tmp = packed_data(ipack)
49413 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
49414 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
49415 1526832 : idata = idata + 1
49416 1526832 : data_tmp = ISHFT(pack_tmp, 47)
49417 1526832 : ipack = ipack + 1
49418 1526832 : pack_tmp = packed_data(ipack)
49419 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
49420 1526832 : pack_tmp = ISHFT(pack_tmp, -47)
49421 1526832 : idata = idata + 1
49422 1526832 : data_tmp = ISHFT(pack_tmp, 42)
49423 1526832 : ipack = ipack + 1
49424 1526832 : pack_tmp = packed_data(ipack)
49425 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
49426 1526832 : pack_tmp = ISHFT(pack_tmp, -42)
49427 1526832 : idata = idata + 1
49428 1526832 : data_tmp = ISHFT(pack_tmp, 37)
49429 1526832 : ipack = ipack + 1
49430 1526832 : pack_tmp = packed_data(ipack)
49431 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
49432 1526832 : pack_tmp = ISHFT(pack_tmp, -37)
49433 1526832 : idata = idata + 1
49434 1526832 : data_tmp = ISHFT(pack_tmp, 32)
49435 1526832 : ipack = ipack + 1
49436 1526832 : pack_tmp = packed_data(ipack)
49437 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
49438 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
49439 1526832 : idata = idata + 1
49440 1526832 : data_tmp = ISHFT(pack_tmp, 27)
49441 1526832 : ipack = ipack + 1
49442 1526832 : pack_tmp = packed_data(ipack)
49443 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
49444 1526832 : pack_tmp = ISHFT(pack_tmp, -27)
49445 1526832 : idata = idata + 1
49446 1526832 : data_tmp = ISHFT(pack_tmp, 22)
49447 1526832 : ipack = ipack + 1
49448 1526832 : pack_tmp = packed_data(ipack)
49449 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
49450 1526832 : pack_tmp = ISHFT(pack_tmp, -22)
49451 1526832 : idata = idata + 1
49452 1526832 : data_tmp = ISHFT(pack_tmp, 17)
49453 1526832 : ipack = ipack + 1
49454 1526832 : pack_tmp = packed_data(ipack)
49455 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
49456 1526832 : pack_tmp = ISHFT(pack_tmp, -17)
49457 1526832 : idata = idata + 1
49458 1526832 : data_tmp = ISHFT(pack_tmp, 12)
49459 1526832 : ipack = ipack + 1
49460 1526832 : pack_tmp = packed_data(ipack)
49461 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
49462 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
49463 1526832 : idata = idata + 1
49464 1526832 : data_tmp = ISHFT(pack_tmp, 7)
49465 1526832 : ipack = ipack + 1
49466 1526832 : pack_tmp = packed_data(ipack)
49467 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
49468 1526832 : pack_tmp = ISHFT(pack_tmp, -7)
49469 1526832 : idata = idata + 1
49470 1526832 : data_tmp = ISHFT(pack_tmp, 2)
49471 1526832 : ipack = ipack + 1
49472 1526832 : pack_tmp = packed_data(ipack)
49473 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
49474 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
49475 1526832 : idata = idata + 1
49476 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49477 1526832 : full_data(idata) = data_tmp
49478 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49479 1526832 : idata = idata + 1
49480 1526832 : data_tmp = ISHFT(pack_tmp, 56)
49481 1526832 : ipack = ipack + 1
49482 1526832 : pack_tmp = packed_data(ipack)
49483 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
49484 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
49485 1526832 : idata = idata + 1
49486 1526832 : data_tmp = ISHFT(pack_tmp, 51)
49487 1526832 : ipack = ipack + 1
49488 1526832 : pack_tmp = packed_data(ipack)
49489 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
49490 1526832 : pack_tmp = ISHFT(pack_tmp, -51)
49491 1526832 : idata = idata + 1
49492 1526832 : data_tmp = ISHFT(pack_tmp, 46)
49493 1526832 : ipack = ipack + 1
49494 1526832 : pack_tmp = packed_data(ipack)
49495 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
49496 1526832 : pack_tmp = ISHFT(pack_tmp, -46)
49497 1526832 : idata = idata + 1
49498 1526832 : data_tmp = ISHFT(pack_tmp, 41)
49499 1526832 : ipack = ipack + 1
49500 1526832 : pack_tmp = packed_data(ipack)
49501 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
49502 1526832 : pack_tmp = ISHFT(pack_tmp, -41)
49503 1526832 : idata = idata + 1
49504 1526832 : data_tmp = ISHFT(pack_tmp, 36)
49505 1526832 : ipack = ipack + 1
49506 1526832 : pack_tmp = packed_data(ipack)
49507 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
49508 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
49509 1526832 : idata = idata + 1
49510 1526832 : data_tmp = ISHFT(pack_tmp, 31)
49511 1526832 : ipack = ipack + 1
49512 1526832 : pack_tmp = packed_data(ipack)
49513 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
49514 1526832 : pack_tmp = ISHFT(pack_tmp, -31)
49515 1526832 : idata = idata + 1
49516 1526832 : data_tmp = ISHFT(pack_tmp, 26)
49517 1526832 : ipack = ipack + 1
49518 1526832 : pack_tmp = packed_data(ipack)
49519 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
49520 1526832 : pack_tmp = ISHFT(pack_tmp, -26)
49521 1526832 : idata = idata + 1
49522 1526832 : data_tmp = ISHFT(pack_tmp, 21)
49523 1526832 : ipack = ipack + 1
49524 1526832 : pack_tmp = packed_data(ipack)
49525 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
49526 1526832 : pack_tmp = ISHFT(pack_tmp, -21)
49527 1526832 : idata = idata + 1
49528 1526832 : data_tmp = ISHFT(pack_tmp, 16)
49529 1526832 : ipack = ipack + 1
49530 1526832 : pack_tmp = packed_data(ipack)
49531 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
49532 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
49533 1526832 : idata = idata + 1
49534 1526832 : data_tmp = ISHFT(pack_tmp, 11)
49535 1526832 : ipack = ipack + 1
49536 1526832 : pack_tmp = packed_data(ipack)
49537 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
49538 1526832 : pack_tmp = ISHFT(pack_tmp, -11)
49539 1526832 : idata = idata + 1
49540 1526832 : data_tmp = ISHFT(pack_tmp, 6)
49541 1526832 : ipack = ipack + 1
49542 1526832 : pack_tmp = packed_data(ipack)
49543 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
49544 1526832 : pack_tmp = ISHFT(pack_tmp, -6)
49545 1526832 : idata = idata + 1
49546 1526832 : data_tmp = ISHFT(pack_tmp, 1)
49547 1526832 : ipack = ipack + 1
49548 1526832 : pack_tmp = packed_data(ipack)
49549 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
49550 1526832 : pack_tmp = ISHFT(pack_tmp, -1)
49551 1526832 : idata = idata + 1
49552 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49553 1526832 : full_data(idata) = data_tmp
49554 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49555 1526832 : idata = idata + 1
49556 1526832 : data_tmp = ISHFT(pack_tmp, 55)
49557 1526832 : ipack = ipack + 1
49558 1526832 : pack_tmp = packed_data(ipack)
49559 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
49560 1526832 : pack_tmp = ISHFT(pack_tmp, -55)
49561 1526832 : idata = idata + 1
49562 1526832 : data_tmp = ISHFT(pack_tmp, 50)
49563 1526832 : ipack = ipack + 1
49564 1526832 : pack_tmp = packed_data(ipack)
49565 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
49566 1526832 : pack_tmp = ISHFT(pack_tmp, -50)
49567 1526832 : idata = idata + 1
49568 1526832 : data_tmp = ISHFT(pack_tmp, 45)
49569 1526832 : ipack = ipack + 1
49570 1526832 : pack_tmp = packed_data(ipack)
49571 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
49572 1526832 : pack_tmp = ISHFT(pack_tmp, -45)
49573 1526832 : idata = idata + 1
49574 1526832 : data_tmp = ISHFT(pack_tmp, 40)
49575 1526832 : ipack = ipack + 1
49576 1526832 : pack_tmp = packed_data(ipack)
49577 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
49578 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
49579 1526832 : idata = idata + 1
49580 1526832 : data_tmp = ISHFT(pack_tmp, 35)
49581 1526832 : ipack = ipack + 1
49582 1526832 : pack_tmp = packed_data(ipack)
49583 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
49584 1526832 : pack_tmp = ISHFT(pack_tmp, -35)
49585 1526832 : idata = idata + 1
49586 1526832 : data_tmp = ISHFT(pack_tmp, 30)
49587 1526832 : ipack = ipack + 1
49588 1526832 : pack_tmp = packed_data(ipack)
49589 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
49590 1526832 : pack_tmp = ISHFT(pack_tmp, -30)
49591 1526832 : idata = idata + 1
49592 1526832 : data_tmp = ISHFT(pack_tmp, 25)
49593 1526832 : ipack = ipack + 1
49594 1526832 : pack_tmp = packed_data(ipack)
49595 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
49596 1526832 : pack_tmp = ISHFT(pack_tmp, -25)
49597 1526832 : idata = idata + 1
49598 1526832 : data_tmp = ISHFT(pack_tmp, 20)
49599 1526832 : ipack = ipack + 1
49600 1526832 : pack_tmp = packed_data(ipack)
49601 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
49602 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
49603 1526832 : idata = idata + 1
49604 1526832 : data_tmp = ISHFT(pack_tmp, 15)
49605 1526832 : ipack = ipack + 1
49606 1526832 : pack_tmp = packed_data(ipack)
49607 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
49608 1526832 : pack_tmp = ISHFT(pack_tmp, -15)
49609 1526832 : idata = idata + 1
49610 1526832 : data_tmp = ISHFT(pack_tmp, 10)
49611 1526832 : ipack = ipack + 1
49612 1526832 : pack_tmp = packed_data(ipack)
49613 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
49614 1526832 : pack_tmp = ISHFT(pack_tmp, -10)
49615 1526832 : idata = idata + 1
49616 1526832 : data_tmp = ISHFT(pack_tmp, 5)
49617 1526832 : ipack = ipack + 1
49618 1526832 : pack_tmp = packed_data(ipack)
49619 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
49620 1526832 : pack_tmp = ISHFT(pack_tmp, -5)
49621 1526832 : idata = idata + 1
49622 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49623 1526832 : full_data(idata) = data_tmp
49624 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49625 : END DO
49626 95427 : 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 95427 : END SUBROUTINE bits2ints_59
49630 :
49631 : ! **************************************************************************************************
49632 : !> \brief ...
49633 : !> \param Ndata ...
49634 : !> \param packed_data ...
49635 : !> \param full_data ...
49636 : ! **************************************************************************************************
49637 23676 : 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 23676 : idata = 0
49648 23676 : ipack = 0
49649 23676 : Ndata_rep = (Ndata/64)*64
49650 23676 : DO kdata = 1, Ndata_rep, 64
49651 378816 : pack_tmp = 0
49652 378816 : idata = idata + 1
49653 378816 : data_tmp = full_data(idata)
49654 378816 : data_tmp = ISHFT(data_tmp, 4)
49655 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49656 378816 : pack_tmp = ISHFT(pack_tmp, -4)
49657 378816 : idata = idata + 1
49658 378816 : data_tmp = full_data(idata)
49659 378816 : data_tmp = ISHFT(data_tmp, 4)
49660 378816 : data_tmp = IAND(data_tmp, mask_left(4))
49661 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49662 378816 : ipack = ipack + 1
49663 378816 : packed_data(ipack) = pack_tmp
49664 378816 : data_tmp = full_data(idata)
49665 378816 : pack_tmp = ISHFT(data_tmp, 8)
49666 378816 : pack_tmp = ISHFT(pack_tmp, -8)
49667 378816 : idata = idata + 1
49668 378816 : data_tmp = full_data(idata)
49669 378816 : data_tmp = ISHFT(data_tmp, 4)
49670 378816 : data_tmp = IAND(data_tmp, mask_left(8))
49671 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49672 378816 : ipack = ipack + 1
49673 378816 : packed_data(ipack) = pack_tmp
49674 378816 : data_tmp = full_data(idata)
49675 378816 : pack_tmp = ISHFT(data_tmp, 12)
49676 378816 : pack_tmp = ISHFT(pack_tmp, -12)
49677 378816 : idata = idata + 1
49678 378816 : data_tmp = full_data(idata)
49679 378816 : data_tmp = ISHFT(data_tmp, 4)
49680 378816 : data_tmp = IAND(data_tmp, mask_left(12))
49681 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49682 378816 : ipack = ipack + 1
49683 378816 : packed_data(ipack) = pack_tmp
49684 378816 : data_tmp = full_data(idata)
49685 378816 : pack_tmp = ISHFT(data_tmp, 16)
49686 378816 : pack_tmp = ISHFT(pack_tmp, -16)
49687 378816 : idata = idata + 1
49688 378816 : data_tmp = full_data(idata)
49689 378816 : data_tmp = ISHFT(data_tmp, 4)
49690 378816 : data_tmp = IAND(data_tmp, mask_left(16))
49691 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49692 378816 : ipack = ipack + 1
49693 378816 : packed_data(ipack) = pack_tmp
49694 378816 : data_tmp = full_data(idata)
49695 378816 : pack_tmp = ISHFT(data_tmp, 20)
49696 378816 : pack_tmp = ISHFT(pack_tmp, -20)
49697 378816 : idata = idata + 1
49698 378816 : data_tmp = full_data(idata)
49699 378816 : data_tmp = ISHFT(data_tmp, 4)
49700 378816 : data_tmp = IAND(data_tmp, mask_left(20))
49701 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49702 378816 : ipack = ipack + 1
49703 378816 : packed_data(ipack) = pack_tmp
49704 378816 : data_tmp = full_data(idata)
49705 378816 : pack_tmp = ISHFT(data_tmp, 24)
49706 378816 : pack_tmp = ISHFT(pack_tmp, -24)
49707 378816 : idata = idata + 1
49708 378816 : data_tmp = full_data(idata)
49709 378816 : data_tmp = ISHFT(data_tmp, 4)
49710 378816 : data_tmp = IAND(data_tmp, mask_left(24))
49711 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49712 378816 : ipack = ipack + 1
49713 378816 : packed_data(ipack) = pack_tmp
49714 378816 : data_tmp = full_data(idata)
49715 378816 : pack_tmp = ISHFT(data_tmp, 28)
49716 378816 : pack_tmp = ISHFT(pack_tmp, -28)
49717 378816 : idata = idata + 1
49718 378816 : data_tmp = full_data(idata)
49719 378816 : data_tmp = ISHFT(data_tmp, 4)
49720 378816 : data_tmp = IAND(data_tmp, mask_left(28))
49721 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49722 378816 : ipack = ipack + 1
49723 378816 : packed_data(ipack) = pack_tmp
49724 378816 : data_tmp = full_data(idata)
49725 378816 : pack_tmp = ISHFT(data_tmp, 32)
49726 378816 : pack_tmp = ISHFT(pack_tmp, -32)
49727 378816 : idata = idata + 1
49728 378816 : data_tmp = full_data(idata)
49729 378816 : data_tmp = ISHFT(data_tmp, 4)
49730 378816 : data_tmp = IAND(data_tmp, mask_left(32))
49731 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49732 378816 : ipack = ipack + 1
49733 378816 : packed_data(ipack) = pack_tmp
49734 378816 : data_tmp = full_data(idata)
49735 378816 : pack_tmp = ISHFT(data_tmp, 36)
49736 378816 : pack_tmp = ISHFT(pack_tmp, -36)
49737 378816 : idata = idata + 1
49738 378816 : data_tmp = full_data(idata)
49739 378816 : data_tmp = ISHFT(data_tmp, 4)
49740 378816 : data_tmp = IAND(data_tmp, mask_left(36))
49741 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49742 378816 : ipack = ipack + 1
49743 378816 : packed_data(ipack) = pack_tmp
49744 378816 : data_tmp = full_data(idata)
49745 378816 : pack_tmp = ISHFT(data_tmp, 40)
49746 378816 : pack_tmp = ISHFT(pack_tmp, -40)
49747 378816 : idata = idata + 1
49748 378816 : data_tmp = full_data(idata)
49749 378816 : data_tmp = ISHFT(data_tmp, 4)
49750 378816 : data_tmp = IAND(data_tmp, mask_left(40))
49751 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49752 378816 : ipack = ipack + 1
49753 378816 : packed_data(ipack) = pack_tmp
49754 378816 : data_tmp = full_data(idata)
49755 378816 : pack_tmp = ISHFT(data_tmp, 44)
49756 378816 : pack_tmp = ISHFT(pack_tmp, -44)
49757 378816 : idata = idata + 1
49758 378816 : data_tmp = full_data(idata)
49759 378816 : data_tmp = ISHFT(data_tmp, 4)
49760 378816 : data_tmp = IAND(data_tmp, mask_left(44))
49761 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49762 378816 : ipack = ipack + 1
49763 378816 : packed_data(ipack) = pack_tmp
49764 378816 : data_tmp = full_data(idata)
49765 378816 : pack_tmp = ISHFT(data_tmp, 48)
49766 378816 : pack_tmp = ISHFT(pack_tmp, -48)
49767 378816 : idata = idata + 1
49768 378816 : data_tmp = full_data(idata)
49769 378816 : data_tmp = ISHFT(data_tmp, 4)
49770 378816 : data_tmp = IAND(data_tmp, mask_left(48))
49771 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49772 378816 : ipack = ipack + 1
49773 378816 : packed_data(ipack) = pack_tmp
49774 378816 : data_tmp = full_data(idata)
49775 378816 : pack_tmp = ISHFT(data_tmp, 52)
49776 378816 : pack_tmp = ISHFT(pack_tmp, -52)
49777 378816 : idata = idata + 1
49778 378816 : data_tmp = full_data(idata)
49779 378816 : data_tmp = ISHFT(data_tmp, 4)
49780 378816 : data_tmp = IAND(data_tmp, mask_left(52))
49781 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49782 378816 : ipack = ipack + 1
49783 378816 : packed_data(ipack) = pack_tmp
49784 378816 : data_tmp = full_data(idata)
49785 378816 : pack_tmp = ISHFT(data_tmp, 56)
49786 378816 : pack_tmp = ISHFT(pack_tmp, -56)
49787 378816 : idata = idata + 1
49788 378816 : data_tmp = full_data(idata)
49789 378816 : data_tmp = ISHFT(data_tmp, 4)
49790 378816 : data_tmp = IAND(data_tmp, mask_left(56))
49791 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49792 378816 : ipack = ipack + 1
49793 378816 : packed_data(ipack) = pack_tmp
49794 378816 : data_tmp = full_data(idata)
49795 378816 : pack_tmp = ISHFT(data_tmp, 60)
49796 378816 : pack_tmp = ISHFT(pack_tmp, -60)
49797 378816 : idata = idata + 1
49798 378816 : data_tmp = full_data(idata)
49799 378816 : data_tmp = ISHFT(data_tmp, 4)
49800 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49801 378816 : pack_tmp = ISHFT(pack_tmp, 0)
49802 378816 : idata = idata + 1
49803 378816 : data_tmp = full_data(idata)
49804 : data_tmp = ISHFT(data_tmp, 4)
49805 378816 : data_tmp = IAND(data_tmp, mask_left(0))
49806 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49807 378816 : ipack = ipack + 1
49808 378816 : packed_data(ipack) = pack_tmp
49809 378816 : data_tmp = full_data(idata)
49810 378816 : pack_tmp = ISHFT(data_tmp, 4)
49811 378816 : pack_tmp = ISHFT(pack_tmp, -4)
49812 378816 : idata = idata + 1
49813 378816 : data_tmp = full_data(idata)
49814 378816 : data_tmp = ISHFT(data_tmp, 4)
49815 378816 : data_tmp = IAND(data_tmp, mask_left(4))
49816 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49817 378816 : ipack = ipack + 1
49818 378816 : packed_data(ipack) = pack_tmp
49819 378816 : data_tmp = full_data(idata)
49820 378816 : pack_tmp = ISHFT(data_tmp, 8)
49821 378816 : pack_tmp = ISHFT(pack_tmp, -8)
49822 378816 : idata = idata + 1
49823 378816 : data_tmp = full_data(idata)
49824 378816 : data_tmp = ISHFT(data_tmp, 4)
49825 378816 : data_tmp = IAND(data_tmp, mask_left(8))
49826 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49827 378816 : ipack = ipack + 1
49828 378816 : packed_data(ipack) = pack_tmp
49829 378816 : data_tmp = full_data(idata)
49830 378816 : pack_tmp = ISHFT(data_tmp, 12)
49831 378816 : pack_tmp = ISHFT(pack_tmp, -12)
49832 378816 : idata = idata + 1
49833 378816 : data_tmp = full_data(idata)
49834 378816 : data_tmp = ISHFT(data_tmp, 4)
49835 378816 : data_tmp = IAND(data_tmp, mask_left(12))
49836 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49837 378816 : ipack = ipack + 1
49838 378816 : packed_data(ipack) = pack_tmp
49839 378816 : data_tmp = full_data(idata)
49840 378816 : pack_tmp = ISHFT(data_tmp, 16)
49841 378816 : pack_tmp = ISHFT(pack_tmp, -16)
49842 378816 : idata = idata + 1
49843 378816 : data_tmp = full_data(idata)
49844 378816 : data_tmp = ISHFT(data_tmp, 4)
49845 378816 : data_tmp = IAND(data_tmp, mask_left(16))
49846 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49847 378816 : ipack = ipack + 1
49848 378816 : packed_data(ipack) = pack_tmp
49849 378816 : data_tmp = full_data(idata)
49850 378816 : pack_tmp = ISHFT(data_tmp, 20)
49851 378816 : pack_tmp = ISHFT(pack_tmp, -20)
49852 378816 : idata = idata + 1
49853 378816 : data_tmp = full_data(idata)
49854 378816 : data_tmp = ISHFT(data_tmp, 4)
49855 378816 : data_tmp = IAND(data_tmp, mask_left(20))
49856 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49857 378816 : ipack = ipack + 1
49858 378816 : packed_data(ipack) = pack_tmp
49859 378816 : data_tmp = full_data(idata)
49860 378816 : pack_tmp = ISHFT(data_tmp, 24)
49861 378816 : pack_tmp = ISHFT(pack_tmp, -24)
49862 378816 : idata = idata + 1
49863 378816 : data_tmp = full_data(idata)
49864 378816 : data_tmp = ISHFT(data_tmp, 4)
49865 378816 : data_tmp = IAND(data_tmp, mask_left(24))
49866 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49867 378816 : ipack = ipack + 1
49868 378816 : packed_data(ipack) = pack_tmp
49869 378816 : data_tmp = full_data(idata)
49870 378816 : pack_tmp = ISHFT(data_tmp, 28)
49871 378816 : pack_tmp = ISHFT(pack_tmp, -28)
49872 378816 : idata = idata + 1
49873 378816 : data_tmp = full_data(idata)
49874 378816 : data_tmp = ISHFT(data_tmp, 4)
49875 378816 : data_tmp = IAND(data_tmp, mask_left(28))
49876 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49877 378816 : ipack = ipack + 1
49878 378816 : packed_data(ipack) = pack_tmp
49879 378816 : data_tmp = full_data(idata)
49880 378816 : pack_tmp = ISHFT(data_tmp, 32)
49881 378816 : pack_tmp = ISHFT(pack_tmp, -32)
49882 378816 : idata = idata + 1
49883 378816 : data_tmp = full_data(idata)
49884 378816 : data_tmp = ISHFT(data_tmp, 4)
49885 378816 : data_tmp = IAND(data_tmp, mask_left(32))
49886 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49887 378816 : ipack = ipack + 1
49888 378816 : packed_data(ipack) = pack_tmp
49889 378816 : data_tmp = full_data(idata)
49890 378816 : pack_tmp = ISHFT(data_tmp, 36)
49891 378816 : pack_tmp = ISHFT(pack_tmp, -36)
49892 378816 : idata = idata + 1
49893 378816 : data_tmp = full_data(idata)
49894 378816 : data_tmp = ISHFT(data_tmp, 4)
49895 378816 : data_tmp = IAND(data_tmp, mask_left(36))
49896 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49897 378816 : ipack = ipack + 1
49898 378816 : packed_data(ipack) = pack_tmp
49899 378816 : data_tmp = full_data(idata)
49900 378816 : pack_tmp = ISHFT(data_tmp, 40)
49901 378816 : pack_tmp = ISHFT(pack_tmp, -40)
49902 378816 : idata = idata + 1
49903 378816 : data_tmp = full_data(idata)
49904 378816 : data_tmp = ISHFT(data_tmp, 4)
49905 378816 : data_tmp = IAND(data_tmp, mask_left(40))
49906 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49907 378816 : ipack = ipack + 1
49908 378816 : packed_data(ipack) = pack_tmp
49909 378816 : data_tmp = full_data(idata)
49910 378816 : pack_tmp = ISHFT(data_tmp, 44)
49911 378816 : pack_tmp = ISHFT(pack_tmp, -44)
49912 378816 : idata = idata + 1
49913 378816 : data_tmp = full_data(idata)
49914 378816 : data_tmp = ISHFT(data_tmp, 4)
49915 378816 : data_tmp = IAND(data_tmp, mask_left(44))
49916 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49917 378816 : ipack = ipack + 1
49918 378816 : packed_data(ipack) = pack_tmp
49919 378816 : data_tmp = full_data(idata)
49920 378816 : pack_tmp = ISHFT(data_tmp, 48)
49921 378816 : pack_tmp = ISHFT(pack_tmp, -48)
49922 378816 : idata = idata + 1
49923 378816 : data_tmp = full_data(idata)
49924 378816 : data_tmp = ISHFT(data_tmp, 4)
49925 378816 : data_tmp = IAND(data_tmp, mask_left(48))
49926 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49927 378816 : ipack = ipack + 1
49928 378816 : packed_data(ipack) = pack_tmp
49929 378816 : data_tmp = full_data(idata)
49930 378816 : pack_tmp = ISHFT(data_tmp, 52)
49931 378816 : pack_tmp = ISHFT(pack_tmp, -52)
49932 378816 : idata = idata + 1
49933 378816 : data_tmp = full_data(idata)
49934 378816 : data_tmp = ISHFT(data_tmp, 4)
49935 378816 : data_tmp = IAND(data_tmp, mask_left(52))
49936 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49937 378816 : ipack = ipack + 1
49938 378816 : packed_data(ipack) = pack_tmp
49939 378816 : data_tmp = full_data(idata)
49940 378816 : pack_tmp = ISHFT(data_tmp, 56)
49941 378816 : pack_tmp = ISHFT(pack_tmp, -56)
49942 378816 : idata = idata + 1
49943 378816 : data_tmp = full_data(idata)
49944 378816 : data_tmp = ISHFT(data_tmp, 4)
49945 378816 : data_tmp = IAND(data_tmp, mask_left(56))
49946 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49947 378816 : ipack = ipack + 1
49948 378816 : packed_data(ipack) = pack_tmp
49949 378816 : data_tmp = full_data(idata)
49950 378816 : pack_tmp = ISHFT(data_tmp, 60)
49951 378816 : pack_tmp = ISHFT(pack_tmp, -60)
49952 378816 : idata = idata + 1
49953 378816 : data_tmp = full_data(idata)
49954 378816 : data_tmp = ISHFT(data_tmp, 4)
49955 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49956 378816 : pack_tmp = ISHFT(pack_tmp, 0)
49957 378816 : idata = idata + 1
49958 378816 : data_tmp = full_data(idata)
49959 : data_tmp = ISHFT(data_tmp, 4)
49960 378816 : data_tmp = IAND(data_tmp, mask_left(0))
49961 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49962 378816 : ipack = ipack + 1
49963 378816 : packed_data(ipack) = pack_tmp
49964 378816 : data_tmp = full_data(idata)
49965 378816 : pack_tmp = ISHFT(data_tmp, 4)
49966 378816 : pack_tmp = ISHFT(pack_tmp, -4)
49967 378816 : idata = idata + 1
49968 378816 : data_tmp = full_data(idata)
49969 378816 : data_tmp = ISHFT(data_tmp, 4)
49970 378816 : data_tmp = IAND(data_tmp, mask_left(4))
49971 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49972 378816 : ipack = ipack + 1
49973 378816 : packed_data(ipack) = pack_tmp
49974 378816 : data_tmp = full_data(idata)
49975 378816 : pack_tmp = ISHFT(data_tmp, 8)
49976 378816 : pack_tmp = ISHFT(pack_tmp, -8)
49977 378816 : idata = idata + 1
49978 378816 : data_tmp = full_data(idata)
49979 378816 : data_tmp = ISHFT(data_tmp, 4)
49980 378816 : data_tmp = IAND(data_tmp, mask_left(8))
49981 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49982 378816 : ipack = ipack + 1
49983 378816 : packed_data(ipack) = pack_tmp
49984 378816 : data_tmp = full_data(idata)
49985 378816 : pack_tmp = ISHFT(data_tmp, 12)
49986 378816 : pack_tmp = ISHFT(pack_tmp, -12)
49987 378816 : idata = idata + 1
49988 378816 : data_tmp = full_data(idata)
49989 378816 : data_tmp = ISHFT(data_tmp, 4)
49990 378816 : data_tmp = IAND(data_tmp, mask_left(12))
49991 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
49992 378816 : ipack = ipack + 1
49993 378816 : packed_data(ipack) = pack_tmp
49994 378816 : data_tmp = full_data(idata)
49995 378816 : pack_tmp = ISHFT(data_tmp, 16)
49996 378816 : pack_tmp = ISHFT(pack_tmp, -16)
49997 378816 : idata = idata + 1
49998 378816 : data_tmp = full_data(idata)
49999 378816 : data_tmp = ISHFT(data_tmp, 4)
50000 378816 : data_tmp = IAND(data_tmp, mask_left(16))
50001 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50002 378816 : ipack = ipack + 1
50003 378816 : packed_data(ipack) = pack_tmp
50004 378816 : data_tmp = full_data(idata)
50005 378816 : pack_tmp = ISHFT(data_tmp, 20)
50006 378816 : pack_tmp = ISHFT(pack_tmp, -20)
50007 378816 : idata = idata + 1
50008 378816 : data_tmp = full_data(idata)
50009 378816 : data_tmp = ISHFT(data_tmp, 4)
50010 378816 : data_tmp = IAND(data_tmp, mask_left(20))
50011 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50012 378816 : ipack = ipack + 1
50013 378816 : packed_data(ipack) = pack_tmp
50014 378816 : data_tmp = full_data(idata)
50015 378816 : pack_tmp = ISHFT(data_tmp, 24)
50016 378816 : pack_tmp = ISHFT(pack_tmp, -24)
50017 378816 : idata = idata + 1
50018 378816 : data_tmp = full_data(idata)
50019 378816 : data_tmp = ISHFT(data_tmp, 4)
50020 378816 : data_tmp = IAND(data_tmp, mask_left(24))
50021 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50022 378816 : ipack = ipack + 1
50023 378816 : packed_data(ipack) = pack_tmp
50024 378816 : data_tmp = full_data(idata)
50025 378816 : pack_tmp = ISHFT(data_tmp, 28)
50026 378816 : pack_tmp = ISHFT(pack_tmp, -28)
50027 378816 : idata = idata + 1
50028 378816 : data_tmp = full_data(idata)
50029 378816 : data_tmp = ISHFT(data_tmp, 4)
50030 378816 : data_tmp = IAND(data_tmp, mask_left(28))
50031 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50032 378816 : ipack = ipack + 1
50033 378816 : packed_data(ipack) = pack_tmp
50034 378816 : data_tmp = full_data(idata)
50035 378816 : pack_tmp = ISHFT(data_tmp, 32)
50036 378816 : pack_tmp = ISHFT(pack_tmp, -32)
50037 378816 : idata = idata + 1
50038 378816 : data_tmp = full_data(idata)
50039 378816 : data_tmp = ISHFT(data_tmp, 4)
50040 378816 : data_tmp = IAND(data_tmp, mask_left(32))
50041 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50042 378816 : ipack = ipack + 1
50043 378816 : packed_data(ipack) = pack_tmp
50044 378816 : data_tmp = full_data(idata)
50045 378816 : pack_tmp = ISHFT(data_tmp, 36)
50046 378816 : pack_tmp = ISHFT(pack_tmp, -36)
50047 378816 : idata = idata + 1
50048 378816 : data_tmp = full_data(idata)
50049 378816 : data_tmp = ISHFT(data_tmp, 4)
50050 378816 : data_tmp = IAND(data_tmp, mask_left(36))
50051 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50052 378816 : ipack = ipack + 1
50053 378816 : packed_data(ipack) = pack_tmp
50054 378816 : data_tmp = full_data(idata)
50055 378816 : pack_tmp = ISHFT(data_tmp, 40)
50056 378816 : pack_tmp = ISHFT(pack_tmp, -40)
50057 378816 : idata = idata + 1
50058 378816 : data_tmp = full_data(idata)
50059 378816 : data_tmp = ISHFT(data_tmp, 4)
50060 378816 : data_tmp = IAND(data_tmp, mask_left(40))
50061 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50062 378816 : ipack = ipack + 1
50063 378816 : packed_data(ipack) = pack_tmp
50064 378816 : data_tmp = full_data(idata)
50065 378816 : pack_tmp = ISHFT(data_tmp, 44)
50066 378816 : pack_tmp = ISHFT(pack_tmp, -44)
50067 378816 : idata = idata + 1
50068 378816 : data_tmp = full_data(idata)
50069 378816 : data_tmp = ISHFT(data_tmp, 4)
50070 378816 : data_tmp = IAND(data_tmp, mask_left(44))
50071 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50072 378816 : ipack = ipack + 1
50073 378816 : packed_data(ipack) = pack_tmp
50074 378816 : data_tmp = full_data(idata)
50075 378816 : pack_tmp = ISHFT(data_tmp, 48)
50076 378816 : pack_tmp = ISHFT(pack_tmp, -48)
50077 378816 : idata = idata + 1
50078 378816 : data_tmp = full_data(idata)
50079 378816 : data_tmp = ISHFT(data_tmp, 4)
50080 378816 : data_tmp = IAND(data_tmp, mask_left(48))
50081 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50082 378816 : ipack = ipack + 1
50083 378816 : packed_data(ipack) = pack_tmp
50084 378816 : data_tmp = full_data(idata)
50085 378816 : pack_tmp = ISHFT(data_tmp, 52)
50086 378816 : pack_tmp = ISHFT(pack_tmp, -52)
50087 378816 : idata = idata + 1
50088 378816 : data_tmp = full_data(idata)
50089 378816 : data_tmp = ISHFT(data_tmp, 4)
50090 378816 : data_tmp = IAND(data_tmp, mask_left(52))
50091 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50092 378816 : ipack = ipack + 1
50093 378816 : packed_data(ipack) = pack_tmp
50094 378816 : data_tmp = full_data(idata)
50095 378816 : pack_tmp = ISHFT(data_tmp, 56)
50096 378816 : pack_tmp = ISHFT(pack_tmp, -56)
50097 378816 : idata = idata + 1
50098 378816 : data_tmp = full_data(idata)
50099 378816 : data_tmp = ISHFT(data_tmp, 4)
50100 378816 : data_tmp = IAND(data_tmp, mask_left(56))
50101 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50102 378816 : ipack = ipack + 1
50103 378816 : packed_data(ipack) = pack_tmp
50104 378816 : data_tmp = full_data(idata)
50105 378816 : pack_tmp = ISHFT(data_tmp, 60)
50106 378816 : pack_tmp = ISHFT(pack_tmp, -60)
50107 378816 : idata = idata + 1
50108 378816 : data_tmp = full_data(idata)
50109 378816 : data_tmp = ISHFT(data_tmp, 4)
50110 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50111 378816 : pack_tmp = ISHFT(pack_tmp, 0)
50112 378816 : idata = idata + 1
50113 378816 : data_tmp = full_data(idata)
50114 : data_tmp = ISHFT(data_tmp, 4)
50115 378816 : data_tmp = IAND(data_tmp, mask_left(0))
50116 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50117 378816 : ipack = ipack + 1
50118 378816 : packed_data(ipack) = pack_tmp
50119 378816 : data_tmp = full_data(idata)
50120 378816 : pack_tmp = ISHFT(data_tmp, 4)
50121 378816 : pack_tmp = ISHFT(pack_tmp, -4)
50122 378816 : idata = idata + 1
50123 378816 : data_tmp = full_data(idata)
50124 378816 : data_tmp = ISHFT(data_tmp, 4)
50125 378816 : data_tmp = IAND(data_tmp, mask_left(4))
50126 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50127 378816 : ipack = ipack + 1
50128 378816 : packed_data(ipack) = pack_tmp
50129 378816 : data_tmp = full_data(idata)
50130 378816 : pack_tmp = ISHFT(data_tmp, 8)
50131 378816 : pack_tmp = ISHFT(pack_tmp, -8)
50132 378816 : idata = idata + 1
50133 378816 : data_tmp = full_data(idata)
50134 378816 : data_tmp = ISHFT(data_tmp, 4)
50135 378816 : data_tmp = IAND(data_tmp, mask_left(8))
50136 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50137 378816 : ipack = ipack + 1
50138 378816 : packed_data(ipack) = pack_tmp
50139 378816 : data_tmp = full_data(idata)
50140 378816 : pack_tmp = ISHFT(data_tmp, 12)
50141 378816 : pack_tmp = ISHFT(pack_tmp, -12)
50142 378816 : idata = idata + 1
50143 378816 : data_tmp = full_data(idata)
50144 378816 : data_tmp = ISHFT(data_tmp, 4)
50145 378816 : data_tmp = IAND(data_tmp, mask_left(12))
50146 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50147 378816 : ipack = ipack + 1
50148 378816 : packed_data(ipack) = pack_tmp
50149 378816 : data_tmp = full_data(idata)
50150 378816 : pack_tmp = ISHFT(data_tmp, 16)
50151 378816 : pack_tmp = ISHFT(pack_tmp, -16)
50152 378816 : idata = idata + 1
50153 378816 : data_tmp = full_data(idata)
50154 378816 : data_tmp = ISHFT(data_tmp, 4)
50155 378816 : data_tmp = IAND(data_tmp, mask_left(16))
50156 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50157 378816 : ipack = ipack + 1
50158 378816 : packed_data(ipack) = pack_tmp
50159 378816 : data_tmp = full_data(idata)
50160 378816 : pack_tmp = ISHFT(data_tmp, 20)
50161 378816 : pack_tmp = ISHFT(pack_tmp, -20)
50162 378816 : idata = idata + 1
50163 378816 : data_tmp = full_data(idata)
50164 378816 : data_tmp = ISHFT(data_tmp, 4)
50165 378816 : data_tmp = IAND(data_tmp, mask_left(20))
50166 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50167 378816 : ipack = ipack + 1
50168 378816 : packed_data(ipack) = pack_tmp
50169 378816 : data_tmp = full_data(idata)
50170 378816 : pack_tmp = ISHFT(data_tmp, 24)
50171 378816 : pack_tmp = ISHFT(pack_tmp, -24)
50172 378816 : idata = idata + 1
50173 378816 : data_tmp = full_data(idata)
50174 378816 : data_tmp = ISHFT(data_tmp, 4)
50175 378816 : data_tmp = IAND(data_tmp, mask_left(24))
50176 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50177 378816 : ipack = ipack + 1
50178 378816 : packed_data(ipack) = pack_tmp
50179 378816 : data_tmp = full_data(idata)
50180 378816 : pack_tmp = ISHFT(data_tmp, 28)
50181 378816 : pack_tmp = ISHFT(pack_tmp, -28)
50182 378816 : idata = idata + 1
50183 378816 : data_tmp = full_data(idata)
50184 378816 : data_tmp = ISHFT(data_tmp, 4)
50185 378816 : data_tmp = IAND(data_tmp, mask_left(28))
50186 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50187 378816 : ipack = ipack + 1
50188 378816 : packed_data(ipack) = pack_tmp
50189 378816 : data_tmp = full_data(idata)
50190 378816 : pack_tmp = ISHFT(data_tmp, 32)
50191 378816 : pack_tmp = ISHFT(pack_tmp, -32)
50192 378816 : idata = idata + 1
50193 378816 : data_tmp = full_data(idata)
50194 378816 : data_tmp = ISHFT(data_tmp, 4)
50195 378816 : data_tmp = IAND(data_tmp, mask_left(32))
50196 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50197 378816 : ipack = ipack + 1
50198 378816 : packed_data(ipack) = pack_tmp
50199 378816 : data_tmp = full_data(idata)
50200 378816 : pack_tmp = ISHFT(data_tmp, 36)
50201 378816 : pack_tmp = ISHFT(pack_tmp, -36)
50202 378816 : idata = idata + 1
50203 378816 : data_tmp = full_data(idata)
50204 378816 : data_tmp = ISHFT(data_tmp, 4)
50205 378816 : data_tmp = IAND(data_tmp, mask_left(36))
50206 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50207 378816 : ipack = ipack + 1
50208 378816 : packed_data(ipack) = pack_tmp
50209 378816 : data_tmp = full_data(idata)
50210 378816 : pack_tmp = ISHFT(data_tmp, 40)
50211 378816 : pack_tmp = ISHFT(pack_tmp, -40)
50212 378816 : idata = idata + 1
50213 378816 : data_tmp = full_data(idata)
50214 378816 : data_tmp = ISHFT(data_tmp, 4)
50215 378816 : data_tmp = IAND(data_tmp, mask_left(40))
50216 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50217 378816 : ipack = ipack + 1
50218 378816 : packed_data(ipack) = pack_tmp
50219 378816 : data_tmp = full_data(idata)
50220 378816 : pack_tmp = ISHFT(data_tmp, 44)
50221 378816 : pack_tmp = ISHFT(pack_tmp, -44)
50222 378816 : idata = idata + 1
50223 378816 : data_tmp = full_data(idata)
50224 378816 : data_tmp = ISHFT(data_tmp, 4)
50225 378816 : data_tmp = IAND(data_tmp, mask_left(44))
50226 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50227 378816 : ipack = ipack + 1
50228 378816 : packed_data(ipack) = pack_tmp
50229 378816 : data_tmp = full_data(idata)
50230 378816 : pack_tmp = ISHFT(data_tmp, 48)
50231 378816 : pack_tmp = ISHFT(pack_tmp, -48)
50232 378816 : idata = idata + 1
50233 378816 : data_tmp = full_data(idata)
50234 378816 : data_tmp = ISHFT(data_tmp, 4)
50235 378816 : data_tmp = IAND(data_tmp, mask_left(48))
50236 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50237 378816 : ipack = ipack + 1
50238 378816 : packed_data(ipack) = pack_tmp
50239 378816 : data_tmp = full_data(idata)
50240 378816 : pack_tmp = ISHFT(data_tmp, 52)
50241 378816 : pack_tmp = ISHFT(pack_tmp, -52)
50242 378816 : idata = idata + 1
50243 378816 : data_tmp = full_data(idata)
50244 378816 : data_tmp = ISHFT(data_tmp, 4)
50245 378816 : data_tmp = IAND(data_tmp, mask_left(52))
50246 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50247 378816 : ipack = ipack + 1
50248 378816 : packed_data(ipack) = pack_tmp
50249 378816 : data_tmp = full_data(idata)
50250 378816 : pack_tmp = ISHFT(data_tmp, 56)
50251 378816 : pack_tmp = ISHFT(pack_tmp, -56)
50252 378816 : idata = idata + 1
50253 378816 : data_tmp = full_data(idata)
50254 378816 : data_tmp = ISHFT(data_tmp, 4)
50255 378816 : data_tmp = IAND(data_tmp, mask_left(56))
50256 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50257 378816 : ipack = ipack + 1
50258 378816 : packed_data(ipack) = pack_tmp
50259 378816 : data_tmp = full_data(idata)
50260 378816 : pack_tmp = ISHFT(data_tmp, 60)
50261 378816 : pack_tmp = ISHFT(pack_tmp, -60)
50262 378816 : idata = idata + 1
50263 378816 : data_tmp = full_data(idata)
50264 378816 : data_tmp = ISHFT(data_tmp, 4)
50265 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50266 : pack_tmp = ISHFT(pack_tmp, 0)
50267 378816 : pack_tmp = ISHFT(pack_tmp, 0)
50268 378816 : ipack = ipack + 1
50269 378816 : packed_data(ipack) = pack_tmp
50270 : END DO
50271 23676 : 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 23676 : END SUBROUTINE ints2bits_60
50275 :
50276 : ! **************************************************************************************************
50277 : !> \brief ...
50278 : !> \param Ndata ...
50279 : !> \param packed_data ...
50280 : !> \param full_data ...
50281 : ! **************************************************************************************************
50282 95427 : 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 95427 : ipack = 0
50293 95427 : idata = 0
50294 95427 : pack_tmp = 0
50295 95427 : Ndata_rep = (Ndata/64)*64
50296 95427 : DO kdata = 1, Ndata_rep, 64
50297 1526832 : idata = idata + 1
50298 1526832 : data_tmp = ISHFT(pack_tmp, 60)
50299 1526832 : ipack = ipack + 1
50300 1526832 : pack_tmp = packed_data(ipack)
50301 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50302 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
50303 1526832 : idata = idata + 1
50304 1526832 : data_tmp = ISHFT(pack_tmp, 56)
50305 1526832 : ipack = ipack + 1
50306 1526832 : pack_tmp = packed_data(ipack)
50307 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50308 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
50309 1526832 : idata = idata + 1
50310 1526832 : data_tmp = ISHFT(pack_tmp, 52)
50311 1526832 : ipack = ipack + 1
50312 1526832 : pack_tmp = packed_data(ipack)
50313 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50314 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
50315 1526832 : idata = idata + 1
50316 1526832 : data_tmp = ISHFT(pack_tmp, 48)
50317 1526832 : ipack = ipack + 1
50318 1526832 : pack_tmp = packed_data(ipack)
50319 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50320 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
50321 1526832 : idata = idata + 1
50322 1526832 : data_tmp = ISHFT(pack_tmp, 44)
50323 1526832 : ipack = ipack + 1
50324 1526832 : pack_tmp = packed_data(ipack)
50325 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50326 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
50327 1526832 : idata = idata + 1
50328 1526832 : data_tmp = ISHFT(pack_tmp, 40)
50329 1526832 : ipack = ipack + 1
50330 1526832 : pack_tmp = packed_data(ipack)
50331 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50332 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
50333 1526832 : idata = idata + 1
50334 1526832 : data_tmp = ISHFT(pack_tmp, 36)
50335 1526832 : ipack = ipack + 1
50336 1526832 : pack_tmp = packed_data(ipack)
50337 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50338 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
50339 1526832 : idata = idata + 1
50340 1526832 : data_tmp = ISHFT(pack_tmp, 32)
50341 1526832 : ipack = ipack + 1
50342 1526832 : pack_tmp = packed_data(ipack)
50343 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50344 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
50345 1526832 : idata = idata + 1
50346 1526832 : data_tmp = ISHFT(pack_tmp, 28)
50347 1526832 : ipack = ipack + 1
50348 1526832 : pack_tmp = packed_data(ipack)
50349 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50350 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
50351 1526832 : idata = idata + 1
50352 1526832 : data_tmp = ISHFT(pack_tmp, 24)
50353 1526832 : ipack = ipack + 1
50354 1526832 : pack_tmp = packed_data(ipack)
50355 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50356 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
50357 1526832 : idata = idata + 1
50358 1526832 : data_tmp = ISHFT(pack_tmp, 20)
50359 1526832 : ipack = ipack + 1
50360 1526832 : pack_tmp = packed_data(ipack)
50361 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50362 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
50363 1526832 : idata = idata + 1
50364 1526832 : data_tmp = ISHFT(pack_tmp, 16)
50365 1526832 : ipack = ipack + 1
50366 1526832 : pack_tmp = packed_data(ipack)
50367 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50368 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
50369 1526832 : idata = idata + 1
50370 1526832 : data_tmp = ISHFT(pack_tmp, 12)
50371 1526832 : ipack = ipack + 1
50372 1526832 : pack_tmp = packed_data(ipack)
50373 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50374 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
50375 1526832 : idata = idata + 1
50376 1526832 : data_tmp = ISHFT(pack_tmp, 8)
50377 1526832 : ipack = ipack + 1
50378 1526832 : pack_tmp = packed_data(ipack)
50379 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50380 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
50381 1526832 : idata = idata + 1
50382 1526832 : data_tmp = ISHFT(pack_tmp, 4)
50383 1526832 : ipack = ipack + 1
50384 1526832 : pack_tmp = packed_data(ipack)
50385 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50386 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
50387 1526832 : idata = idata + 1
50388 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50389 1526832 : full_data(idata) = data_tmp
50390 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50391 1526832 : idata = idata + 1
50392 1526832 : data_tmp = ISHFT(pack_tmp, 60)
50393 1526832 : ipack = ipack + 1
50394 1526832 : pack_tmp = packed_data(ipack)
50395 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50396 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
50397 1526832 : idata = idata + 1
50398 1526832 : data_tmp = ISHFT(pack_tmp, 56)
50399 1526832 : ipack = ipack + 1
50400 1526832 : pack_tmp = packed_data(ipack)
50401 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50402 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
50403 1526832 : idata = idata + 1
50404 1526832 : data_tmp = ISHFT(pack_tmp, 52)
50405 1526832 : ipack = ipack + 1
50406 1526832 : pack_tmp = packed_data(ipack)
50407 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50408 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
50409 1526832 : idata = idata + 1
50410 1526832 : data_tmp = ISHFT(pack_tmp, 48)
50411 1526832 : ipack = ipack + 1
50412 1526832 : pack_tmp = packed_data(ipack)
50413 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50414 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
50415 1526832 : idata = idata + 1
50416 1526832 : data_tmp = ISHFT(pack_tmp, 44)
50417 1526832 : ipack = ipack + 1
50418 1526832 : pack_tmp = packed_data(ipack)
50419 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50420 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
50421 1526832 : idata = idata + 1
50422 1526832 : data_tmp = ISHFT(pack_tmp, 40)
50423 1526832 : ipack = ipack + 1
50424 1526832 : pack_tmp = packed_data(ipack)
50425 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50426 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
50427 1526832 : idata = idata + 1
50428 1526832 : data_tmp = ISHFT(pack_tmp, 36)
50429 1526832 : ipack = ipack + 1
50430 1526832 : pack_tmp = packed_data(ipack)
50431 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50432 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
50433 1526832 : idata = idata + 1
50434 1526832 : data_tmp = ISHFT(pack_tmp, 32)
50435 1526832 : ipack = ipack + 1
50436 1526832 : pack_tmp = packed_data(ipack)
50437 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50438 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
50439 1526832 : idata = idata + 1
50440 1526832 : data_tmp = ISHFT(pack_tmp, 28)
50441 1526832 : ipack = ipack + 1
50442 1526832 : pack_tmp = packed_data(ipack)
50443 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50444 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
50445 1526832 : idata = idata + 1
50446 1526832 : data_tmp = ISHFT(pack_tmp, 24)
50447 1526832 : ipack = ipack + 1
50448 1526832 : pack_tmp = packed_data(ipack)
50449 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50450 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
50451 1526832 : idata = idata + 1
50452 1526832 : data_tmp = ISHFT(pack_tmp, 20)
50453 1526832 : ipack = ipack + 1
50454 1526832 : pack_tmp = packed_data(ipack)
50455 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50456 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
50457 1526832 : idata = idata + 1
50458 1526832 : data_tmp = ISHFT(pack_tmp, 16)
50459 1526832 : ipack = ipack + 1
50460 1526832 : pack_tmp = packed_data(ipack)
50461 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50462 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
50463 1526832 : idata = idata + 1
50464 1526832 : data_tmp = ISHFT(pack_tmp, 12)
50465 1526832 : ipack = ipack + 1
50466 1526832 : pack_tmp = packed_data(ipack)
50467 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50468 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
50469 1526832 : idata = idata + 1
50470 1526832 : data_tmp = ISHFT(pack_tmp, 8)
50471 1526832 : ipack = ipack + 1
50472 1526832 : pack_tmp = packed_data(ipack)
50473 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50474 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
50475 1526832 : idata = idata + 1
50476 1526832 : data_tmp = ISHFT(pack_tmp, 4)
50477 1526832 : ipack = ipack + 1
50478 1526832 : pack_tmp = packed_data(ipack)
50479 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50480 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
50481 1526832 : idata = idata + 1
50482 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50483 1526832 : full_data(idata) = data_tmp
50484 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50485 1526832 : idata = idata + 1
50486 1526832 : data_tmp = ISHFT(pack_tmp, 60)
50487 1526832 : ipack = ipack + 1
50488 1526832 : pack_tmp = packed_data(ipack)
50489 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50490 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
50491 1526832 : idata = idata + 1
50492 1526832 : data_tmp = ISHFT(pack_tmp, 56)
50493 1526832 : ipack = ipack + 1
50494 1526832 : pack_tmp = packed_data(ipack)
50495 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50496 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
50497 1526832 : idata = idata + 1
50498 1526832 : data_tmp = ISHFT(pack_tmp, 52)
50499 1526832 : ipack = ipack + 1
50500 1526832 : pack_tmp = packed_data(ipack)
50501 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50502 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
50503 1526832 : idata = idata + 1
50504 1526832 : data_tmp = ISHFT(pack_tmp, 48)
50505 1526832 : ipack = ipack + 1
50506 1526832 : pack_tmp = packed_data(ipack)
50507 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50508 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
50509 1526832 : idata = idata + 1
50510 1526832 : data_tmp = ISHFT(pack_tmp, 44)
50511 1526832 : ipack = ipack + 1
50512 1526832 : pack_tmp = packed_data(ipack)
50513 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50514 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
50515 1526832 : idata = idata + 1
50516 1526832 : data_tmp = ISHFT(pack_tmp, 40)
50517 1526832 : ipack = ipack + 1
50518 1526832 : pack_tmp = packed_data(ipack)
50519 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50520 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
50521 1526832 : idata = idata + 1
50522 1526832 : data_tmp = ISHFT(pack_tmp, 36)
50523 1526832 : ipack = ipack + 1
50524 1526832 : pack_tmp = packed_data(ipack)
50525 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50526 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
50527 1526832 : idata = idata + 1
50528 1526832 : data_tmp = ISHFT(pack_tmp, 32)
50529 1526832 : ipack = ipack + 1
50530 1526832 : pack_tmp = packed_data(ipack)
50531 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50532 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
50533 1526832 : idata = idata + 1
50534 1526832 : data_tmp = ISHFT(pack_tmp, 28)
50535 1526832 : ipack = ipack + 1
50536 1526832 : pack_tmp = packed_data(ipack)
50537 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50538 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
50539 1526832 : idata = idata + 1
50540 1526832 : data_tmp = ISHFT(pack_tmp, 24)
50541 1526832 : ipack = ipack + 1
50542 1526832 : pack_tmp = packed_data(ipack)
50543 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50544 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
50545 1526832 : idata = idata + 1
50546 1526832 : data_tmp = ISHFT(pack_tmp, 20)
50547 1526832 : ipack = ipack + 1
50548 1526832 : pack_tmp = packed_data(ipack)
50549 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50550 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
50551 1526832 : idata = idata + 1
50552 1526832 : data_tmp = ISHFT(pack_tmp, 16)
50553 1526832 : ipack = ipack + 1
50554 1526832 : pack_tmp = packed_data(ipack)
50555 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50556 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
50557 1526832 : idata = idata + 1
50558 1526832 : data_tmp = ISHFT(pack_tmp, 12)
50559 1526832 : ipack = ipack + 1
50560 1526832 : pack_tmp = packed_data(ipack)
50561 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50562 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
50563 1526832 : idata = idata + 1
50564 1526832 : data_tmp = ISHFT(pack_tmp, 8)
50565 1526832 : ipack = ipack + 1
50566 1526832 : pack_tmp = packed_data(ipack)
50567 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50568 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
50569 1526832 : idata = idata + 1
50570 1526832 : data_tmp = ISHFT(pack_tmp, 4)
50571 1526832 : ipack = ipack + 1
50572 1526832 : pack_tmp = packed_data(ipack)
50573 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50574 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
50575 1526832 : idata = idata + 1
50576 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50577 1526832 : full_data(idata) = data_tmp
50578 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50579 1526832 : idata = idata + 1
50580 1526832 : data_tmp = ISHFT(pack_tmp, 60)
50581 1526832 : ipack = ipack + 1
50582 1526832 : pack_tmp = packed_data(ipack)
50583 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50584 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
50585 1526832 : idata = idata + 1
50586 1526832 : data_tmp = ISHFT(pack_tmp, 56)
50587 1526832 : ipack = ipack + 1
50588 1526832 : pack_tmp = packed_data(ipack)
50589 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50590 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
50591 1526832 : idata = idata + 1
50592 1526832 : data_tmp = ISHFT(pack_tmp, 52)
50593 1526832 : ipack = ipack + 1
50594 1526832 : pack_tmp = packed_data(ipack)
50595 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50596 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
50597 1526832 : idata = idata + 1
50598 1526832 : data_tmp = ISHFT(pack_tmp, 48)
50599 1526832 : ipack = ipack + 1
50600 1526832 : pack_tmp = packed_data(ipack)
50601 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50602 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
50603 1526832 : idata = idata + 1
50604 1526832 : data_tmp = ISHFT(pack_tmp, 44)
50605 1526832 : ipack = ipack + 1
50606 1526832 : pack_tmp = packed_data(ipack)
50607 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50608 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
50609 1526832 : idata = idata + 1
50610 1526832 : data_tmp = ISHFT(pack_tmp, 40)
50611 1526832 : ipack = ipack + 1
50612 1526832 : pack_tmp = packed_data(ipack)
50613 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50614 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
50615 1526832 : idata = idata + 1
50616 1526832 : data_tmp = ISHFT(pack_tmp, 36)
50617 1526832 : ipack = ipack + 1
50618 1526832 : pack_tmp = packed_data(ipack)
50619 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50620 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
50621 1526832 : idata = idata + 1
50622 1526832 : data_tmp = ISHFT(pack_tmp, 32)
50623 1526832 : ipack = ipack + 1
50624 1526832 : pack_tmp = packed_data(ipack)
50625 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50626 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
50627 1526832 : idata = idata + 1
50628 1526832 : data_tmp = ISHFT(pack_tmp, 28)
50629 1526832 : ipack = ipack + 1
50630 1526832 : pack_tmp = packed_data(ipack)
50631 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50632 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
50633 1526832 : idata = idata + 1
50634 1526832 : data_tmp = ISHFT(pack_tmp, 24)
50635 1526832 : ipack = ipack + 1
50636 1526832 : pack_tmp = packed_data(ipack)
50637 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50638 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
50639 1526832 : idata = idata + 1
50640 1526832 : data_tmp = ISHFT(pack_tmp, 20)
50641 1526832 : ipack = ipack + 1
50642 1526832 : pack_tmp = packed_data(ipack)
50643 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50644 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
50645 1526832 : idata = idata + 1
50646 1526832 : data_tmp = ISHFT(pack_tmp, 16)
50647 1526832 : ipack = ipack + 1
50648 1526832 : pack_tmp = packed_data(ipack)
50649 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50650 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
50651 1526832 : idata = idata + 1
50652 1526832 : data_tmp = ISHFT(pack_tmp, 12)
50653 1526832 : ipack = ipack + 1
50654 1526832 : pack_tmp = packed_data(ipack)
50655 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50656 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
50657 1526832 : idata = idata + 1
50658 1526832 : data_tmp = ISHFT(pack_tmp, 8)
50659 1526832 : ipack = ipack + 1
50660 1526832 : pack_tmp = packed_data(ipack)
50661 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50662 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
50663 1526832 : idata = idata + 1
50664 1526832 : data_tmp = ISHFT(pack_tmp, 4)
50665 1526832 : ipack = ipack + 1
50666 1526832 : pack_tmp = packed_data(ipack)
50667 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50668 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
50669 1526832 : idata = idata + 1
50670 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50671 1526832 : full_data(idata) = data_tmp
50672 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50673 : END DO
50674 95427 : 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 95427 : END SUBROUTINE bits2ints_60
50678 :
50679 : ! **************************************************************************************************
50680 : !> \brief ...
50681 : !> \param Ndata ...
50682 : !> \param packed_data ...
50683 : !> \param full_data ...
50684 : ! **************************************************************************************************
50685 23676 : 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 23676 : idata = 0
50696 23676 : ipack = 0
50697 23676 : Ndata_rep = (Ndata/64)*64
50698 23676 : DO kdata = 1, Ndata_rep, 64
50699 378816 : pack_tmp = 0
50700 378816 : idata = idata + 1
50701 378816 : data_tmp = full_data(idata)
50702 378816 : data_tmp = ISHFT(data_tmp, 3)
50703 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50704 378816 : pack_tmp = ISHFT(pack_tmp, -3)
50705 378816 : idata = idata + 1
50706 378816 : data_tmp = full_data(idata)
50707 378816 : data_tmp = ISHFT(data_tmp, 3)
50708 378816 : data_tmp = IAND(data_tmp, mask_left(3))
50709 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50710 378816 : ipack = ipack + 1
50711 378816 : packed_data(ipack) = pack_tmp
50712 378816 : data_tmp = full_data(idata)
50713 378816 : pack_tmp = ISHFT(data_tmp, 6)
50714 378816 : pack_tmp = ISHFT(pack_tmp, -6)
50715 378816 : idata = idata + 1
50716 378816 : data_tmp = full_data(idata)
50717 378816 : data_tmp = ISHFT(data_tmp, 3)
50718 378816 : data_tmp = IAND(data_tmp, mask_left(6))
50719 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50720 378816 : ipack = ipack + 1
50721 378816 : packed_data(ipack) = pack_tmp
50722 378816 : data_tmp = full_data(idata)
50723 378816 : pack_tmp = ISHFT(data_tmp, 9)
50724 378816 : pack_tmp = ISHFT(pack_tmp, -9)
50725 378816 : idata = idata + 1
50726 378816 : data_tmp = full_data(idata)
50727 378816 : data_tmp = ISHFT(data_tmp, 3)
50728 378816 : data_tmp = IAND(data_tmp, mask_left(9))
50729 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50730 378816 : ipack = ipack + 1
50731 378816 : packed_data(ipack) = pack_tmp
50732 378816 : data_tmp = full_data(idata)
50733 378816 : pack_tmp = ISHFT(data_tmp, 12)
50734 378816 : pack_tmp = ISHFT(pack_tmp, -12)
50735 378816 : idata = idata + 1
50736 378816 : data_tmp = full_data(idata)
50737 378816 : data_tmp = ISHFT(data_tmp, 3)
50738 378816 : data_tmp = IAND(data_tmp, mask_left(12))
50739 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50740 378816 : ipack = ipack + 1
50741 378816 : packed_data(ipack) = pack_tmp
50742 378816 : data_tmp = full_data(idata)
50743 378816 : pack_tmp = ISHFT(data_tmp, 15)
50744 378816 : pack_tmp = ISHFT(pack_tmp, -15)
50745 378816 : idata = idata + 1
50746 378816 : data_tmp = full_data(idata)
50747 378816 : data_tmp = ISHFT(data_tmp, 3)
50748 378816 : data_tmp = IAND(data_tmp, mask_left(15))
50749 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50750 378816 : ipack = ipack + 1
50751 378816 : packed_data(ipack) = pack_tmp
50752 378816 : data_tmp = full_data(idata)
50753 378816 : pack_tmp = ISHFT(data_tmp, 18)
50754 378816 : pack_tmp = ISHFT(pack_tmp, -18)
50755 378816 : idata = idata + 1
50756 378816 : data_tmp = full_data(idata)
50757 378816 : data_tmp = ISHFT(data_tmp, 3)
50758 378816 : data_tmp = IAND(data_tmp, mask_left(18))
50759 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50760 378816 : ipack = ipack + 1
50761 378816 : packed_data(ipack) = pack_tmp
50762 378816 : data_tmp = full_data(idata)
50763 378816 : pack_tmp = ISHFT(data_tmp, 21)
50764 378816 : pack_tmp = ISHFT(pack_tmp, -21)
50765 378816 : idata = idata + 1
50766 378816 : data_tmp = full_data(idata)
50767 378816 : data_tmp = ISHFT(data_tmp, 3)
50768 378816 : data_tmp = IAND(data_tmp, mask_left(21))
50769 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50770 378816 : ipack = ipack + 1
50771 378816 : packed_data(ipack) = pack_tmp
50772 378816 : data_tmp = full_data(idata)
50773 378816 : pack_tmp = ISHFT(data_tmp, 24)
50774 378816 : pack_tmp = ISHFT(pack_tmp, -24)
50775 378816 : idata = idata + 1
50776 378816 : data_tmp = full_data(idata)
50777 378816 : data_tmp = ISHFT(data_tmp, 3)
50778 378816 : data_tmp = IAND(data_tmp, mask_left(24))
50779 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50780 378816 : ipack = ipack + 1
50781 378816 : packed_data(ipack) = pack_tmp
50782 378816 : data_tmp = full_data(idata)
50783 378816 : pack_tmp = ISHFT(data_tmp, 27)
50784 378816 : pack_tmp = ISHFT(pack_tmp, -27)
50785 378816 : idata = idata + 1
50786 378816 : data_tmp = full_data(idata)
50787 378816 : data_tmp = ISHFT(data_tmp, 3)
50788 378816 : data_tmp = IAND(data_tmp, mask_left(27))
50789 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50790 378816 : ipack = ipack + 1
50791 378816 : packed_data(ipack) = pack_tmp
50792 378816 : data_tmp = full_data(idata)
50793 378816 : pack_tmp = ISHFT(data_tmp, 30)
50794 378816 : pack_tmp = ISHFT(pack_tmp, -30)
50795 378816 : idata = idata + 1
50796 378816 : data_tmp = full_data(idata)
50797 378816 : data_tmp = ISHFT(data_tmp, 3)
50798 378816 : data_tmp = IAND(data_tmp, mask_left(30))
50799 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50800 378816 : ipack = ipack + 1
50801 378816 : packed_data(ipack) = pack_tmp
50802 378816 : data_tmp = full_data(idata)
50803 378816 : pack_tmp = ISHFT(data_tmp, 33)
50804 378816 : pack_tmp = ISHFT(pack_tmp, -33)
50805 378816 : idata = idata + 1
50806 378816 : data_tmp = full_data(idata)
50807 378816 : data_tmp = ISHFT(data_tmp, 3)
50808 378816 : data_tmp = IAND(data_tmp, mask_left(33))
50809 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50810 378816 : ipack = ipack + 1
50811 378816 : packed_data(ipack) = pack_tmp
50812 378816 : data_tmp = full_data(idata)
50813 378816 : pack_tmp = ISHFT(data_tmp, 36)
50814 378816 : pack_tmp = ISHFT(pack_tmp, -36)
50815 378816 : idata = idata + 1
50816 378816 : data_tmp = full_data(idata)
50817 378816 : data_tmp = ISHFT(data_tmp, 3)
50818 378816 : data_tmp = IAND(data_tmp, mask_left(36))
50819 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50820 378816 : ipack = ipack + 1
50821 378816 : packed_data(ipack) = pack_tmp
50822 378816 : data_tmp = full_data(idata)
50823 378816 : pack_tmp = ISHFT(data_tmp, 39)
50824 378816 : pack_tmp = ISHFT(pack_tmp, -39)
50825 378816 : idata = idata + 1
50826 378816 : data_tmp = full_data(idata)
50827 378816 : data_tmp = ISHFT(data_tmp, 3)
50828 378816 : data_tmp = IAND(data_tmp, mask_left(39))
50829 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50830 378816 : ipack = ipack + 1
50831 378816 : packed_data(ipack) = pack_tmp
50832 378816 : data_tmp = full_data(idata)
50833 378816 : pack_tmp = ISHFT(data_tmp, 42)
50834 378816 : pack_tmp = ISHFT(pack_tmp, -42)
50835 378816 : idata = idata + 1
50836 378816 : data_tmp = full_data(idata)
50837 378816 : data_tmp = ISHFT(data_tmp, 3)
50838 378816 : data_tmp = IAND(data_tmp, mask_left(42))
50839 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50840 378816 : ipack = ipack + 1
50841 378816 : packed_data(ipack) = pack_tmp
50842 378816 : data_tmp = full_data(idata)
50843 378816 : pack_tmp = ISHFT(data_tmp, 45)
50844 378816 : pack_tmp = ISHFT(pack_tmp, -45)
50845 378816 : idata = idata + 1
50846 378816 : data_tmp = full_data(idata)
50847 378816 : data_tmp = ISHFT(data_tmp, 3)
50848 378816 : data_tmp = IAND(data_tmp, mask_left(45))
50849 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50850 378816 : ipack = ipack + 1
50851 378816 : packed_data(ipack) = pack_tmp
50852 378816 : data_tmp = full_data(idata)
50853 378816 : pack_tmp = ISHFT(data_tmp, 48)
50854 378816 : pack_tmp = ISHFT(pack_tmp, -48)
50855 378816 : idata = idata + 1
50856 378816 : data_tmp = full_data(idata)
50857 378816 : data_tmp = ISHFT(data_tmp, 3)
50858 378816 : data_tmp = IAND(data_tmp, mask_left(48))
50859 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50860 378816 : ipack = ipack + 1
50861 378816 : packed_data(ipack) = pack_tmp
50862 378816 : data_tmp = full_data(idata)
50863 378816 : pack_tmp = ISHFT(data_tmp, 51)
50864 378816 : pack_tmp = ISHFT(pack_tmp, -51)
50865 378816 : idata = idata + 1
50866 378816 : data_tmp = full_data(idata)
50867 378816 : data_tmp = ISHFT(data_tmp, 3)
50868 378816 : data_tmp = IAND(data_tmp, mask_left(51))
50869 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50870 378816 : ipack = ipack + 1
50871 378816 : packed_data(ipack) = pack_tmp
50872 378816 : data_tmp = full_data(idata)
50873 378816 : pack_tmp = ISHFT(data_tmp, 54)
50874 378816 : pack_tmp = ISHFT(pack_tmp, -54)
50875 378816 : idata = idata + 1
50876 378816 : data_tmp = full_data(idata)
50877 378816 : data_tmp = ISHFT(data_tmp, 3)
50878 378816 : data_tmp = IAND(data_tmp, mask_left(54))
50879 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50880 378816 : ipack = ipack + 1
50881 378816 : packed_data(ipack) = pack_tmp
50882 378816 : data_tmp = full_data(idata)
50883 378816 : pack_tmp = ISHFT(data_tmp, 57)
50884 378816 : pack_tmp = ISHFT(pack_tmp, -57)
50885 378816 : idata = idata + 1
50886 378816 : data_tmp = full_data(idata)
50887 378816 : data_tmp = ISHFT(data_tmp, 3)
50888 378816 : data_tmp = IAND(data_tmp, mask_left(57))
50889 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50890 378816 : ipack = ipack + 1
50891 378816 : packed_data(ipack) = pack_tmp
50892 378816 : data_tmp = full_data(idata)
50893 378816 : pack_tmp = ISHFT(data_tmp, 60)
50894 378816 : pack_tmp = ISHFT(pack_tmp, -60)
50895 378816 : idata = idata + 1
50896 378816 : data_tmp = full_data(idata)
50897 378816 : data_tmp = ISHFT(data_tmp, 3)
50898 378816 : data_tmp = IAND(data_tmp, mask_left(60))
50899 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50900 378816 : ipack = ipack + 1
50901 378816 : packed_data(ipack) = pack_tmp
50902 378816 : data_tmp = full_data(idata)
50903 378816 : pack_tmp = ISHFT(data_tmp, 63)
50904 378816 : pack_tmp = ISHFT(pack_tmp, -61)
50905 378816 : idata = idata + 1
50906 378816 : data_tmp = full_data(idata)
50907 378816 : data_tmp = ISHFT(data_tmp, 3)
50908 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50909 378816 : pack_tmp = ISHFT(pack_tmp, -2)
50910 378816 : idata = idata + 1
50911 378816 : data_tmp = full_data(idata)
50912 378816 : data_tmp = ISHFT(data_tmp, 3)
50913 378816 : data_tmp = IAND(data_tmp, mask_left(2))
50914 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50915 378816 : ipack = ipack + 1
50916 378816 : packed_data(ipack) = pack_tmp
50917 378816 : data_tmp = full_data(idata)
50918 378816 : pack_tmp = ISHFT(data_tmp, 5)
50919 378816 : pack_tmp = ISHFT(pack_tmp, -5)
50920 378816 : idata = idata + 1
50921 378816 : data_tmp = full_data(idata)
50922 378816 : data_tmp = ISHFT(data_tmp, 3)
50923 378816 : data_tmp = IAND(data_tmp, mask_left(5))
50924 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50925 378816 : ipack = ipack + 1
50926 378816 : packed_data(ipack) = pack_tmp
50927 378816 : data_tmp = full_data(idata)
50928 378816 : pack_tmp = ISHFT(data_tmp, 8)
50929 378816 : pack_tmp = ISHFT(pack_tmp, -8)
50930 378816 : idata = idata + 1
50931 378816 : data_tmp = full_data(idata)
50932 378816 : data_tmp = ISHFT(data_tmp, 3)
50933 378816 : data_tmp = IAND(data_tmp, mask_left(8))
50934 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50935 378816 : ipack = ipack + 1
50936 378816 : packed_data(ipack) = pack_tmp
50937 378816 : data_tmp = full_data(idata)
50938 378816 : pack_tmp = ISHFT(data_tmp, 11)
50939 378816 : pack_tmp = ISHFT(pack_tmp, -11)
50940 378816 : idata = idata + 1
50941 378816 : data_tmp = full_data(idata)
50942 378816 : data_tmp = ISHFT(data_tmp, 3)
50943 378816 : data_tmp = IAND(data_tmp, mask_left(11))
50944 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50945 378816 : ipack = ipack + 1
50946 378816 : packed_data(ipack) = pack_tmp
50947 378816 : data_tmp = full_data(idata)
50948 378816 : pack_tmp = ISHFT(data_tmp, 14)
50949 378816 : pack_tmp = ISHFT(pack_tmp, -14)
50950 378816 : idata = idata + 1
50951 378816 : data_tmp = full_data(idata)
50952 378816 : data_tmp = ISHFT(data_tmp, 3)
50953 378816 : data_tmp = IAND(data_tmp, mask_left(14))
50954 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50955 378816 : ipack = ipack + 1
50956 378816 : packed_data(ipack) = pack_tmp
50957 378816 : data_tmp = full_data(idata)
50958 378816 : pack_tmp = ISHFT(data_tmp, 17)
50959 378816 : pack_tmp = ISHFT(pack_tmp, -17)
50960 378816 : idata = idata + 1
50961 378816 : data_tmp = full_data(idata)
50962 378816 : data_tmp = ISHFT(data_tmp, 3)
50963 378816 : data_tmp = IAND(data_tmp, mask_left(17))
50964 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50965 378816 : ipack = ipack + 1
50966 378816 : packed_data(ipack) = pack_tmp
50967 378816 : data_tmp = full_data(idata)
50968 378816 : pack_tmp = ISHFT(data_tmp, 20)
50969 378816 : pack_tmp = ISHFT(pack_tmp, -20)
50970 378816 : idata = idata + 1
50971 378816 : data_tmp = full_data(idata)
50972 378816 : data_tmp = ISHFT(data_tmp, 3)
50973 378816 : data_tmp = IAND(data_tmp, mask_left(20))
50974 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50975 378816 : ipack = ipack + 1
50976 378816 : packed_data(ipack) = pack_tmp
50977 378816 : data_tmp = full_data(idata)
50978 378816 : pack_tmp = ISHFT(data_tmp, 23)
50979 378816 : pack_tmp = ISHFT(pack_tmp, -23)
50980 378816 : idata = idata + 1
50981 378816 : data_tmp = full_data(idata)
50982 378816 : data_tmp = ISHFT(data_tmp, 3)
50983 378816 : data_tmp = IAND(data_tmp, mask_left(23))
50984 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50985 378816 : ipack = ipack + 1
50986 378816 : packed_data(ipack) = pack_tmp
50987 378816 : data_tmp = full_data(idata)
50988 378816 : pack_tmp = ISHFT(data_tmp, 26)
50989 378816 : pack_tmp = ISHFT(pack_tmp, -26)
50990 378816 : idata = idata + 1
50991 378816 : data_tmp = full_data(idata)
50992 378816 : data_tmp = ISHFT(data_tmp, 3)
50993 378816 : data_tmp = IAND(data_tmp, mask_left(26))
50994 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
50995 378816 : ipack = ipack + 1
50996 378816 : packed_data(ipack) = pack_tmp
50997 378816 : data_tmp = full_data(idata)
50998 378816 : pack_tmp = ISHFT(data_tmp, 29)
50999 378816 : pack_tmp = ISHFT(pack_tmp, -29)
51000 378816 : idata = idata + 1
51001 378816 : data_tmp = full_data(idata)
51002 378816 : data_tmp = ISHFT(data_tmp, 3)
51003 378816 : data_tmp = IAND(data_tmp, mask_left(29))
51004 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51005 378816 : ipack = ipack + 1
51006 378816 : packed_data(ipack) = pack_tmp
51007 378816 : data_tmp = full_data(idata)
51008 378816 : pack_tmp = ISHFT(data_tmp, 32)
51009 378816 : pack_tmp = ISHFT(pack_tmp, -32)
51010 378816 : idata = idata + 1
51011 378816 : data_tmp = full_data(idata)
51012 378816 : data_tmp = ISHFT(data_tmp, 3)
51013 378816 : data_tmp = IAND(data_tmp, mask_left(32))
51014 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51015 378816 : ipack = ipack + 1
51016 378816 : packed_data(ipack) = pack_tmp
51017 378816 : data_tmp = full_data(idata)
51018 378816 : pack_tmp = ISHFT(data_tmp, 35)
51019 378816 : pack_tmp = ISHFT(pack_tmp, -35)
51020 378816 : idata = idata + 1
51021 378816 : data_tmp = full_data(idata)
51022 378816 : data_tmp = ISHFT(data_tmp, 3)
51023 378816 : data_tmp = IAND(data_tmp, mask_left(35))
51024 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51025 378816 : ipack = ipack + 1
51026 378816 : packed_data(ipack) = pack_tmp
51027 378816 : data_tmp = full_data(idata)
51028 378816 : pack_tmp = ISHFT(data_tmp, 38)
51029 378816 : pack_tmp = ISHFT(pack_tmp, -38)
51030 378816 : idata = idata + 1
51031 378816 : data_tmp = full_data(idata)
51032 378816 : data_tmp = ISHFT(data_tmp, 3)
51033 378816 : data_tmp = IAND(data_tmp, mask_left(38))
51034 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51035 378816 : ipack = ipack + 1
51036 378816 : packed_data(ipack) = pack_tmp
51037 378816 : data_tmp = full_data(idata)
51038 378816 : pack_tmp = ISHFT(data_tmp, 41)
51039 378816 : pack_tmp = ISHFT(pack_tmp, -41)
51040 378816 : idata = idata + 1
51041 378816 : data_tmp = full_data(idata)
51042 378816 : data_tmp = ISHFT(data_tmp, 3)
51043 378816 : data_tmp = IAND(data_tmp, mask_left(41))
51044 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51045 378816 : ipack = ipack + 1
51046 378816 : packed_data(ipack) = pack_tmp
51047 378816 : data_tmp = full_data(idata)
51048 378816 : pack_tmp = ISHFT(data_tmp, 44)
51049 378816 : pack_tmp = ISHFT(pack_tmp, -44)
51050 378816 : idata = idata + 1
51051 378816 : data_tmp = full_data(idata)
51052 378816 : data_tmp = ISHFT(data_tmp, 3)
51053 378816 : data_tmp = IAND(data_tmp, mask_left(44))
51054 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51055 378816 : ipack = ipack + 1
51056 378816 : packed_data(ipack) = pack_tmp
51057 378816 : data_tmp = full_data(idata)
51058 378816 : pack_tmp = ISHFT(data_tmp, 47)
51059 378816 : pack_tmp = ISHFT(pack_tmp, -47)
51060 378816 : idata = idata + 1
51061 378816 : data_tmp = full_data(idata)
51062 378816 : data_tmp = ISHFT(data_tmp, 3)
51063 378816 : data_tmp = IAND(data_tmp, mask_left(47))
51064 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51065 378816 : ipack = ipack + 1
51066 378816 : packed_data(ipack) = pack_tmp
51067 378816 : data_tmp = full_data(idata)
51068 378816 : pack_tmp = ISHFT(data_tmp, 50)
51069 378816 : pack_tmp = ISHFT(pack_tmp, -50)
51070 378816 : idata = idata + 1
51071 378816 : data_tmp = full_data(idata)
51072 378816 : data_tmp = ISHFT(data_tmp, 3)
51073 378816 : data_tmp = IAND(data_tmp, mask_left(50))
51074 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51075 378816 : ipack = ipack + 1
51076 378816 : packed_data(ipack) = pack_tmp
51077 378816 : data_tmp = full_data(idata)
51078 378816 : pack_tmp = ISHFT(data_tmp, 53)
51079 378816 : pack_tmp = ISHFT(pack_tmp, -53)
51080 378816 : idata = idata + 1
51081 378816 : data_tmp = full_data(idata)
51082 378816 : data_tmp = ISHFT(data_tmp, 3)
51083 378816 : data_tmp = IAND(data_tmp, mask_left(53))
51084 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51085 378816 : ipack = ipack + 1
51086 378816 : packed_data(ipack) = pack_tmp
51087 378816 : data_tmp = full_data(idata)
51088 378816 : pack_tmp = ISHFT(data_tmp, 56)
51089 378816 : pack_tmp = ISHFT(pack_tmp, -56)
51090 378816 : idata = idata + 1
51091 378816 : data_tmp = full_data(idata)
51092 378816 : data_tmp = ISHFT(data_tmp, 3)
51093 378816 : data_tmp = IAND(data_tmp, mask_left(56))
51094 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51095 378816 : ipack = ipack + 1
51096 378816 : packed_data(ipack) = pack_tmp
51097 378816 : data_tmp = full_data(idata)
51098 378816 : pack_tmp = ISHFT(data_tmp, 59)
51099 378816 : pack_tmp = ISHFT(pack_tmp, -59)
51100 378816 : idata = idata + 1
51101 378816 : data_tmp = full_data(idata)
51102 378816 : data_tmp = ISHFT(data_tmp, 3)
51103 378816 : data_tmp = IAND(data_tmp, mask_left(59))
51104 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51105 378816 : ipack = ipack + 1
51106 378816 : packed_data(ipack) = pack_tmp
51107 378816 : data_tmp = full_data(idata)
51108 378816 : pack_tmp = ISHFT(data_tmp, 62)
51109 378816 : pack_tmp = ISHFT(pack_tmp, -61)
51110 378816 : idata = idata + 1
51111 378816 : data_tmp = full_data(idata)
51112 378816 : data_tmp = ISHFT(data_tmp, 3)
51113 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51114 378816 : pack_tmp = ISHFT(pack_tmp, -1)
51115 378816 : idata = idata + 1
51116 378816 : data_tmp = full_data(idata)
51117 378816 : data_tmp = ISHFT(data_tmp, 3)
51118 378816 : data_tmp = IAND(data_tmp, mask_left(1))
51119 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51120 378816 : ipack = ipack + 1
51121 378816 : packed_data(ipack) = pack_tmp
51122 378816 : data_tmp = full_data(idata)
51123 378816 : pack_tmp = ISHFT(data_tmp, 4)
51124 378816 : pack_tmp = ISHFT(pack_tmp, -4)
51125 378816 : idata = idata + 1
51126 378816 : data_tmp = full_data(idata)
51127 378816 : data_tmp = ISHFT(data_tmp, 3)
51128 378816 : data_tmp = IAND(data_tmp, mask_left(4))
51129 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51130 378816 : ipack = ipack + 1
51131 378816 : packed_data(ipack) = pack_tmp
51132 378816 : data_tmp = full_data(idata)
51133 378816 : pack_tmp = ISHFT(data_tmp, 7)
51134 378816 : pack_tmp = ISHFT(pack_tmp, -7)
51135 378816 : idata = idata + 1
51136 378816 : data_tmp = full_data(idata)
51137 378816 : data_tmp = ISHFT(data_tmp, 3)
51138 378816 : data_tmp = IAND(data_tmp, mask_left(7))
51139 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51140 378816 : ipack = ipack + 1
51141 378816 : packed_data(ipack) = pack_tmp
51142 378816 : data_tmp = full_data(idata)
51143 378816 : pack_tmp = ISHFT(data_tmp, 10)
51144 378816 : pack_tmp = ISHFT(pack_tmp, -10)
51145 378816 : idata = idata + 1
51146 378816 : data_tmp = full_data(idata)
51147 378816 : data_tmp = ISHFT(data_tmp, 3)
51148 378816 : data_tmp = IAND(data_tmp, mask_left(10))
51149 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51150 378816 : ipack = ipack + 1
51151 378816 : packed_data(ipack) = pack_tmp
51152 378816 : data_tmp = full_data(idata)
51153 378816 : pack_tmp = ISHFT(data_tmp, 13)
51154 378816 : pack_tmp = ISHFT(pack_tmp, -13)
51155 378816 : idata = idata + 1
51156 378816 : data_tmp = full_data(idata)
51157 378816 : data_tmp = ISHFT(data_tmp, 3)
51158 378816 : data_tmp = IAND(data_tmp, mask_left(13))
51159 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51160 378816 : ipack = ipack + 1
51161 378816 : packed_data(ipack) = pack_tmp
51162 378816 : data_tmp = full_data(idata)
51163 378816 : pack_tmp = ISHFT(data_tmp, 16)
51164 378816 : pack_tmp = ISHFT(pack_tmp, -16)
51165 378816 : idata = idata + 1
51166 378816 : data_tmp = full_data(idata)
51167 378816 : data_tmp = ISHFT(data_tmp, 3)
51168 378816 : data_tmp = IAND(data_tmp, mask_left(16))
51169 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51170 378816 : ipack = ipack + 1
51171 378816 : packed_data(ipack) = pack_tmp
51172 378816 : data_tmp = full_data(idata)
51173 378816 : pack_tmp = ISHFT(data_tmp, 19)
51174 378816 : pack_tmp = ISHFT(pack_tmp, -19)
51175 378816 : idata = idata + 1
51176 378816 : data_tmp = full_data(idata)
51177 378816 : data_tmp = ISHFT(data_tmp, 3)
51178 378816 : data_tmp = IAND(data_tmp, mask_left(19))
51179 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51180 378816 : ipack = ipack + 1
51181 378816 : packed_data(ipack) = pack_tmp
51182 378816 : data_tmp = full_data(idata)
51183 378816 : pack_tmp = ISHFT(data_tmp, 22)
51184 378816 : pack_tmp = ISHFT(pack_tmp, -22)
51185 378816 : idata = idata + 1
51186 378816 : data_tmp = full_data(idata)
51187 378816 : data_tmp = ISHFT(data_tmp, 3)
51188 378816 : data_tmp = IAND(data_tmp, mask_left(22))
51189 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51190 378816 : ipack = ipack + 1
51191 378816 : packed_data(ipack) = pack_tmp
51192 378816 : data_tmp = full_data(idata)
51193 378816 : pack_tmp = ISHFT(data_tmp, 25)
51194 378816 : pack_tmp = ISHFT(pack_tmp, -25)
51195 378816 : idata = idata + 1
51196 378816 : data_tmp = full_data(idata)
51197 378816 : data_tmp = ISHFT(data_tmp, 3)
51198 378816 : data_tmp = IAND(data_tmp, mask_left(25))
51199 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51200 378816 : ipack = ipack + 1
51201 378816 : packed_data(ipack) = pack_tmp
51202 378816 : data_tmp = full_data(idata)
51203 378816 : pack_tmp = ISHFT(data_tmp, 28)
51204 378816 : pack_tmp = ISHFT(pack_tmp, -28)
51205 378816 : idata = idata + 1
51206 378816 : data_tmp = full_data(idata)
51207 378816 : data_tmp = ISHFT(data_tmp, 3)
51208 378816 : data_tmp = IAND(data_tmp, mask_left(28))
51209 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51210 378816 : ipack = ipack + 1
51211 378816 : packed_data(ipack) = pack_tmp
51212 378816 : data_tmp = full_data(idata)
51213 378816 : pack_tmp = ISHFT(data_tmp, 31)
51214 378816 : pack_tmp = ISHFT(pack_tmp, -31)
51215 378816 : idata = idata + 1
51216 378816 : data_tmp = full_data(idata)
51217 378816 : data_tmp = ISHFT(data_tmp, 3)
51218 378816 : data_tmp = IAND(data_tmp, mask_left(31))
51219 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51220 378816 : ipack = ipack + 1
51221 378816 : packed_data(ipack) = pack_tmp
51222 378816 : data_tmp = full_data(idata)
51223 378816 : pack_tmp = ISHFT(data_tmp, 34)
51224 378816 : pack_tmp = ISHFT(pack_tmp, -34)
51225 378816 : idata = idata + 1
51226 378816 : data_tmp = full_data(idata)
51227 378816 : data_tmp = ISHFT(data_tmp, 3)
51228 378816 : data_tmp = IAND(data_tmp, mask_left(34))
51229 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51230 378816 : ipack = ipack + 1
51231 378816 : packed_data(ipack) = pack_tmp
51232 378816 : data_tmp = full_data(idata)
51233 378816 : pack_tmp = ISHFT(data_tmp, 37)
51234 378816 : pack_tmp = ISHFT(pack_tmp, -37)
51235 378816 : idata = idata + 1
51236 378816 : data_tmp = full_data(idata)
51237 378816 : data_tmp = ISHFT(data_tmp, 3)
51238 378816 : data_tmp = IAND(data_tmp, mask_left(37))
51239 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51240 378816 : ipack = ipack + 1
51241 378816 : packed_data(ipack) = pack_tmp
51242 378816 : data_tmp = full_data(idata)
51243 378816 : pack_tmp = ISHFT(data_tmp, 40)
51244 378816 : pack_tmp = ISHFT(pack_tmp, -40)
51245 378816 : idata = idata + 1
51246 378816 : data_tmp = full_data(idata)
51247 378816 : data_tmp = ISHFT(data_tmp, 3)
51248 378816 : data_tmp = IAND(data_tmp, mask_left(40))
51249 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51250 378816 : ipack = ipack + 1
51251 378816 : packed_data(ipack) = pack_tmp
51252 378816 : data_tmp = full_data(idata)
51253 378816 : pack_tmp = ISHFT(data_tmp, 43)
51254 378816 : pack_tmp = ISHFT(pack_tmp, -43)
51255 378816 : idata = idata + 1
51256 378816 : data_tmp = full_data(idata)
51257 378816 : data_tmp = ISHFT(data_tmp, 3)
51258 378816 : data_tmp = IAND(data_tmp, mask_left(43))
51259 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51260 378816 : ipack = ipack + 1
51261 378816 : packed_data(ipack) = pack_tmp
51262 378816 : data_tmp = full_data(idata)
51263 378816 : pack_tmp = ISHFT(data_tmp, 46)
51264 378816 : pack_tmp = ISHFT(pack_tmp, -46)
51265 378816 : idata = idata + 1
51266 378816 : data_tmp = full_data(idata)
51267 378816 : data_tmp = ISHFT(data_tmp, 3)
51268 378816 : data_tmp = IAND(data_tmp, mask_left(46))
51269 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51270 378816 : ipack = ipack + 1
51271 378816 : packed_data(ipack) = pack_tmp
51272 378816 : data_tmp = full_data(idata)
51273 378816 : pack_tmp = ISHFT(data_tmp, 49)
51274 378816 : pack_tmp = ISHFT(pack_tmp, -49)
51275 378816 : idata = idata + 1
51276 378816 : data_tmp = full_data(idata)
51277 378816 : data_tmp = ISHFT(data_tmp, 3)
51278 378816 : data_tmp = IAND(data_tmp, mask_left(49))
51279 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51280 378816 : ipack = ipack + 1
51281 378816 : packed_data(ipack) = pack_tmp
51282 378816 : data_tmp = full_data(idata)
51283 378816 : pack_tmp = ISHFT(data_tmp, 52)
51284 378816 : pack_tmp = ISHFT(pack_tmp, -52)
51285 378816 : idata = idata + 1
51286 378816 : data_tmp = full_data(idata)
51287 378816 : data_tmp = ISHFT(data_tmp, 3)
51288 378816 : data_tmp = IAND(data_tmp, mask_left(52))
51289 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51290 378816 : ipack = ipack + 1
51291 378816 : packed_data(ipack) = pack_tmp
51292 378816 : data_tmp = full_data(idata)
51293 378816 : pack_tmp = ISHFT(data_tmp, 55)
51294 378816 : pack_tmp = ISHFT(pack_tmp, -55)
51295 378816 : idata = idata + 1
51296 378816 : data_tmp = full_data(idata)
51297 378816 : data_tmp = ISHFT(data_tmp, 3)
51298 378816 : data_tmp = IAND(data_tmp, mask_left(55))
51299 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51300 378816 : ipack = ipack + 1
51301 378816 : packed_data(ipack) = pack_tmp
51302 378816 : data_tmp = full_data(idata)
51303 378816 : pack_tmp = ISHFT(data_tmp, 58)
51304 378816 : pack_tmp = ISHFT(pack_tmp, -58)
51305 378816 : idata = idata + 1
51306 378816 : data_tmp = full_data(idata)
51307 378816 : data_tmp = ISHFT(data_tmp, 3)
51308 378816 : data_tmp = IAND(data_tmp, mask_left(58))
51309 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51310 378816 : ipack = ipack + 1
51311 378816 : packed_data(ipack) = pack_tmp
51312 378816 : data_tmp = full_data(idata)
51313 378816 : pack_tmp = ISHFT(data_tmp, 61)
51314 378816 : pack_tmp = ISHFT(pack_tmp, -61)
51315 378816 : idata = idata + 1
51316 378816 : data_tmp = full_data(idata)
51317 378816 : data_tmp = ISHFT(data_tmp, 3)
51318 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51319 : pack_tmp = ISHFT(pack_tmp, 0)
51320 378816 : pack_tmp = ISHFT(pack_tmp, 0)
51321 378816 : ipack = ipack + 1
51322 378816 : packed_data(ipack) = pack_tmp
51323 : END DO
51324 23676 : 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 23676 : END SUBROUTINE ints2bits_61
51328 :
51329 : ! **************************************************************************************************
51330 : !> \brief ...
51331 : !> \param Ndata ...
51332 : !> \param packed_data ...
51333 : !> \param full_data ...
51334 : ! **************************************************************************************************
51335 95427 : 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 95427 : ipack = 0
51346 95427 : idata = 0
51347 95427 : pack_tmp = 0
51348 95427 : Ndata_rep = (Ndata/64)*64
51349 95427 : DO kdata = 1, Ndata_rep, 64
51350 1526832 : idata = idata + 1
51351 1526832 : data_tmp = ISHFT(pack_tmp, 61)
51352 1526832 : ipack = ipack + 1
51353 1526832 : pack_tmp = packed_data(ipack)
51354 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(61)))
51355 1526832 : pack_tmp = ISHFT(pack_tmp, -61)
51356 1526832 : idata = idata + 1
51357 1526832 : data_tmp = ISHFT(pack_tmp, 58)
51358 1526832 : ipack = ipack + 1
51359 1526832 : pack_tmp = packed_data(ipack)
51360 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
51361 1526832 : pack_tmp = ISHFT(pack_tmp, -58)
51362 1526832 : idata = idata + 1
51363 1526832 : data_tmp = ISHFT(pack_tmp, 55)
51364 1526832 : ipack = ipack + 1
51365 1526832 : pack_tmp = packed_data(ipack)
51366 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
51367 1526832 : pack_tmp = ISHFT(pack_tmp, -55)
51368 1526832 : idata = idata + 1
51369 1526832 : data_tmp = ISHFT(pack_tmp, 52)
51370 1526832 : ipack = ipack + 1
51371 1526832 : pack_tmp = packed_data(ipack)
51372 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
51373 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
51374 1526832 : idata = idata + 1
51375 1526832 : data_tmp = ISHFT(pack_tmp, 49)
51376 1526832 : ipack = ipack + 1
51377 1526832 : pack_tmp = packed_data(ipack)
51378 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
51379 1526832 : pack_tmp = ISHFT(pack_tmp, -49)
51380 1526832 : idata = idata + 1
51381 1526832 : data_tmp = ISHFT(pack_tmp, 46)
51382 1526832 : ipack = ipack + 1
51383 1526832 : pack_tmp = packed_data(ipack)
51384 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
51385 1526832 : pack_tmp = ISHFT(pack_tmp, -46)
51386 1526832 : idata = idata + 1
51387 1526832 : data_tmp = ISHFT(pack_tmp, 43)
51388 1526832 : ipack = ipack + 1
51389 1526832 : pack_tmp = packed_data(ipack)
51390 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
51391 1526832 : pack_tmp = ISHFT(pack_tmp, -43)
51392 1526832 : idata = idata + 1
51393 1526832 : data_tmp = ISHFT(pack_tmp, 40)
51394 1526832 : ipack = ipack + 1
51395 1526832 : pack_tmp = packed_data(ipack)
51396 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
51397 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
51398 1526832 : idata = idata + 1
51399 1526832 : data_tmp = ISHFT(pack_tmp, 37)
51400 1526832 : ipack = ipack + 1
51401 1526832 : pack_tmp = packed_data(ipack)
51402 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
51403 1526832 : pack_tmp = ISHFT(pack_tmp, -37)
51404 1526832 : idata = idata + 1
51405 1526832 : data_tmp = ISHFT(pack_tmp, 34)
51406 1526832 : ipack = ipack + 1
51407 1526832 : pack_tmp = packed_data(ipack)
51408 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
51409 1526832 : pack_tmp = ISHFT(pack_tmp, -34)
51410 1526832 : idata = idata + 1
51411 1526832 : data_tmp = ISHFT(pack_tmp, 31)
51412 1526832 : ipack = ipack + 1
51413 1526832 : pack_tmp = packed_data(ipack)
51414 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
51415 1526832 : pack_tmp = ISHFT(pack_tmp, -31)
51416 1526832 : idata = idata + 1
51417 1526832 : data_tmp = ISHFT(pack_tmp, 28)
51418 1526832 : ipack = ipack + 1
51419 1526832 : pack_tmp = packed_data(ipack)
51420 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
51421 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
51422 1526832 : idata = idata + 1
51423 1526832 : data_tmp = ISHFT(pack_tmp, 25)
51424 1526832 : ipack = ipack + 1
51425 1526832 : pack_tmp = packed_data(ipack)
51426 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
51427 1526832 : pack_tmp = ISHFT(pack_tmp, -25)
51428 1526832 : idata = idata + 1
51429 1526832 : data_tmp = ISHFT(pack_tmp, 22)
51430 1526832 : ipack = ipack + 1
51431 1526832 : pack_tmp = packed_data(ipack)
51432 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
51433 1526832 : pack_tmp = ISHFT(pack_tmp, -22)
51434 1526832 : idata = idata + 1
51435 1526832 : data_tmp = ISHFT(pack_tmp, 19)
51436 1526832 : ipack = ipack + 1
51437 1526832 : pack_tmp = packed_data(ipack)
51438 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
51439 1526832 : pack_tmp = ISHFT(pack_tmp, -19)
51440 1526832 : idata = idata + 1
51441 1526832 : data_tmp = ISHFT(pack_tmp, 16)
51442 1526832 : ipack = ipack + 1
51443 1526832 : pack_tmp = packed_data(ipack)
51444 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
51445 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
51446 1526832 : idata = idata + 1
51447 1526832 : data_tmp = ISHFT(pack_tmp, 13)
51448 1526832 : ipack = ipack + 1
51449 1526832 : pack_tmp = packed_data(ipack)
51450 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
51451 1526832 : pack_tmp = ISHFT(pack_tmp, -13)
51452 1526832 : idata = idata + 1
51453 1526832 : data_tmp = ISHFT(pack_tmp, 10)
51454 1526832 : ipack = ipack + 1
51455 1526832 : pack_tmp = packed_data(ipack)
51456 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
51457 1526832 : pack_tmp = ISHFT(pack_tmp, -10)
51458 1526832 : idata = idata + 1
51459 1526832 : data_tmp = ISHFT(pack_tmp, 7)
51460 1526832 : ipack = ipack + 1
51461 1526832 : pack_tmp = packed_data(ipack)
51462 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
51463 1526832 : pack_tmp = ISHFT(pack_tmp, -7)
51464 1526832 : idata = idata + 1
51465 1526832 : data_tmp = ISHFT(pack_tmp, 4)
51466 1526832 : ipack = ipack + 1
51467 1526832 : pack_tmp = packed_data(ipack)
51468 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
51469 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
51470 1526832 : idata = idata + 1
51471 1526832 : data_tmp = ISHFT(pack_tmp, 1)
51472 1526832 : ipack = ipack + 1
51473 1526832 : pack_tmp = packed_data(ipack)
51474 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
51475 1526832 : pack_tmp = ISHFT(pack_tmp, -1)
51476 1526832 : idata = idata + 1
51477 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51478 1526832 : full_data(idata) = data_tmp
51479 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51480 1526832 : idata = idata + 1
51481 1526832 : data_tmp = ISHFT(pack_tmp, 59)
51482 1526832 : ipack = ipack + 1
51483 1526832 : pack_tmp = packed_data(ipack)
51484 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
51485 1526832 : pack_tmp = ISHFT(pack_tmp, -59)
51486 1526832 : idata = idata + 1
51487 1526832 : data_tmp = ISHFT(pack_tmp, 56)
51488 1526832 : ipack = ipack + 1
51489 1526832 : pack_tmp = packed_data(ipack)
51490 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
51491 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
51492 1526832 : idata = idata + 1
51493 1526832 : data_tmp = ISHFT(pack_tmp, 53)
51494 1526832 : ipack = ipack + 1
51495 1526832 : pack_tmp = packed_data(ipack)
51496 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
51497 1526832 : pack_tmp = ISHFT(pack_tmp, -53)
51498 1526832 : idata = idata + 1
51499 1526832 : data_tmp = ISHFT(pack_tmp, 50)
51500 1526832 : ipack = ipack + 1
51501 1526832 : pack_tmp = packed_data(ipack)
51502 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
51503 1526832 : pack_tmp = ISHFT(pack_tmp, -50)
51504 1526832 : idata = idata + 1
51505 1526832 : data_tmp = ISHFT(pack_tmp, 47)
51506 1526832 : ipack = ipack + 1
51507 1526832 : pack_tmp = packed_data(ipack)
51508 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
51509 1526832 : pack_tmp = ISHFT(pack_tmp, -47)
51510 1526832 : idata = idata + 1
51511 1526832 : data_tmp = ISHFT(pack_tmp, 44)
51512 1526832 : ipack = ipack + 1
51513 1526832 : pack_tmp = packed_data(ipack)
51514 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
51515 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
51516 1526832 : idata = idata + 1
51517 1526832 : data_tmp = ISHFT(pack_tmp, 41)
51518 1526832 : ipack = ipack + 1
51519 1526832 : pack_tmp = packed_data(ipack)
51520 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
51521 1526832 : pack_tmp = ISHFT(pack_tmp, -41)
51522 1526832 : idata = idata + 1
51523 1526832 : data_tmp = ISHFT(pack_tmp, 38)
51524 1526832 : ipack = ipack + 1
51525 1526832 : pack_tmp = packed_data(ipack)
51526 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
51527 1526832 : pack_tmp = ISHFT(pack_tmp, -38)
51528 1526832 : idata = idata + 1
51529 1526832 : data_tmp = ISHFT(pack_tmp, 35)
51530 1526832 : ipack = ipack + 1
51531 1526832 : pack_tmp = packed_data(ipack)
51532 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
51533 1526832 : pack_tmp = ISHFT(pack_tmp, -35)
51534 1526832 : idata = idata + 1
51535 1526832 : data_tmp = ISHFT(pack_tmp, 32)
51536 1526832 : ipack = ipack + 1
51537 1526832 : pack_tmp = packed_data(ipack)
51538 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
51539 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
51540 1526832 : idata = idata + 1
51541 1526832 : data_tmp = ISHFT(pack_tmp, 29)
51542 1526832 : ipack = ipack + 1
51543 1526832 : pack_tmp = packed_data(ipack)
51544 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
51545 1526832 : pack_tmp = ISHFT(pack_tmp, -29)
51546 1526832 : idata = idata + 1
51547 1526832 : data_tmp = ISHFT(pack_tmp, 26)
51548 1526832 : ipack = ipack + 1
51549 1526832 : pack_tmp = packed_data(ipack)
51550 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
51551 1526832 : pack_tmp = ISHFT(pack_tmp, -26)
51552 1526832 : idata = idata + 1
51553 1526832 : data_tmp = ISHFT(pack_tmp, 23)
51554 1526832 : ipack = ipack + 1
51555 1526832 : pack_tmp = packed_data(ipack)
51556 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
51557 1526832 : pack_tmp = ISHFT(pack_tmp, -23)
51558 1526832 : idata = idata + 1
51559 1526832 : data_tmp = ISHFT(pack_tmp, 20)
51560 1526832 : ipack = ipack + 1
51561 1526832 : pack_tmp = packed_data(ipack)
51562 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
51563 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
51564 1526832 : idata = idata + 1
51565 1526832 : data_tmp = ISHFT(pack_tmp, 17)
51566 1526832 : ipack = ipack + 1
51567 1526832 : pack_tmp = packed_data(ipack)
51568 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
51569 1526832 : pack_tmp = ISHFT(pack_tmp, -17)
51570 1526832 : idata = idata + 1
51571 1526832 : data_tmp = ISHFT(pack_tmp, 14)
51572 1526832 : ipack = ipack + 1
51573 1526832 : pack_tmp = packed_data(ipack)
51574 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
51575 1526832 : pack_tmp = ISHFT(pack_tmp, -14)
51576 1526832 : idata = idata + 1
51577 1526832 : data_tmp = ISHFT(pack_tmp, 11)
51578 1526832 : ipack = ipack + 1
51579 1526832 : pack_tmp = packed_data(ipack)
51580 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
51581 1526832 : pack_tmp = ISHFT(pack_tmp, -11)
51582 1526832 : idata = idata + 1
51583 1526832 : data_tmp = ISHFT(pack_tmp, 8)
51584 1526832 : ipack = ipack + 1
51585 1526832 : pack_tmp = packed_data(ipack)
51586 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
51587 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
51588 1526832 : idata = idata + 1
51589 1526832 : data_tmp = ISHFT(pack_tmp, 5)
51590 1526832 : ipack = ipack + 1
51591 1526832 : pack_tmp = packed_data(ipack)
51592 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
51593 1526832 : pack_tmp = ISHFT(pack_tmp, -5)
51594 1526832 : idata = idata + 1
51595 1526832 : data_tmp = ISHFT(pack_tmp, 2)
51596 1526832 : ipack = ipack + 1
51597 1526832 : pack_tmp = packed_data(ipack)
51598 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
51599 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
51600 1526832 : idata = idata + 1
51601 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51602 1526832 : full_data(idata) = data_tmp
51603 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51604 1526832 : idata = idata + 1
51605 1526832 : data_tmp = ISHFT(pack_tmp, 60)
51606 1526832 : ipack = ipack + 1
51607 1526832 : pack_tmp = packed_data(ipack)
51608 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
51609 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
51610 1526832 : idata = idata + 1
51611 1526832 : data_tmp = ISHFT(pack_tmp, 57)
51612 1526832 : ipack = ipack + 1
51613 1526832 : pack_tmp = packed_data(ipack)
51614 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
51615 1526832 : pack_tmp = ISHFT(pack_tmp, -57)
51616 1526832 : idata = idata + 1
51617 1526832 : data_tmp = ISHFT(pack_tmp, 54)
51618 1526832 : ipack = ipack + 1
51619 1526832 : pack_tmp = packed_data(ipack)
51620 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
51621 1526832 : pack_tmp = ISHFT(pack_tmp, -54)
51622 1526832 : idata = idata + 1
51623 1526832 : data_tmp = ISHFT(pack_tmp, 51)
51624 1526832 : ipack = ipack + 1
51625 1526832 : pack_tmp = packed_data(ipack)
51626 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
51627 1526832 : pack_tmp = ISHFT(pack_tmp, -51)
51628 1526832 : idata = idata + 1
51629 1526832 : data_tmp = ISHFT(pack_tmp, 48)
51630 1526832 : ipack = ipack + 1
51631 1526832 : pack_tmp = packed_data(ipack)
51632 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
51633 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
51634 1526832 : idata = idata + 1
51635 1526832 : data_tmp = ISHFT(pack_tmp, 45)
51636 1526832 : ipack = ipack + 1
51637 1526832 : pack_tmp = packed_data(ipack)
51638 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
51639 1526832 : pack_tmp = ISHFT(pack_tmp, -45)
51640 1526832 : idata = idata + 1
51641 1526832 : data_tmp = ISHFT(pack_tmp, 42)
51642 1526832 : ipack = ipack + 1
51643 1526832 : pack_tmp = packed_data(ipack)
51644 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
51645 1526832 : pack_tmp = ISHFT(pack_tmp, -42)
51646 1526832 : idata = idata + 1
51647 1526832 : data_tmp = ISHFT(pack_tmp, 39)
51648 1526832 : ipack = ipack + 1
51649 1526832 : pack_tmp = packed_data(ipack)
51650 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
51651 1526832 : pack_tmp = ISHFT(pack_tmp, -39)
51652 1526832 : idata = idata + 1
51653 1526832 : data_tmp = ISHFT(pack_tmp, 36)
51654 1526832 : ipack = ipack + 1
51655 1526832 : pack_tmp = packed_data(ipack)
51656 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
51657 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
51658 1526832 : idata = idata + 1
51659 1526832 : data_tmp = ISHFT(pack_tmp, 33)
51660 1526832 : ipack = ipack + 1
51661 1526832 : pack_tmp = packed_data(ipack)
51662 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
51663 1526832 : pack_tmp = ISHFT(pack_tmp, -33)
51664 1526832 : idata = idata + 1
51665 1526832 : data_tmp = ISHFT(pack_tmp, 30)
51666 1526832 : ipack = ipack + 1
51667 1526832 : pack_tmp = packed_data(ipack)
51668 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
51669 1526832 : pack_tmp = ISHFT(pack_tmp, -30)
51670 1526832 : idata = idata + 1
51671 1526832 : data_tmp = ISHFT(pack_tmp, 27)
51672 1526832 : ipack = ipack + 1
51673 1526832 : pack_tmp = packed_data(ipack)
51674 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
51675 1526832 : pack_tmp = ISHFT(pack_tmp, -27)
51676 1526832 : idata = idata + 1
51677 1526832 : data_tmp = ISHFT(pack_tmp, 24)
51678 1526832 : ipack = ipack + 1
51679 1526832 : pack_tmp = packed_data(ipack)
51680 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
51681 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
51682 1526832 : idata = idata + 1
51683 1526832 : data_tmp = ISHFT(pack_tmp, 21)
51684 1526832 : ipack = ipack + 1
51685 1526832 : pack_tmp = packed_data(ipack)
51686 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
51687 1526832 : pack_tmp = ISHFT(pack_tmp, -21)
51688 1526832 : idata = idata + 1
51689 1526832 : data_tmp = ISHFT(pack_tmp, 18)
51690 1526832 : ipack = ipack + 1
51691 1526832 : pack_tmp = packed_data(ipack)
51692 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
51693 1526832 : pack_tmp = ISHFT(pack_tmp, -18)
51694 1526832 : idata = idata + 1
51695 1526832 : data_tmp = ISHFT(pack_tmp, 15)
51696 1526832 : ipack = ipack + 1
51697 1526832 : pack_tmp = packed_data(ipack)
51698 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
51699 1526832 : pack_tmp = ISHFT(pack_tmp, -15)
51700 1526832 : idata = idata + 1
51701 1526832 : data_tmp = ISHFT(pack_tmp, 12)
51702 1526832 : ipack = ipack + 1
51703 1526832 : pack_tmp = packed_data(ipack)
51704 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
51705 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
51706 1526832 : idata = idata + 1
51707 1526832 : data_tmp = ISHFT(pack_tmp, 9)
51708 1526832 : ipack = ipack + 1
51709 1526832 : pack_tmp = packed_data(ipack)
51710 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
51711 1526832 : pack_tmp = ISHFT(pack_tmp, -9)
51712 1526832 : idata = idata + 1
51713 1526832 : data_tmp = ISHFT(pack_tmp, 6)
51714 1526832 : ipack = ipack + 1
51715 1526832 : pack_tmp = packed_data(ipack)
51716 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
51717 1526832 : pack_tmp = ISHFT(pack_tmp, -6)
51718 1526832 : idata = idata + 1
51719 1526832 : data_tmp = ISHFT(pack_tmp, 3)
51720 1526832 : ipack = ipack + 1
51721 1526832 : pack_tmp = packed_data(ipack)
51722 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
51723 1526832 : pack_tmp = ISHFT(pack_tmp, -3)
51724 1526832 : idata = idata + 1
51725 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51726 1526832 : full_data(idata) = data_tmp
51727 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51728 : END DO
51729 95427 : 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 95427 : END SUBROUTINE bits2ints_61
51733 :
51734 : ! **************************************************************************************************
51735 : !> \brief ...
51736 : !> \param Ndata ...
51737 : !> \param packed_data ...
51738 : !> \param full_data ...
51739 : ! **************************************************************************************************
51740 23676 : 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 23676 : idata = 0
51751 23676 : ipack = 0
51752 23676 : Ndata_rep = (Ndata/64)*64
51753 23676 : DO kdata = 1, Ndata_rep, 64
51754 378816 : pack_tmp = 0
51755 378816 : idata = idata + 1
51756 378816 : data_tmp = full_data(idata)
51757 378816 : data_tmp = ISHFT(data_tmp, 2)
51758 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51759 378816 : pack_tmp = ISHFT(pack_tmp, -2)
51760 378816 : idata = idata + 1
51761 378816 : data_tmp = full_data(idata)
51762 378816 : data_tmp = ISHFT(data_tmp, 2)
51763 378816 : data_tmp = IAND(data_tmp, mask_left(2))
51764 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51765 378816 : ipack = ipack + 1
51766 378816 : packed_data(ipack) = pack_tmp
51767 378816 : data_tmp = full_data(idata)
51768 378816 : pack_tmp = ISHFT(data_tmp, 4)
51769 378816 : pack_tmp = ISHFT(pack_tmp, -4)
51770 378816 : idata = idata + 1
51771 378816 : data_tmp = full_data(idata)
51772 378816 : data_tmp = ISHFT(data_tmp, 2)
51773 378816 : data_tmp = IAND(data_tmp, mask_left(4))
51774 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51775 378816 : ipack = ipack + 1
51776 378816 : packed_data(ipack) = pack_tmp
51777 378816 : data_tmp = full_data(idata)
51778 378816 : pack_tmp = ISHFT(data_tmp, 6)
51779 378816 : pack_tmp = ISHFT(pack_tmp, -6)
51780 378816 : idata = idata + 1
51781 378816 : data_tmp = full_data(idata)
51782 378816 : data_tmp = ISHFT(data_tmp, 2)
51783 378816 : data_tmp = IAND(data_tmp, mask_left(6))
51784 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51785 378816 : ipack = ipack + 1
51786 378816 : packed_data(ipack) = pack_tmp
51787 378816 : data_tmp = full_data(idata)
51788 378816 : pack_tmp = ISHFT(data_tmp, 8)
51789 378816 : pack_tmp = ISHFT(pack_tmp, -8)
51790 378816 : idata = idata + 1
51791 378816 : data_tmp = full_data(idata)
51792 378816 : data_tmp = ISHFT(data_tmp, 2)
51793 378816 : data_tmp = IAND(data_tmp, mask_left(8))
51794 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51795 378816 : ipack = ipack + 1
51796 378816 : packed_data(ipack) = pack_tmp
51797 378816 : data_tmp = full_data(idata)
51798 378816 : pack_tmp = ISHFT(data_tmp, 10)
51799 378816 : pack_tmp = ISHFT(pack_tmp, -10)
51800 378816 : idata = idata + 1
51801 378816 : data_tmp = full_data(idata)
51802 378816 : data_tmp = ISHFT(data_tmp, 2)
51803 378816 : data_tmp = IAND(data_tmp, mask_left(10))
51804 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51805 378816 : ipack = ipack + 1
51806 378816 : packed_data(ipack) = pack_tmp
51807 378816 : data_tmp = full_data(idata)
51808 378816 : pack_tmp = ISHFT(data_tmp, 12)
51809 378816 : pack_tmp = ISHFT(pack_tmp, -12)
51810 378816 : idata = idata + 1
51811 378816 : data_tmp = full_data(idata)
51812 378816 : data_tmp = ISHFT(data_tmp, 2)
51813 378816 : data_tmp = IAND(data_tmp, mask_left(12))
51814 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51815 378816 : ipack = ipack + 1
51816 378816 : packed_data(ipack) = pack_tmp
51817 378816 : data_tmp = full_data(idata)
51818 378816 : pack_tmp = ISHFT(data_tmp, 14)
51819 378816 : pack_tmp = ISHFT(pack_tmp, -14)
51820 378816 : idata = idata + 1
51821 378816 : data_tmp = full_data(idata)
51822 378816 : data_tmp = ISHFT(data_tmp, 2)
51823 378816 : data_tmp = IAND(data_tmp, mask_left(14))
51824 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51825 378816 : ipack = ipack + 1
51826 378816 : packed_data(ipack) = pack_tmp
51827 378816 : data_tmp = full_data(idata)
51828 378816 : pack_tmp = ISHFT(data_tmp, 16)
51829 378816 : pack_tmp = ISHFT(pack_tmp, -16)
51830 378816 : idata = idata + 1
51831 378816 : data_tmp = full_data(idata)
51832 378816 : data_tmp = ISHFT(data_tmp, 2)
51833 378816 : data_tmp = IAND(data_tmp, mask_left(16))
51834 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51835 378816 : ipack = ipack + 1
51836 378816 : packed_data(ipack) = pack_tmp
51837 378816 : data_tmp = full_data(idata)
51838 378816 : pack_tmp = ISHFT(data_tmp, 18)
51839 378816 : pack_tmp = ISHFT(pack_tmp, -18)
51840 378816 : idata = idata + 1
51841 378816 : data_tmp = full_data(idata)
51842 378816 : data_tmp = ISHFT(data_tmp, 2)
51843 378816 : data_tmp = IAND(data_tmp, mask_left(18))
51844 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51845 378816 : ipack = ipack + 1
51846 378816 : packed_data(ipack) = pack_tmp
51847 378816 : data_tmp = full_data(idata)
51848 378816 : pack_tmp = ISHFT(data_tmp, 20)
51849 378816 : pack_tmp = ISHFT(pack_tmp, -20)
51850 378816 : idata = idata + 1
51851 378816 : data_tmp = full_data(idata)
51852 378816 : data_tmp = ISHFT(data_tmp, 2)
51853 378816 : data_tmp = IAND(data_tmp, mask_left(20))
51854 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51855 378816 : ipack = ipack + 1
51856 378816 : packed_data(ipack) = pack_tmp
51857 378816 : data_tmp = full_data(idata)
51858 378816 : pack_tmp = ISHFT(data_tmp, 22)
51859 378816 : pack_tmp = ISHFT(pack_tmp, -22)
51860 378816 : idata = idata + 1
51861 378816 : data_tmp = full_data(idata)
51862 378816 : data_tmp = ISHFT(data_tmp, 2)
51863 378816 : data_tmp = IAND(data_tmp, mask_left(22))
51864 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51865 378816 : ipack = ipack + 1
51866 378816 : packed_data(ipack) = pack_tmp
51867 378816 : data_tmp = full_data(idata)
51868 378816 : pack_tmp = ISHFT(data_tmp, 24)
51869 378816 : pack_tmp = ISHFT(pack_tmp, -24)
51870 378816 : idata = idata + 1
51871 378816 : data_tmp = full_data(idata)
51872 378816 : data_tmp = ISHFT(data_tmp, 2)
51873 378816 : data_tmp = IAND(data_tmp, mask_left(24))
51874 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51875 378816 : ipack = ipack + 1
51876 378816 : packed_data(ipack) = pack_tmp
51877 378816 : data_tmp = full_data(idata)
51878 378816 : pack_tmp = ISHFT(data_tmp, 26)
51879 378816 : pack_tmp = ISHFT(pack_tmp, -26)
51880 378816 : idata = idata + 1
51881 378816 : data_tmp = full_data(idata)
51882 378816 : data_tmp = ISHFT(data_tmp, 2)
51883 378816 : data_tmp = IAND(data_tmp, mask_left(26))
51884 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51885 378816 : ipack = ipack + 1
51886 378816 : packed_data(ipack) = pack_tmp
51887 378816 : data_tmp = full_data(idata)
51888 378816 : pack_tmp = ISHFT(data_tmp, 28)
51889 378816 : pack_tmp = ISHFT(pack_tmp, -28)
51890 378816 : idata = idata + 1
51891 378816 : data_tmp = full_data(idata)
51892 378816 : data_tmp = ISHFT(data_tmp, 2)
51893 378816 : data_tmp = IAND(data_tmp, mask_left(28))
51894 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51895 378816 : ipack = ipack + 1
51896 378816 : packed_data(ipack) = pack_tmp
51897 378816 : data_tmp = full_data(idata)
51898 378816 : pack_tmp = ISHFT(data_tmp, 30)
51899 378816 : pack_tmp = ISHFT(pack_tmp, -30)
51900 378816 : idata = idata + 1
51901 378816 : data_tmp = full_data(idata)
51902 378816 : data_tmp = ISHFT(data_tmp, 2)
51903 378816 : data_tmp = IAND(data_tmp, mask_left(30))
51904 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51905 378816 : ipack = ipack + 1
51906 378816 : packed_data(ipack) = pack_tmp
51907 378816 : data_tmp = full_data(idata)
51908 378816 : pack_tmp = ISHFT(data_tmp, 32)
51909 378816 : pack_tmp = ISHFT(pack_tmp, -32)
51910 378816 : idata = idata + 1
51911 378816 : data_tmp = full_data(idata)
51912 378816 : data_tmp = ISHFT(data_tmp, 2)
51913 378816 : data_tmp = IAND(data_tmp, mask_left(32))
51914 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51915 378816 : ipack = ipack + 1
51916 378816 : packed_data(ipack) = pack_tmp
51917 378816 : data_tmp = full_data(idata)
51918 378816 : pack_tmp = ISHFT(data_tmp, 34)
51919 378816 : pack_tmp = ISHFT(pack_tmp, -34)
51920 378816 : idata = idata + 1
51921 378816 : data_tmp = full_data(idata)
51922 378816 : data_tmp = ISHFT(data_tmp, 2)
51923 378816 : data_tmp = IAND(data_tmp, mask_left(34))
51924 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51925 378816 : ipack = ipack + 1
51926 378816 : packed_data(ipack) = pack_tmp
51927 378816 : data_tmp = full_data(idata)
51928 378816 : pack_tmp = ISHFT(data_tmp, 36)
51929 378816 : pack_tmp = ISHFT(pack_tmp, -36)
51930 378816 : idata = idata + 1
51931 378816 : data_tmp = full_data(idata)
51932 378816 : data_tmp = ISHFT(data_tmp, 2)
51933 378816 : data_tmp = IAND(data_tmp, mask_left(36))
51934 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51935 378816 : ipack = ipack + 1
51936 378816 : packed_data(ipack) = pack_tmp
51937 378816 : data_tmp = full_data(idata)
51938 378816 : pack_tmp = ISHFT(data_tmp, 38)
51939 378816 : pack_tmp = ISHFT(pack_tmp, -38)
51940 378816 : idata = idata + 1
51941 378816 : data_tmp = full_data(idata)
51942 378816 : data_tmp = ISHFT(data_tmp, 2)
51943 378816 : data_tmp = IAND(data_tmp, mask_left(38))
51944 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51945 378816 : ipack = ipack + 1
51946 378816 : packed_data(ipack) = pack_tmp
51947 378816 : data_tmp = full_data(idata)
51948 378816 : pack_tmp = ISHFT(data_tmp, 40)
51949 378816 : pack_tmp = ISHFT(pack_tmp, -40)
51950 378816 : idata = idata + 1
51951 378816 : data_tmp = full_data(idata)
51952 378816 : data_tmp = ISHFT(data_tmp, 2)
51953 378816 : data_tmp = IAND(data_tmp, mask_left(40))
51954 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51955 378816 : ipack = ipack + 1
51956 378816 : packed_data(ipack) = pack_tmp
51957 378816 : data_tmp = full_data(idata)
51958 378816 : pack_tmp = ISHFT(data_tmp, 42)
51959 378816 : pack_tmp = ISHFT(pack_tmp, -42)
51960 378816 : idata = idata + 1
51961 378816 : data_tmp = full_data(idata)
51962 378816 : data_tmp = ISHFT(data_tmp, 2)
51963 378816 : data_tmp = IAND(data_tmp, mask_left(42))
51964 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51965 378816 : ipack = ipack + 1
51966 378816 : packed_data(ipack) = pack_tmp
51967 378816 : data_tmp = full_data(idata)
51968 378816 : pack_tmp = ISHFT(data_tmp, 44)
51969 378816 : pack_tmp = ISHFT(pack_tmp, -44)
51970 378816 : idata = idata + 1
51971 378816 : data_tmp = full_data(idata)
51972 378816 : data_tmp = ISHFT(data_tmp, 2)
51973 378816 : data_tmp = IAND(data_tmp, mask_left(44))
51974 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51975 378816 : ipack = ipack + 1
51976 378816 : packed_data(ipack) = pack_tmp
51977 378816 : data_tmp = full_data(idata)
51978 378816 : pack_tmp = ISHFT(data_tmp, 46)
51979 378816 : pack_tmp = ISHFT(pack_tmp, -46)
51980 378816 : idata = idata + 1
51981 378816 : data_tmp = full_data(idata)
51982 378816 : data_tmp = ISHFT(data_tmp, 2)
51983 378816 : data_tmp = IAND(data_tmp, mask_left(46))
51984 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51985 378816 : ipack = ipack + 1
51986 378816 : packed_data(ipack) = pack_tmp
51987 378816 : data_tmp = full_data(idata)
51988 378816 : pack_tmp = ISHFT(data_tmp, 48)
51989 378816 : pack_tmp = ISHFT(pack_tmp, -48)
51990 378816 : idata = idata + 1
51991 378816 : data_tmp = full_data(idata)
51992 378816 : data_tmp = ISHFT(data_tmp, 2)
51993 378816 : data_tmp = IAND(data_tmp, mask_left(48))
51994 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
51995 378816 : ipack = ipack + 1
51996 378816 : packed_data(ipack) = pack_tmp
51997 378816 : data_tmp = full_data(idata)
51998 378816 : pack_tmp = ISHFT(data_tmp, 50)
51999 378816 : pack_tmp = ISHFT(pack_tmp, -50)
52000 378816 : idata = idata + 1
52001 378816 : data_tmp = full_data(idata)
52002 378816 : data_tmp = ISHFT(data_tmp, 2)
52003 378816 : data_tmp = IAND(data_tmp, mask_left(50))
52004 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52005 378816 : ipack = ipack + 1
52006 378816 : packed_data(ipack) = pack_tmp
52007 378816 : data_tmp = full_data(idata)
52008 378816 : pack_tmp = ISHFT(data_tmp, 52)
52009 378816 : pack_tmp = ISHFT(pack_tmp, -52)
52010 378816 : idata = idata + 1
52011 378816 : data_tmp = full_data(idata)
52012 378816 : data_tmp = ISHFT(data_tmp, 2)
52013 378816 : data_tmp = IAND(data_tmp, mask_left(52))
52014 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52015 378816 : ipack = ipack + 1
52016 378816 : packed_data(ipack) = pack_tmp
52017 378816 : data_tmp = full_data(idata)
52018 378816 : pack_tmp = ISHFT(data_tmp, 54)
52019 378816 : pack_tmp = ISHFT(pack_tmp, -54)
52020 378816 : idata = idata + 1
52021 378816 : data_tmp = full_data(idata)
52022 378816 : data_tmp = ISHFT(data_tmp, 2)
52023 378816 : data_tmp = IAND(data_tmp, mask_left(54))
52024 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52025 378816 : ipack = ipack + 1
52026 378816 : packed_data(ipack) = pack_tmp
52027 378816 : data_tmp = full_data(idata)
52028 378816 : pack_tmp = ISHFT(data_tmp, 56)
52029 378816 : pack_tmp = ISHFT(pack_tmp, -56)
52030 378816 : idata = idata + 1
52031 378816 : data_tmp = full_data(idata)
52032 378816 : data_tmp = ISHFT(data_tmp, 2)
52033 378816 : data_tmp = IAND(data_tmp, mask_left(56))
52034 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52035 378816 : ipack = ipack + 1
52036 378816 : packed_data(ipack) = pack_tmp
52037 378816 : data_tmp = full_data(idata)
52038 378816 : pack_tmp = ISHFT(data_tmp, 58)
52039 378816 : pack_tmp = ISHFT(pack_tmp, -58)
52040 378816 : idata = idata + 1
52041 378816 : data_tmp = full_data(idata)
52042 378816 : data_tmp = ISHFT(data_tmp, 2)
52043 378816 : data_tmp = IAND(data_tmp, mask_left(58))
52044 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52045 378816 : ipack = ipack + 1
52046 378816 : packed_data(ipack) = pack_tmp
52047 378816 : data_tmp = full_data(idata)
52048 378816 : pack_tmp = ISHFT(data_tmp, 60)
52049 378816 : pack_tmp = ISHFT(pack_tmp, -60)
52050 378816 : idata = idata + 1
52051 378816 : data_tmp = full_data(idata)
52052 378816 : data_tmp = ISHFT(data_tmp, 2)
52053 378816 : data_tmp = IAND(data_tmp, mask_left(60))
52054 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52055 378816 : ipack = ipack + 1
52056 378816 : packed_data(ipack) = pack_tmp
52057 378816 : data_tmp = full_data(idata)
52058 378816 : pack_tmp = ISHFT(data_tmp, 62)
52059 378816 : pack_tmp = ISHFT(pack_tmp, -62)
52060 378816 : idata = idata + 1
52061 378816 : data_tmp = full_data(idata)
52062 378816 : data_tmp = ISHFT(data_tmp, 2)
52063 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52064 378816 : pack_tmp = ISHFT(pack_tmp, 0)
52065 378816 : idata = idata + 1
52066 378816 : data_tmp = full_data(idata)
52067 : data_tmp = ISHFT(data_tmp, 2)
52068 378816 : data_tmp = IAND(data_tmp, mask_left(0))
52069 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52070 378816 : ipack = ipack + 1
52071 378816 : packed_data(ipack) = pack_tmp
52072 378816 : data_tmp = full_data(idata)
52073 378816 : pack_tmp = ISHFT(data_tmp, 2)
52074 378816 : pack_tmp = ISHFT(pack_tmp, -2)
52075 378816 : idata = idata + 1
52076 378816 : data_tmp = full_data(idata)
52077 378816 : data_tmp = ISHFT(data_tmp, 2)
52078 378816 : data_tmp = IAND(data_tmp, mask_left(2))
52079 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52080 378816 : ipack = ipack + 1
52081 378816 : packed_data(ipack) = pack_tmp
52082 378816 : data_tmp = full_data(idata)
52083 378816 : pack_tmp = ISHFT(data_tmp, 4)
52084 378816 : pack_tmp = ISHFT(pack_tmp, -4)
52085 378816 : idata = idata + 1
52086 378816 : data_tmp = full_data(idata)
52087 378816 : data_tmp = ISHFT(data_tmp, 2)
52088 378816 : data_tmp = IAND(data_tmp, mask_left(4))
52089 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52090 378816 : ipack = ipack + 1
52091 378816 : packed_data(ipack) = pack_tmp
52092 378816 : data_tmp = full_data(idata)
52093 378816 : pack_tmp = ISHFT(data_tmp, 6)
52094 378816 : pack_tmp = ISHFT(pack_tmp, -6)
52095 378816 : idata = idata + 1
52096 378816 : data_tmp = full_data(idata)
52097 378816 : data_tmp = ISHFT(data_tmp, 2)
52098 378816 : data_tmp = IAND(data_tmp, mask_left(6))
52099 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52100 378816 : ipack = ipack + 1
52101 378816 : packed_data(ipack) = pack_tmp
52102 378816 : data_tmp = full_data(idata)
52103 378816 : pack_tmp = ISHFT(data_tmp, 8)
52104 378816 : pack_tmp = ISHFT(pack_tmp, -8)
52105 378816 : idata = idata + 1
52106 378816 : data_tmp = full_data(idata)
52107 378816 : data_tmp = ISHFT(data_tmp, 2)
52108 378816 : data_tmp = IAND(data_tmp, mask_left(8))
52109 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52110 378816 : ipack = ipack + 1
52111 378816 : packed_data(ipack) = pack_tmp
52112 378816 : data_tmp = full_data(idata)
52113 378816 : pack_tmp = ISHFT(data_tmp, 10)
52114 378816 : pack_tmp = ISHFT(pack_tmp, -10)
52115 378816 : idata = idata + 1
52116 378816 : data_tmp = full_data(idata)
52117 378816 : data_tmp = ISHFT(data_tmp, 2)
52118 378816 : data_tmp = IAND(data_tmp, mask_left(10))
52119 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52120 378816 : ipack = ipack + 1
52121 378816 : packed_data(ipack) = pack_tmp
52122 378816 : data_tmp = full_data(idata)
52123 378816 : pack_tmp = ISHFT(data_tmp, 12)
52124 378816 : pack_tmp = ISHFT(pack_tmp, -12)
52125 378816 : idata = idata + 1
52126 378816 : data_tmp = full_data(idata)
52127 378816 : data_tmp = ISHFT(data_tmp, 2)
52128 378816 : data_tmp = IAND(data_tmp, mask_left(12))
52129 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52130 378816 : ipack = ipack + 1
52131 378816 : packed_data(ipack) = pack_tmp
52132 378816 : data_tmp = full_data(idata)
52133 378816 : pack_tmp = ISHFT(data_tmp, 14)
52134 378816 : pack_tmp = ISHFT(pack_tmp, -14)
52135 378816 : idata = idata + 1
52136 378816 : data_tmp = full_data(idata)
52137 378816 : data_tmp = ISHFT(data_tmp, 2)
52138 378816 : data_tmp = IAND(data_tmp, mask_left(14))
52139 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52140 378816 : ipack = ipack + 1
52141 378816 : packed_data(ipack) = pack_tmp
52142 378816 : data_tmp = full_data(idata)
52143 378816 : pack_tmp = ISHFT(data_tmp, 16)
52144 378816 : pack_tmp = ISHFT(pack_tmp, -16)
52145 378816 : idata = idata + 1
52146 378816 : data_tmp = full_data(idata)
52147 378816 : data_tmp = ISHFT(data_tmp, 2)
52148 378816 : data_tmp = IAND(data_tmp, mask_left(16))
52149 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52150 378816 : ipack = ipack + 1
52151 378816 : packed_data(ipack) = pack_tmp
52152 378816 : data_tmp = full_data(idata)
52153 378816 : pack_tmp = ISHFT(data_tmp, 18)
52154 378816 : pack_tmp = ISHFT(pack_tmp, -18)
52155 378816 : idata = idata + 1
52156 378816 : data_tmp = full_data(idata)
52157 378816 : data_tmp = ISHFT(data_tmp, 2)
52158 378816 : data_tmp = IAND(data_tmp, mask_left(18))
52159 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52160 378816 : ipack = ipack + 1
52161 378816 : packed_data(ipack) = pack_tmp
52162 378816 : data_tmp = full_data(idata)
52163 378816 : pack_tmp = ISHFT(data_tmp, 20)
52164 378816 : pack_tmp = ISHFT(pack_tmp, -20)
52165 378816 : idata = idata + 1
52166 378816 : data_tmp = full_data(idata)
52167 378816 : data_tmp = ISHFT(data_tmp, 2)
52168 378816 : data_tmp = IAND(data_tmp, mask_left(20))
52169 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52170 378816 : ipack = ipack + 1
52171 378816 : packed_data(ipack) = pack_tmp
52172 378816 : data_tmp = full_data(idata)
52173 378816 : pack_tmp = ISHFT(data_tmp, 22)
52174 378816 : pack_tmp = ISHFT(pack_tmp, -22)
52175 378816 : idata = idata + 1
52176 378816 : data_tmp = full_data(idata)
52177 378816 : data_tmp = ISHFT(data_tmp, 2)
52178 378816 : data_tmp = IAND(data_tmp, mask_left(22))
52179 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52180 378816 : ipack = ipack + 1
52181 378816 : packed_data(ipack) = pack_tmp
52182 378816 : data_tmp = full_data(idata)
52183 378816 : pack_tmp = ISHFT(data_tmp, 24)
52184 378816 : pack_tmp = ISHFT(pack_tmp, -24)
52185 378816 : idata = idata + 1
52186 378816 : data_tmp = full_data(idata)
52187 378816 : data_tmp = ISHFT(data_tmp, 2)
52188 378816 : data_tmp = IAND(data_tmp, mask_left(24))
52189 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52190 378816 : ipack = ipack + 1
52191 378816 : packed_data(ipack) = pack_tmp
52192 378816 : data_tmp = full_data(idata)
52193 378816 : pack_tmp = ISHFT(data_tmp, 26)
52194 378816 : pack_tmp = ISHFT(pack_tmp, -26)
52195 378816 : idata = idata + 1
52196 378816 : data_tmp = full_data(idata)
52197 378816 : data_tmp = ISHFT(data_tmp, 2)
52198 378816 : data_tmp = IAND(data_tmp, mask_left(26))
52199 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52200 378816 : ipack = ipack + 1
52201 378816 : packed_data(ipack) = pack_tmp
52202 378816 : data_tmp = full_data(idata)
52203 378816 : pack_tmp = ISHFT(data_tmp, 28)
52204 378816 : pack_tmp = ISHFT(pack_tmp, -28)
52205 378816 : idata = idata + 1
52206 378816 : data_tmp = full_data(idata)
52207 378816 : data_tmp = ISHFT(data_tmp, 2)
52208 378816 : data_tmp = IAND(data_tmp, mask_left(28))
52209 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52210 378816 : ipack = ipack + 1
52211 378816 : packed_data(ipack) = pack_tmp
52212 378816 : data_tmp = full_data(idata)
52213 378816 : pack_tmp = ISHFT(data_tmp, 30)
52214 378816 : pack_tmp = ISHFT(pack_tmp, -30)
52215 378816 : idata = idata + 1
52216 378816 : data_tmp = full_data(idata)
52217 378816 : data_tmp = ISHFT(data_tmp, 2)
52218 378816 : data_tmp = IAND(data_tmp, mask_left(30))
52219 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52220 378816 : ipack = ipack + 1
52221 378816 : packed_data(ipack) = pack_tmp
52222 378816 : data_tmp = full_data(idata)
52223 378816 : pack_tmp = ISHFT(data_tmp, 32)
52224 378816 : pack_tmp = ISHFT(pack_tmp, -32)
52225 378816 : idata = idata + 1
52226 378816 : data_tmp = full_data(idata)
52227 378816 : data_tmp = ISHFT(data_tmp, 2)
52228 378816 : data_tmp = IAND(data_tmp, mask_left(32))
52229 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52230 378816 : ipack = ipack + 1
52231 378816 : packed_data(ipack) = pack_tmp
52232 378816 : data_tmp = full_data(idata)
52233 378816 : pack_tmp = ISHFT(data_tmp, 34)
52234 378816 : pack_tmp = ISHFT(pack_tmp, -34)
52235 378816 : idata = idata + 1
52236 378816 : data_tmp = full_data(idata)
52237 378816 : data_tmp = ISHFT(data_tmp, 2)
52238 378816 : data_tmp = IAND(data_tmp, mask_left(34))
52239 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52240 378816 : ipack = ipack + 1
52241 378816 : packed_data(ipack) = pack_tmp
52242 378816 : data_tmp = full_data(idata)
52243 378816 : pack_tmp = ISHFT(data_tmp, 36)
52244 378816 : pack_tmp = ISHFT(pack_tmp, -36)
52245 378816 : idata = idata + 1
52246 378816 : data_tmp = full_data(idata)
52247 378816 : data_tmp = ISHFT(data_tmp, 2)
52248 378816 : data_tmp = IAND(data_tmp, mask_left(36))
52249 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52250 378816 : ipack = ipack + 1
52251 378816 : packed_data(ipack) = pack_tmp
52252 378816 : data_tmp = full_data(idata)
52253 378816 : pack_tmp = ISHFT(data_tmp, 38)
52254 378816 : pack_tmp = ISHFT(pack_tmp, -38)
52255 378816 : idata = idata + 1
52256 378816 : data_tmp = full_data(idata)
52257 378816 : data_tmp = ISHFT(data_tmp, 2)
52258 378816 : data_tmp = IAND(data_tmp, mask_left(38))
52259 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52260 378816 : ipack = ipack + 1
52261 378816 : packed_data(ipack) = pack_tmp
52262 378816 : data_tmp = full_data(idata)
52263 378816 : pack_tmp = ISHFT(data_tmp, 40)
52264 378816 : pack_tmp = ISHFT(pack_tmp, -40)
52265 378816 : idata = idata + 1
52266 378816 : data_tmp = full_data(idata)
52267 378816 : data_tmp = ISHFT(data_tmp, 2)
52268 378816 : data_tmp = IAND(data_tmp, mask_left(40))
52269 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52270 378816 : ipack = ipack + 1
52271 378816 : packed_data(ipack) = pack_tmp
52272 378816 : data_tmp = full_data(idata)
52273 378816 : pack_tmp = ISHFT(data_tmp, 42)
52274 378816 : pack_tmp = ISHFT(pack_tmp, -42)
52275 378816 : idata = idata + 1
52276 378816 : data_tmp = full_data(idata)
52277 378816 : data_tmp = ISHFT(data_tmp, 2)
52278 378816 : data_tmp = IAND(data_tmp, mask_left(42))
52279 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52280 378816 : ipack = ipack + 1
52281 378816 : packed_data(ipack) = pack_tmp
52282 378816 : data_tmp = full_data(idata)
52283 378816 : pack_tmp = ISHFT(data_tmp, 44)
52284 378816 : pack_tmp = ISHFT(pack_tmp, -44)
52285 378816 : idata = idata + 1
52286 378816 : data_tmp = full_data(idata)
52287 378816 : data_tmp = ISHFT(data_tmp, 2)
52288 378816 : data_tmp = IAND(data_tmp, mask_left(44))
52289 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52290 378816 : ipack = ipack + 1
52291 378816 : packed_data(ipack) = pack_tmp
52292 378816 : data_tmp = full_data(idata)
52293 378816 : pack_tmp = ISHFT(data_tmp, 46)
52294 378816 : pack_tmp = ISHFT(pack_tmp, -46)
52295 378816 : idata = idata + 1
52296 378816 : data_tmp = full_data(idata)
52297 378816 : data_tmp = ISHFT(data_tmp, 2)
52298 378816 : data_tmp = IAND(data_tmp, mask_left(46))
52299 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52300 378816 : ipack = ipack + 1
52301 378816 : packed_data(ipack) = pack_tmp
52302 378816 : data_tmp = full_data(idata)
52303 378816 : pack_tmp = ISHFT(data_tmp, 48)
52304 378816 : pack_tmp = ISHFT(pack_tmp, -48)
52305 378816 : idata = idata + 1
52306 378816 : data_tmp = full_data(idata)
52307 378816 : data_tmp = ISHFT(data_tmp, 2)
52308 378816 : data_tmp = IAND(data_tmp, mask_left(48))
52309 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52310 378816 : ipack = ipack + 1
52311 378816 : packed_data(ipack) = pack_tmp
52312 378816 : data_tmp = full_data(idata)
52313 378816 : pack_tmp = ISHFT(data_tmp, 50)
52314 378816 : pack_tmp = ISHFT(pack_tmp, -50)
52315 378816 : idata = idata + 1
52316 378816 : data_tmp = full_data(idata)
52317 378816 : data_tmp = ISHFT(data_tmp, 2)
52318 378816 : data_tmp = IAND(data_tmp, mask_left(50))
52319 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52320 378816 : ipack = ipack + 1
52321 378816 : packed_data(ipack) = pack_tmp
52322 378816 : data_tmp = full_data(idata)
52323 378816 : pack_tmp = ISHFT(data_tmp, 52)
52324 378816 : pack_tmp = ISHFT(pack_tmp, -52)
52325 378816 : idata = idata + 1
52326 378816 : data_tmp = full_data(idata)
52327 378816 : data_tmp = ISHFT(data_tmp, 2)
52328 378816 : data_tmp = IAND(data_tmp, mask_left(52))
52329 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52330 378816 : ipack = ipack + 1
52331 378816 : packed_data(ipack) = pack_tmp
52332 378816 : data_tmp = full_data(idata)
52333 378816 : pack_tmp = ISHFT(data_tmp, 54)
52334 378816 : pack_tmp = ISHFT(pack_tmp, -54)
52335 378816 : idata = idata + 1
52336 378816 : data_tmp = full_data(idata)
52337 378816 : data_tmp = ISHFT(data_tmp, 2)
52338 378816 : data_tmp = IAND(data_tmp, mask_left(54))
52339 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52340 378816 : ipack = ipack + 1
52341 378816 : packed_data(ipack) = pack_tmp
52342 378816 : data_tmp = full_data(idata)
52343 378816 : pack_tmp = ISHFT(data_tmp, 56)
52344 378816 : pack_tmp = ISHFT(pack_tmp, -56)
52345 378816 : idata = idata + 1
52346 378816 : data_tmp = full_data(idata)
52347 378816 : data_tmp = ISHFT(data_tmp, 2)
52348 378816 : data_tmp = IAND(data_tmp, mask_left(56))
52349 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52350 378816 : ipack = ipack + 1
52351 378816 : packed_data(ipack) = pack_tmp
52352 378816 : data_tmp = full_data(idata)
52353 378816 : pack_tmp = ISHFT(data_tmp, 58)
52354 378816 : pack_tmp = ISHFT(pack_tmp, -58)
52355 378816 : idata = idata + 1
52356 378816 : data_tmp = full_data(idata)
52357 378816 : data_tmp = ISHFT(data_tmp, 2)
52358 378816 : data_tmp = IAND(data_tmp, mask_left(58))
52359 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52360 378816 : ipack = ipack + 1
52361 378816 : packed_data(ipack) = pack_tmp
52362 378816 : data_tmp = full_data(idata)
52363 378816 : pack_tmp = ISHFT(data_tmp, 60)
52364 378816 : pack_tmp = ISHFT(pack_tmp, -60)
52365 378816 : idata = idata + 1
52366 378816 : data_tmp = full_data(idata)
52367 378816 : data_tmp = ISHFT(data_tmp, 2)
52368 378816 : data_tmp = IAND(data_tmp, mask_left(60))
52369 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52370 378816 : ipack = ipack + 1
52371 378816 : packed_data(ipack) = pack_tmp
52372 378816 : data_tmp = full_data(idata)
52373 378816 : pack_tmp = ISHFT(data_tmp, 62)
52374 378816 : pack_tmp = ISHFT(pack_tmp, -62)
52375 378816 : idata = idata + 1
52376 378816 : data_tmp = full_data(idata)
52377 378816 : data_tmp = ISHFT(data_tmp, 2)
52378 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52379 : pack_tmp = ISHFT(pack_tmp, 0)
52380 378816 : pack_tmp = ISHFT(pack_tmp, 0)
52381 378816 : ipack = ipack + 1
52382 378816 : packed_data(ipack) = pack_tmp
52383 : END DO
52384 23676 : 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 23676 : END SUBROUTINE ints2bits_62
52388 :
52389 : ! **************************************************************************************************
52390 : !> \brief ...
52391 : !> \param Ndata ...
52392 : !> \param packed_data ...
52393 : !> \param full_data ...
52394 : ! **************************************************************************************************
52395 95427 : 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 95427 : ipack = 0
52406 95427 : idata = 0
52407 95427 : pack_tmp = 0
52408 95427 : Ndata_rep = (Ndata/64)*64
52409 95427 : DO kdata = 1, Ndata_rep, 64
52410 1526832 : idata = idata + 1
52411 1526832 : data_tmp = ISHFT(pack_tmp, 62)
52412 1526832 : ipack = ipack + 1
52413 1526832 : pack_tmp = packed_data(ipack)
52414 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
52415 1526832 : pack_tmp = ISHFT(pack_tmp, -62)
52416 1526832 : idata = idata + 1
52417 1526832 : data_tmp = ISHFT(pack_tmp, 60)
52418 1526832 : ipack = ipack + 1
52419 1526832 : pack_tmp = packed_data(ipack)
52420 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
52421 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
52422 1526832 : idata = idata + 1
52423 1526832 : data_tmp = ISHFT(pack_tmp, 58)
52424 1526832 : ipack = ipack + 1
52425 1526832 : pack_tmp = packed_data(ipack)
52426 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
52427 1526832 : pack_tmp = ISHFT(pack_tmp, -58)
52428 1526832 : idata = idata + 1
52429 1526832 : data_tmp = ISHFT(pack_tmp, 56)
52430 1526832 : ipack = ipack + 1
52431 1526832 : pack_tmp = packed_data(ipack)
52432 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
52433 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
52434 1526832 : idata = idata + 1
52435 1526832 : data_tmp = ISHFT(pack_tmp, 54)
52436 1526832 : ipack = ipack + 1
52437 1526832 : pack_tmp = packed_data(ipack)
52438 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
52439 1526832 : pack_tmp = ISHFT(pack_tmp, -54)
52440 1526832 : idata = idata + 1
52441 1526832 : data_tmp = ISHFT(pack_tmp, 52)
52442 1526832 : ipack = ipack + 1
52443 1526832 : pack_tmp = packed_data(ipack)
52444 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
52445 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
52446 1526832 : idata = idata + 1
52447 1526832 : data_tmp = ISHFT(pack_tmp, 50)
52448 1526832 : ipack = ipack + 1
52449 1526832 : pack_tmp = packed_data(ipack)
52450 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
52451 1526832 : pack_tmp = ISHFT(pack_tmp, -50)
52452 1526832 : idata = idata + 1
52453 1526832 : data_tmp = ISHFT(pack_tmp, 48)
52454 1526832 : ipack = ipack + 1
52455 1526832 : pack_tmp = packed_data(ipack)
52456 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
52457 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
52458 1526832 : idata = idata + 1
52459 1526832 : data_tmp = ISHFT(pack_tmp, 46)
52460 1526832 : ipack = ipack + 1
52461 1526832 : pack_tmp = packed_data(ipack)
52462 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
52463 1526832 : pack_tmp = ISHFT(pack_tmp, -46)
52464 1526832 : idata = idata + 1
52465 1526832 : data_tmp = ISHFT(pack_tmp, 44)
52466 1526832 : ipack = ipack + 1
52467 1526832 : pack_tmp = packed_data(ipack)
52468 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
52469 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
52470 1526832 : idata = idata + 1
52471 1526832 : data_tmp = ISHFT(pack_tmp, 42)
52472 1526832 : ipack = ipack + 1
52473 1526832 : pack_tmp = packed_data(ipack)
52474 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
52475 1526832 : pack_tmp = ISHFT(pack_tmp, -42)
52476 1526832 : idata = idata + 1
52477 1526832 : data_tmp = ISHFT(pack_tmp, 40)
52478 1526832 : ipack = ipack + 1
52479 1526832 : pack_tmp = packed_data(ipack)
52480 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
52481 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
52482 1526832 : idata = idata + 1
52483 1526832 : data_tmp = ISHFT(pack_tmp, 38)
52484 1526832 : ipack = ipack + 1
52485 1526832 : pack_tmp = packed_data(ipack)
52486 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
52487 1526832 : pack_tmp = ISHFT(pack_tmp, -38)
52488 1526832 : idata = idata + 1
52489 1526832 : data_tmp = ISHFT(pack_tmp, 36)
52490 1526832 : ipack = ipack + 1
52491 1526832 : pack_tmp = packed_data(ipack)
52492 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
52493 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
52494 1526832 : idata = idata + 1
52495 1526832 : data_tmp = ISHFT(pack_tmp, 34)
52496 1526832 : ipack = ipack + 1
52497 1526832 : pack_tmp = packed_data(ipack)
52498 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
52499 1526832 : pack_tmp = ISHFT(pack_tmp, -34)
52500 1526832 : idata = idata + 1
52501 1526832 : data_tmp = ISHFT(pack_tmp, 32)
52502 1526832 : ipack = ipack + 1
52503 1526832 : pack_tmp = packed_data(ipack)
52504 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
52505 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
52506 1526832 : idata = idata + 1
52507 1526832 : data_tmp = ISHFT(pack_tmp, 30)
52508 1526832 : ipack = ipack + 1
52509 1526832 : pack_tmp = packed_data(ipack)
52510 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
52511 1526832 : pack_tmp = ISHFT(pack_tmp, -30)
52512 1526832 : idata = idata + 1
52513 1526832 : data_tmp = ISHFT(pack_tmp, 28)
52514 1526832 : ipack = ipack + 1
52515 1526832 : pack_tmp = packed_data(ipack)
52516 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
52517 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
52518 1526832 : idata = idata + 1
52519 1526832 : data_tmp = ISHFT(pack_tmp, 26)
52520 1526832 : ipack = ipack + 1
52521 1526832 : pack_tmp = packed_data(ipack)
52522 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
52523 1526832 : pack_tmp = ISHFT(pack_tmp, -26)
52524 1526832 : idata = idata + 1
52525 1526832 : data_tmp = ISHFT(pack_tmp, 24)
52526 1526832 : ipack = ipack + 1
52527 1526832 : pack_tmp = packed_data(ipack)
52528 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
52529 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
52530 1526832 : idata = idata + 1
52531 1526832 : data_tmp = ISHFT(pack_tmp, 22)
52532 1526832 : ipack = ipack + 1
52533 1526832 : pack_tmp = packed_data(ipack)
52534 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
52535 1526832 : pack_tmp = ISHFT(pack_tmp, -22)
52536 1526832 : idata = idata + 1
52537 1526832 : data_tmp = ISHFT(pack_tmp, 20)
52538 1526832 : ipack = ipack + 1
52539 1526832 : pack_tmp = packed_data(ipack)
52540 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
52541 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
52542 1526832 : idata = idata + 1
52543 1526832 : data_tmp = ISHFT(pack_tmp, 18)
52544 1526832 : ipack = ipack + 1
52545 1526832 : pack_tmp = packed_data(ipack)
52546 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
52547 1526832 : pack_tmp = ISHFT(pack_tmp, -18)
52548 1526832 : idata = idata + 1
52549 1526832 : data_tmp = ISHFT(pack_tmp, 16)
52550 1526832 : ipack = ipack + 1
52551 1526832 : pack_tmp = packed_data(ipack)
52552 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
52553 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
52554 1526832 : idata = idata + 1
52555 1526832 : data_tmp = ISHFT(pack_tmp, 14)
52556 1526832 : ipack = ipack + 1
52557 1526832 : pack_tmp = packed_data(ipack)
52558 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
52559 1526832 : pack_tmp = ISHFT(pack_tmp, -14)
52560 1526832 : idata = idata + 1
52561 1526832 : data_tmp = ISHFT(pack_tmp, 12)
52562 1526832 : ipack = ipack + 1
52563 1526832 : pack_tmp = packed_data(ipack)
52564 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
52565 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
52566 1526832 : idata = idata + 1
52567 1526832 : data_tmp = ISHFT(pack_tmp, 10)
52568 1526832 : ipack = ipack + 1
52569 1526832 : pack_tmp = packed_data(ipack)
52570 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
52571 1526832 : pack_tmp = ISHFT(pack_tmp, -10)
52572 1526832 : idata = idata + 1
52573 1526832 : data_tmp = ISHFT(pack_tmp, 8)
52574 1526832 : ipack = ipack + 1
52575 1526832 : pack_tmp = packed_data(ipack)
52576 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
52577 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
52578 1526832 : idata = idata + 1
52579 1526832 : data_tmp = ISHFT(pack_tmp, 6)
52580 1526832 : ipack = ipack + 1
52581 1526832 : pack_tmp = packed_data(ipack)
52582 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
52583 1526832 : pack_tmp = ISHFT(pack_tmp, -6)
52584 1526832 : idata = idata + 1
52585 1526832 : data_tmp = ISHFT(pack_tmp, 4)
52586 1526832 : ipack = ipack + 1
52587 1526832 : pack_tmp = packed_data(ipack)
52588 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
52589 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
52590 1526832 : idata = idata + 1
52591 1526832 : data_tmp = ISHFT(pack_tmp, 2)
52592 1526832 : ipack = ipack + 1
52593 1526832 : pack_tmp = packed_data(ipack)
52594 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
52595 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
52596 1526832 : idata = idata + 1
52597 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
52598 1526832 : full_data(idata) = data_tmp
52599 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
52600 1526832 : idata = idata + 1
52601 1526832 : data_tmp = ISHFT(pack_tmp, 62)
52602 1526832 : ipack = ipack + 1
52603 1526832 : pack_tmp = packed_data(ipack)
52604 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
52605 1526832 : pack_tmp = ISHFT(pack_tmp, -62)
52606 1526832 : idata = idata + 1
52607 1526832 : data_tmp = ISHFT(pack_tmp, 60)
52608 1526832 : ipack = ipack + 1
52609 1526832 : pack_tmp = packed_data(ipack)
52610 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
52611 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
52612 1526832 : idata = idata + 1
52613 1526832 : data_tmp = ISHFT(pack_tmp, 58)
52614 1526832 : ipack = ipack + 1
52615 1526832 : pack_tmp = packed_data(ipack)
52616 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
52617 1526832 : pack_tmp = ISHFT(pack_tmp, -58)
52618 1526832 : idata = idata + 1
52619 1526832 : data_tmp = ISHFT(pack_tmp, 56)
52620 1526832 : ipack = ipack + 1
52621 1526832 : pack_tmp = packed_data(ipack)
52622 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
52623 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
52624 1526832 : idata = idata + 1
52625 1526832 : data_tmp = ISHFT(pack_tmp, 54)
52626 1526832 : ipack = ipack + 1
52627 1526832 : pack_tmp = packed_data(ipack)
52628 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
52629 1526832 : pack_tmp = ISHFT(pack_tmp, -54)
52630 1526832 : idata = idata + 1
52631 1526832 : data_tmp = ISHFT(pack_tmp, 52)
52632 1526832 : ipack = ipack + 1
52633 1526832 : pack_tmp = packed_data(ipack)
52634 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
52635 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
52636 1526832 : idata = idata + 1
52637 1526832 : data_tmp = ISHFT(pack_tmp, 50)
52638 1526832 : ipack = ipack + 1
52639 1526832 : pack_tmp = packed_data(ipack)
52640 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
52641 1526832 : pack_tmp = ISHFT(pack_tmp, -50)
52642 1526832 : idata = idata + 1
52643 1526832 : data_tmp = ISHFT(pack_tmp, 48)
52644 1526832 : ipack = ipack + 1
52645 1526832 : pack_tmp = packed_data(ipack)
52646 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
52647 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
52648 1526832 : idata = idata + 1
52649 1526832 : data_tmp = ISHFT(pack_tmp, 46)
52650 1526832 : ipack = ipack + 1
52651 1526832 : pack_tmp = packed_data(ipack)
52652 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
52653 1526832 : pack_tmp = ISHFT(pack_tmp, -46)
52654 1526832 : idata = idata + 1
52655 1526832 : data_tmp = ISHFT(pack_tmp, 44)
52656 1526832 : ipack = ipack + 1
52657 1526832 : pack_tmp = packed_data(ipack)
52658 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
52659 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
52660 1526832 : idata = idata + 1
52661 1526832 : data_tmp = ISHFT(pack_tmp, 42)
52662 1526832 : ipack = ipack + 1
52663 1526832 : pack_tmp = packed_data(ipack)
52664 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
52665 1526832 : pack_tmp = ISHFT(pack_tmp, -42)
52666 1526832 : idata = idata + 1
52667 1526832 : data_tmp = ISHFT(pack_tmp, 40)
52668 1526832 : ipack = ipack + 1
52669 1526832 : pack_tmp = packed_data(ipack)
52670 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
52671 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
52672 1526832 : idata = idata + 1
52673 1526832 : data_tmp = ISHFT(pack_tmp, 38)
52674 1526832 : ipack = ipack + 1
52675 1526832 : pack_tmp = packed_data(ipack)
52676 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
52677 1526832 : pack_tmp = ISHFT(pack_tmp, -38)
52678 1526832 : idata = idata + 1
52679 1526832 : data_tmp = ISHFT(pack_tmp, 36)
52680 1526832 : ipack = ipack + 1
52681 1526832 : pack_tmp = packed_data(ipack)
52682 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
52683 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
52684 1526832 : idata = idata + 1
52685 1526832 : data_tmp = ISHFT(pack_tmp, 34)
52686 1526832 : ipack = ipack + 1
52687 1526832 : pack_tmp = packed_data(ipack)
52688 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
52689 1526832 : pack_tmp = ISHFT(pack_tmp, -34)
52690 1526832 : idata = idata + 1
52691 1526832 : data_tmp = ISHFT(pack_tmp, 32)
52692 1526832 : ipack = ipack + 1
52693 1526832 : pack_tmp = packed_data(ipack)
52694 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
52695 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
52696 1526832 : idata = idata + 1
52697 1526832 : data_tmp = ISHFT(pack_tmp, 30)
52698 1526832 : ipack = ipack + 1
52699 1526832 : pack_tmp = packed_data(ipack)
52700 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
52701 1526832 : pack_tmp = ISHFT(pack_tmp, -30)
52702 1526832 : idata = idata + 1
52703 1526832 : data_tmp = ISHFT(pack_tmp, 28)
52704 1526832 : ipack = ipack + 1
52705 1526832 : pack_tmp = packed_data(ipack)
52706 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
52707 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
52708 1526832 : idata = idata + 1
52709 1526832 : data_tmp = ISHFT(pack_tmp, 26)
52710 1526832 : ipack = ipack + 1
52711 1526832 : pack_tmp = packed_data(ipack)
52712 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
52713 1526832 : pack_tmp = ISHFT(pack_tmp, -26)
52714 1526832 : idata = idata + 1
52715 1526832 : data_tmp = ISHFT(pack_tmp, 24)
52716 1526832 : ipack = ipack + 1
52717 1526832 : pack_tmp = packed_data(ipack)
52718 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
52719 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
52720 1526832 : idata = idata + 1
52721 1526832 : data_tmp = ISHFT(pack_tmp, 22)
52722 1526832 : ipack = ipack + 1
52723 1526832 : pack_tmp = packed_data(ipack)
52724 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
52725 1526832 : pack_tmp = ISHFT(pack_tmp, -22)
52726 1526832 : idata = idata + 1
52727 1526832 : data_tmp = ISHFT(pack_tmp, 20)
52728 1526832 : ipack = ipack + 1
52729 1526832 : pack_tmp = packed_data(ipack)
52730 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
52731 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
52732 1526832 : idata = idata + 1
52733 1526832 : data_tmp = ISHFT(pack_tmp, 18)
52734 1526832 : ipack = ipack + 1
52735 1526832 : pack_tmp = packed_data(ipack)
52736 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
52737 1526832 : pack_tmp = ISHFT(pack_tmp, -18)
52738 1526832 : idata = idata + 1
52739 1526832 : data_tmp = ISHFT(pack_tmp, 16)
52740 1526832 : ipack = ipack + 1
52741 1526832 : pack_tmp = packed_data(ipack)
52742 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
52743 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
52744 1526832 : idata = idata + 1
52745 1526832 : data_tmp = ISHFT(pack_tmp, 14)
52746 1526832 : ipack = ipack + 1
52747 1526832 : pack_tmp = packed_data(ipack)
52748 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
52749 1526832 : pack_tmp = ISHFT(pack_tmp, -14)
52750 1526832 : idata = idata + 1
52751 1526832 : data_tmp = ISHFT(pack_tmp, 12)
52752 1526832 : ipack = ipack + 1
52753 1526832 : pack_tmp = packed_data(ipack)
52754 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
52755 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
52756 1526832 : idata = idata + 1
52757 1526832 : data_tmp = ISHFT(pack_tmp, 10)
52758 1526832 : ipack = ipack + 1
52759 1526832 : pack_tmp = packed_data(ipack)
52760 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
52761 1526832 : pack_tmp = ISHFT(pack_tmp, -10)
52762 1526832 : idata = idata + 1
52763 1526832 : data_tmp = ISHFT(pack_tmp, 8)
52764 1526832 : ipack = ipack + 1
52765 1526832 : pack_tmp = packed_data(ipack)
52766 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
52767 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
52768 1526832 : idata = idata + 1
52769 1526832 : data_tmp = ISHFT(pack_tmp, 6)
52770 1526832 : ipack = ipack + 1
52771 1526832 : pack_tmp = packed_data(ipack)
52772 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
52773 1526832 : pack_tmp = ISHFT(pack_tmp, -6)
52774 1526832 : idata = idata + 1
52775 1526832 : data_tmp = ISHFT(pack_tmp, 4)
52776 1526832 : ipack = ipack + 1
52777 1526832 : pack_tmp = packed_data(ipack)
52778 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
52779 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
52780 1526832 : idata = idata + 1
52781 1526832 : data_tmp = ISHFT(pack_tmp, 2)
52782 1526832 : ipack = ipack + 1
52783 1526832 : pack_tmp = packed_data(ipack)
52784 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
52785 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
52786 1526832 : idata = idata + 1
52787 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
52788 1526832 : full_data(idata) = data_tmp
52789 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
52790 : END DO
52791 95427 : 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 95427 : END SUBROUTINE bits2ints_62
52795 :
52796 : ! **************************************************************************************************
52797 : !> \brief ...
52798 : !> \param Ndata ...
52799 : !> \param packed_data ...
52800 : !> \param full_data ...
52801 : ! **************************************************************************************************
52802 23676 : 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 23676 : idata = 0
52813 23676 : ipack = 0
52814 23676 : Ndata_rep = (Ndata/64)*64
52815 23676 : DO kdata = 1, Ndata_rep, 64
52816 378816 : pack_tmp = 0
52817 378816 : idata = idata + 1
52818 378816 : data_tmp = full_data(idata)
52819 378816 : data_tmp = ISHFT(data_tmp, 1)
52820 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52821 378816 : pack_tmp = ISHFT(pack_tmp, -1)
52822 378816 : idata = idata + 1
52823 378816 : data_tmp = full_data(idata)
52824 378816 : data_tmp = ISHFT(data_tmp, 1)
52825 378816 : data_tmp = IAND(data_tmp, mask_left(1))
52826 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52827 378816 : ipack = ipack + 1
52828 378816 : packed_data(ipack) = pack_tmp
52829 378816 : data_tmp = full_data(idata)
52830 378816 : pack_tmp = ISHFT(data_tmp, 2)
52831 378816 : pack_tmp = ISHFT(pack_tmp, -2)
52832 378816 : idata = idata + 1
52833 378816 : data_tmp = full_data(idata)
52834 378816 : data_tmp = ISHFT(data_tmp, 1)
52835 378816 : data_tmp = IAND(data_tmp, mask_left(2))
52836 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52837 378816 : ipack = ipack + 1
52838 378816 : packed_data(ipack) = pack_tmp
52839 378816 : data_tmp = full_data(idata)
52840 378816 : pack_tmp = ISHFT(data_tmp, 3)
52841 378816 : pack_tmp = ISHFT(pack_tmp, -3)
52842 378816 : idata = idata + 1
52843 378816 : data_tmp = full_data(idata)
52844 378816 : data_tmp = ISHFT(data_tmp, 1)
52845 378816 : data_tmp = IAND(data_tmp, mask_left(3))
52846 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52847 378816 : ipack = ipack + 1
52848 378816 : packed_data(ipack) = pack_tmp
52849 378816 : data_tmp = full_data(idata)
52850 378816 : pack_tmp = ISHFT(data_tmp, 4)
52851 378816 : pack_tmp = ISHFT(pack_tmp, -4)
52852 378816 : idata = idata + 1
52853 378816 : data_tmp = full_data(idata)
52854 378816 : data_tmp = ISHFT(data_tmp, 1)
52855 378816 : data_tmp = IAND(data_tmp, mask_left(4))
52856 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52857 378816 : ipack = ipack + 1
52858 378816 : packed_data(ipack) = pack_tmp
52859 378816 : data_tmp = full_data(idata)
52860 378816 : pack_tmp = ISHFT(data_tmp, 5)
52861 378816 : pack_tmp = ISHFT(pack_tmp, -5)
52862 378816 : idata = idata + 1
52863 378816 : data_tmp = full_data(idata)
52864 378816 : data_tmp = ISHFT(data_tmp, 1)
52865 378816 : data_tmp = IAND(data_tmp, mask_left(5))
52866 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52867 378816 : ipack = ipack + 1
52868 378816 : packed_data(ipack) = pack_tmp
52869 378816 : data_tmp = full_data(idata)
52870 378816 : pack_tmp = ISHFT(data_tmp, 6)
52871 378816 : pack_tmp = ISHFT(pack_tmp, -6)
52872 378816 : idata = idata + 1
52873 378816 : data_tmp = full_data(idata)
52874 378816 : data_tmp = ISHFT(data_tmp, 1)
52875 378816 : data_tmp = IAND(data_tmp, mask_left(6))
52876 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52877 378816 : ipack = ipack + 1
52878 378816 : packed_data(ipack) = pack_tmp
52879 378816 : data_tmp = full_data(idata)
52880 378816 : pack_tmp = ISHFT(data_tmp, 7)
52881 378816 : pack_tmp = ISHFT(pack_tmp, -7)
52882 378816 : idata = idata + 1
52883 378816 : data_tmp = full_data(idata)
52884 378816 : data_tmp = ISHFT(data_tmp, 1)
52885 378816 : data_tmp = IAND(data_tmp, mask_left(7))
52886 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52887 378816 : ipack = ipack + 1
52888 378816 : packed_data(ipack) = pack_tmp
52889 378816 : data_tmp = full_data(idata)
52890 378816 : pack_tmp = ISHFT(data_tmp, 8)
52891 378816 : pack_tmp = ISHFT(pack_tmp, -8)
52892 378816 : idata = idata + 1
52893 378816 : data_tmp = full_data(idata)
52894 378816 : data_tmp = ISHFT(data_tmp, 1)
52895 378816 : data_tmp = IAND(data_tmp, mask_left(8))
52896 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52897 378816 : ipack = ipack + 1
52898 378816 : packed_data(ipack) = pack_tmp
52899 378816 : data_tmp = full_data(idata)
52900 378816 : pack_tmp = ISHFT(data_tmp, 9)
52901 378816 : pack_tmp = ISHFT(pack_tmp, -9)
52902 378816 : idata = idata + 1
52903 378816 : data_tmp = full_data(idata)
52904 378816 : data_tmp = ISHFT(data_tmp, 1)
52905 378816 : data_tmp = IAND(data_tmp, mask_left(9))
52906 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52907 378816 : ipack = ipack + 1
52908 378816 : packed_data(ipack) = pack_tmp
52909 378816 : data_tmp = full_data(idata)
52910 378816 : pack_tmp = ISHFT(data_tmp, 10)
52911 378816 : pack_tmp = ISHFT(pack_tmp, -10)
52912 378816 : idata = idata + 1
52913 378816 : data_tmp = full_data(idata)
52914 378816 : data_tmp = ISHFT(data_tmp, 1)
52915 378816 : data_tmp = IAND(data_tmp, mask_left(10))
52916 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52917 378816 : ipack = ipack + 1
52918 378816 : packed_data(ipack) = pack_tmp
52919 378816 : data_tmp = full_data(idata)
52920 378816 : pack_tmp = ISHFT(data_tmp, 11)
52921 378816 : pack_tmp = ISHFT(pack_tmp, -11)
52922 378816 : idata = idata + 1
52923 378816 : data_tmp = full_data(idata)
52924 378816 : data_tmp = ISHFT(data_tmp, 1)
52925 378816 : data_tmp = IAND(data_tmp, mask_left(11))
52926 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52927 378816 : ipack = ipack + 1
52928 378816 : packed_data(ipack) = pack_tmp
52929 378816 : data_tmp = full_data(idata)
52930 378816 : pack_tmp = ISHFT(data_tmp, 12)
52931 378816 : pack_tmp = ISHFT(pack_tmp, -12)
52932 378816 : idata = idata + 1
52933 378816 : data_tmp = full_data(idata)
52934 378816 : data_tmp = ISHFT(data_tmp, 1)
52935 378816 : data_tmp = IAND(data_tmp, mask_left(12))
52936 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52937 378816 : ipack = ipack + 1
52938 378816 : packed_data(ipack) = pack_tmp
52939 378816 : data_tmp = full_data(idata)
52940 378816 : pack_tmp = ISHFT(data_tmp, 13)
52941 378816 : pack_tmp = ISHFT(pack_tmp, -13)
52942 378816 : idata = idata + 1
52943 378816 : data_tmp = full_data(idata)
52944 378816 : data_tmp = ISHFT(data_tmp, 1)
52945 378816 : data_tmp = IAND(data_tmp, mask_left(13))
52946 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52947 378816 : ipack = ipack + 1
52948 378816 : packed_data(ipack) = pack_tmp
52949 378816 : data_tmp = full_data(idata)
52950 378816 : pack_tmp = ISHFT(data_tmp, 14)
52951 378816 : pack_tmp = ISHFT(pack_tmp, -14)
52952 378816 : idata = idata + 1
52953 378816 : data_tmp = full_data(idata)
52954 378816 : data_tmp = ISHFT(data_tmp, 1)
52955 378816 : data_tmp = IAND(data_tmp, mask_left(14))
52956 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52957 378816 : ipack = ipack + 1
52958 378816 : packed_data(ipack) = pack_tmp
52959 378816 : data_tmp = full_data(idata)
52960 378816 : pack_tmp = ISHFT(data_tmp, 15)
52961 378816 : pack_tmp = ISHFT(pack_tmp, -15)
52962 378816 : idata = idata + 1
52963 378816 : data_tmp = full_data(idata)
52964 378816 : data_tmp = ISHFT(data_tmp, 1)
52965 378816 : data_tmp = IAND(data_tmp, mask_left(15))
52966 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52967 378816 : ipack = ipack + 1
52968 378816 : packed_data(ipack) = pack_tmp
52969 378816 : data_tmp = full_data(idata)
52970 378816 : pack_tmp = ISHFT(data_tmp, 16)
52971 378816 : pack_tmp = ISHFT(pack_tmp, -16)
52972 378816 : idata = idata + 1
52973 378816 : data_tmp = full_data(idata)
52974 378816 : data_tmp = ISHFT(data_tmp, 1)
52975 378816 : data_tmp = IAND(data_tmp, mask_left(16))
52976 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52977 378816 : ipack = ipack + 1
52978 378816 : packed_data(ipack) = pack_tmp
52979 378816 : data_tmp = full_data(idata)
52980 378816 : pack_tmp = ISHFT(data_tmp, 17)
52981 378816 : pack_tmp = ISHFT(pack_tmp, -17)
52982 378816 : idata = idata + 1
52983 378816 : data_tmp = full_data(idata)
52984 378816 : data_tmp = ISHFT(data_tmp, 1)
52985 378816 : data_tmp = IAND(data_tmp, mask_left(17))
52986 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52987 378816 : ipack = ipack + 1
52988 378816 : packed_data(ipack) = pack_tmp
52989 378816 : data_tmp = full_data(idata)
52990 378816 : pack_tmp = ISHFT(data_tmp, 18)
52991 378816 : pack_tmp = ISHFT(pack_tmp, -18)
52992 378816 : idata = idata + 1
52993 378816 : data_tmp = full_data(idata)
52994 378816 : data_tmp = ISHFT(data_tmp, 1)
52995 378816 : data_tmp = IAND(data_tmp, mask_left(18))
52996 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
52997 378816 : ipack = ipack + 1
52998 378816 : packed_data(ipack) = pack_tmp
52999 378816 : data_tmp = full_data(idata)
53000 378816 : pack_tmp = ISHFT(data_tmp, 19)
53001 378816 : pack_tmp = ISHFT(pack_tmp, -19)
53002 378816 : idata = idata + 1
53003 378816 : data_tmp = full_data(idata)
53004 378816 : data_tmp = ISHFT(data_tmp, 1)
53005 378816 : data_tmp = IAND(data_tmp, mask_left(19))
53006 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53007 378816 : ipack = ipack + 1
53008 378816 : packed_data(ipack) = pack_tmp
53009 378816 : data_tmp = full_data(idata)
53010 378816 : pack_tmp = ISHFT(data_tmp, 20)
53011 378816 : pack_tmp = ISHFT(pack_tmp, -20)
53012 378816 : idata = idata + 1
53013 378816 : data_tmp = full_data(idata)
53014 378816 : data_tmp = ISHFT(data_tmp, 1)
53015 378816 : data_tmp = IAND(data_tmp, mask_left(20))
53016 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53017 378816 : ipack = ipack + 1
53018 378816 : packed_data(ipack) = pack_tmp
53019 378816 : data_tmp = full_data(idata)
53020 378816 : pack_tmp = ISHFT(data_tmp, 21)
53021 378816 : pack_tmp = ISHFT(pack_tmp, -21)
53022 378816 : idata = idata + 1
53023 378816 : data_tmp = full_data(idata)
53024 378816 : data_tmp = ISHFT(data_tmp, 1)
53025 378816 : data_tmp = IAND(data_tmp, mask_left(21))
53026 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53027 378816 : ipack = ipack + 1
53028 378816 : packed_data(ipack) = pack_tmp
53029 378816 : data_tmp = full_data(idata)
53030 378816 : pack_tmp = ISHFT(data_tmp, 22)
53031 378816 : pack_tmp = ISHFT(pack_tmp, -22)
53032 378816 : idata = idata + 1
53033 378816 : data_tmp = full_data(idata)
53034 378816 : data_tmp = ISHFT(data_tmp, 1)
53035 378816 : data_tmp = IAND(data_tmp, mask_left(22))
53036 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53037 378816 : ipack = ipack + 1
53038 378816 : packed_data(ipack) = pack_tmp
53039 378816 : data_tmp = full_data(idata)
53040 378816 : pack_tmp = ISHFT(data_tmp, 23)
53041 378816 : pack_tmp = ISHFT(pack_tmp, -23)
53042 378816 : idata = idata + 1
53043 378816 : data_tmp = full_data(idata)
53044 378816 : data_tmp = ISHFT(data_tmp, 1)
53045 378816 : data_tmp = IAND(data_tmp, mask_left(23))
53046 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53047 378816 : ipack = ipack + 1
53048 378816 : packed_data(ipack) = pack_tmp
53049 378816 : data_tmp = full_data(idata)
53050 378816 : pack_tmp = ISHFT(data_tmp, 24)
53051 378816 : pack_tmp = ISHFT(pack_tmp, -24)
53052 378816 : idata = idata + 1
53053 378816 : data_tmp = full_data(idata)
53054 378816 : data_tmp = ISHFT(data_tmp, 1)
53055 378816 : data_tmp = IAND(data_tmp, mask_left(24))
53056 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53057 378816 : ipack = ipack + 1
53058 378816 : packed_data(ipack) = pack_tmp
53059 378816 : data_tmp = full_data(idata)
53060 378816 : pack_tmp = ISHFT(data_tmp, 25)
53061 378816 : pack_tmp = ISHFT(pack_tmp, -25)
53062 378816 : idata = idata + 1
53063 378816 : data_tmp = full_data(idata)
53064 378816 : data_tmp = ISHFT(data_tmp, 1)
53065 378816 : data_tmp = IAND(data_tmp, mask_left(25))
53066 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53067 378816 : ipack = ipack + 1
53068 378816 : packed_data(ipack) = pack_tmp
53069 378816 : data_tmp = full_data(idata)
53070 378816 : pack_tmp = ISHFT(data_tmp, 26)
53071 378816 : pack_tmp = ISHFT(pack_tmp, -26)
53072 378816 : idata = idata + 1
53073 378816 : data_tmp = full_data(idata)
53074 378816 : data_tmp = ISHFT(data_tmp, 1)
53075 378816 : data_tmp = IAND(data_tmp, mask_left(26))
53076 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53077 378816 : ipack = ipack + 1
53078 378816 : packed_data(ipack) = pack_tmp
53079 378816 : data_tmp = full_data(idata)
53080 378816 : pack_tmp = ISHFT(data_tmp, 27)
53081 378816 : pack_tmp = ISHFT(pack_tmp, -27)
53082 378816 : idata = idata + 1
53083 378816 : data_tmp = full_data(idata)
53084 378816 : data_tmp = ISHFT(data_tmp, 1)
53085 378816 : data_tmp = IAND(data_tmp, mask_left(27))
53086 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53087 378816 : ipack = ipack + 1
53088 378816 : packed_data(ipack) = pack_tmp
53089 378816 : data_tmp = full_data(idata)
53090 378816 : pack_tmp = ISHFT(data_tmp, 28)
53091 378816 : pack_tmp = ISHFT(pack_tmp, -28)
53092 378816 : idata = idata + 1
53093 378816 : data_tmp = full_data(idata)
53094 378816 : data_tmp = ISHFT(data_tmp, 1)
53095 378816 : data_tmp = IAND(data_tmp, mask_left(28))
53096 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53097 378816 : ipack = ipack + 1
53098 378816 : packed_data(ipack) = pack_tmp
53099 378816 : data_tmp = full_data(idata)
53100 378816 : pack_tmp = ISHFT(data_tmp, 29)
53101 378816 : pack_tmp = ISHFT(pack_tmp, -29)
53102 378816 : idata = idata + 1
53103 378816 : data_tmp = full_data(idata)
53104 378816 : data_tmp = ISHFT(data_tmp, 1)
53105 378816 : data_tmp = IAND(data_tmp, mask_left(29))
53106 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53107 378816 : ipack = ipack + 1
53108 378816 : packed_data(ipack) = pack_tmp
53109 378816 : data_tmp = full_data(idata)
53110 378816 : pack_tmp = ISHFT(data_tmp, 30)
53111 378816 : pack_tmp = ISHFT(pack_tmp, -30)
53112 378816 : idata = idata + 1
53113 378816 : data_tmp = full_data(idata)
53114 378816 : data_tmp = ISHFT(data_tmp, 1)
53115 378816 : data_tmp = IAND(data_tmp, mask_left(30))
53116 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53117 378816 : ipack = ipack + 1
53118 378816 : packed_data(ipack) = pack_tmp
53119 378816 : data_tmp = full_data(idata)
53120 378816 : pack_tmp = ISHFT(data_tmp, 31)
53121 378816 : pack_tmp = ISHFT(pack_tmp, -31)
53122 378816 : idata = idata + 1
53123 378816 : data_tmp = full_data(idata)
53124 378816 : data_tmp = ISHFT(data_tmp, 1)
53125 378816 : data_tmp = IAND(data_tmp, mask_left(31))
53126 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53127 378816 : ipack = ipack + 1
53128 378816 : packed_data(ipack) = pack_tmp
53129 378816 : data_tmp = full_data(idata)
53130 378816 : pack_tmp = ISHFT(data_tmp, 32)
53131 378816 : pack_tmp = ISHFT(pack_tmp, -32)
53132 378816 : idata = idata + 1
53133 378816 : data_tmp = full_data(idata)
53134 378816 : data_tmp = ISHFT(data_tmp, 1)
53135 378816 : data_tmp = IAND(data_tmp, mask_left(32))
53136 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53137 378816 : ipack = ipack + 1
53138 378816 : packed_data(ipack) = pack_tmp
53139 378816 : data_tmp = full_data(idata)
53140 378816 : pack_tmp = ISHFT(data_tmp, 33)
53141 378816 : pack_tmp = ISHFT(pack_tmp, -33)
53142 378816 : idata = idata + 1
53143 378816 : data_tmp = full_data(idata)
53144 378816 : data_tmp = ISHFT(data_tmp, 1)
53145 378816 : data_tmp = IAND(data_tmp, mask_left(33))
53146 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53147 378816 : ipack = ipack + 1
53148 378816 : packed_data(ipack) = pack_tmp
53149 378816 : data_tmp = full_data(idata)
53150 378816 : pack_tmp = ISHFT(data_tmp, 34)
53151 378816 : pack_tmp = ISHFT(pack_tmp, -34)
53152 378816 : idata = idata + 1
53153 378816 : data_tmp = full_data(idata)
53154 378816 : data_tmp = ISHFT(data_tmp, 1)
53155 378816 : data_tmp = IAND(data_tmp, mask_left(34))
53156 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53157 378816 : ipack = ipack + 1
53158 378816 : packed_data(ipack) = pack_tmp
53159 378816 : data_tmp = full_data(idata)
53160 378816 : pack_tmp = ISHFT(data_tmp, 35)
53161 378816 : pack_tmp = ISHFT(pack_tmp, -35)
53162 378816 : idata = idata + 1
53163 378816 : data_tmp = full_data(idata)
53164 378816 : data_tmp = ISHFT(data_tmp, 1)
53165 378816 : data_tmp = IAND(data_tmp, mask_left(35))
53166 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53167 378816 : ipack = ipack + 1
53168 378816 : packed_data(ipack) = pack_tmp
53169 378816 : data_tmp = full_data(idata)
53170 378816 : pack_tmp = ISHFT(data_tmp, 36)
53171 378816 : pack_tmp = ISHFT(pack_tmp, -36)
53172 378816 : idata = idata + 1
53173 378816 : data_tmp = full_data(idata)
53174 378816 : data_tmp = ISHFT(data_tmp, 1)
53175 378816 : data_tmp = IAND(data_tmp, mask_left(36))
53176 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53177 378816 : ipack = ipack + 1
53178 378816 : packed_data(ipack) = pack_tmp
53179 378816 : data_tmp = full_data(idata)
53180 378816 : pack_tmp = ISHFT(data_tmp, 37)
53181 378816 : pack_tmp = ISHFT(pack_tmp, -37)
53182 378816 : idata = idata + 1
53183 378816 : data_tmp = full_data(idata)
53184 378816 : data_tmp = ISHFT(data_tmp, 1)
53185 378816 : data_tmp = IAND(data_tmp, mask_left(37))
53186 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53187 378816 : ipack = ipack + 1
53188 378816 : packed_data(ipack) = pack_tmp
53189 378816 : data_tmp = full_data(idata)
53190 378816 : pack_tmp = ISHFT(data_tmp, 38)
53191 378816 : pack_tmp = ISHFT(pack_tmp, -38)
53192 378816 : idata = idata + 1
53193 378816 : data_tmp = full_data(idata)
53194 378816 : data_tmp = ISHFT(data_tmp, 1)
53195 378816 : data_tmp = IAND(data_tmp, mask_left(38))
53196 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53197 378816 : ipack = ipack + 1
53198 378816 : packed_data(ipack) = pack_tmp
53199 378816 : data_tmp = full_data(idata)
53200 378816 : pack_tmp = ISHFT(data_tmp, 39)
53201 378816 : pack_tmp = ISHFT(pack_tmp, -39)
53202 378816 : idata = idata + 1
53203 378816 : data_tmp = full_data(idata)
53204 378816 : data_tmp = ISHFT(data_tmp, 1)
53205 378816 : data_tmp = IAND(data_tmp, mask_left(39))
53206 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53207 378816 : ipack = ipack + 1
53208 378816 : packed_data(ipack) = pack_tmp
53209 378816 : data_tmp = full_data(idata)
53210 378816 : pack_tmp = ISHFT(data_tmp, 40)
53211 378816 : pack_tmp = ISHFT(pack_tmp, -40)
53212 378816 : idata = idata + 1
53213 378816 : data_tmp = full_data(idata)
53214 378816 : data_tmp = ISHFT(data_tmp, 1)
53215 378816 : data_tmp = IAND(data_tmp, mask_left(40))
53216 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53217 378816 : ipack = ipack + 1
53218 378816 : packed_data(ipack) = pack_tmp
53219 378816 : data_tmp = full_data(idata)
53220 378816 : pack_tmp = ISHFT(data_tmp, 41)
53221 378816 : pack_tmp = ISHFT(pack_tmp, -41)
53222 378816 : idata = idata + 1
53223 378816 : data_tmp = full_data(idata)
53224 378816 : data_tmp = ISHFT(data_tmp, 1)
53225 378816 : data_tmp = IAND(data_tmp, mask_left(41))
53226 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53227 378816 : ipack = ipack + 1
53228 378816 : packed_data(ipack) = pack_tmp
53229 378816 : data_tmp = full_data(idata)
53230 378816 : pack_tmp = ISHFT(data_tmp, 42)
53231 378816 : pack_tmp = ISHFT(pack_tmp, -42)
53232 378816 : idata = idata + 1
53233 378816 : data_tmp = full_data(idata)
53234 378816 : data_tmp = ISHFT(data_tmp, 1)
53235 378816 : data_tmp = IAND(data_tmp, mask_left(42))
53236 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53237 378816 : ipack = ipack + 1
53238 378816 : packed_data(ipack) = pack_tmp
53239 378816 : data_tmp = full_data(idata)
53240 378816 : pack_tmp = ISHFT(data_tmp, 43)
53241 378816 : pack_tmp = ISHFT(pack_tmp, -43)
53242 378816 : idata = idata + 1
53243 378816 : data_tmp = full_data(idata)
53244 378816 : data_tmp = ISHFT(data_tmp, 1)
53245 378816 : data_tmp = IAND(data_tmp, mask_left(43))
53246 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53247 378816 : ipack = ipack + 1
53248 378816 : packed_data(ipack) = pack_tmp
53249 378816 : data_tmp = full_data(idata)
53250 378816 : pack_tmp = ISHFT(data_tmp, 44)
53251 378816 : pack_tmp = ISHFT(pack_tmp, -44)
53252 378816 : idata = idata + 1
53253 378816 : data_tmp = full_data(idata)
53254 378816 : data_tmp = ISHFT(data_tmp, 1)
53255 378816 : data_tmp = IAND(data_tmp, mask_left(44))
53256 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53257 378816 : ipack = ipack + 1
53258 378816 : packed_data(ipack) = pack_tmp
53259 378816 : data_tmp = full_data(idata)
53260 378816 : pack_tmp = ISHFT(data_tmp, 45)
53261 378816 : pack_tmp = ISHFT(pack_tmp, -45)
53262 378816 : idata = idata + 1
53263 378816 : data_tmp = full_data(idata)
53264 378816 : data_tmp = ISHFT(data_tmp, 1)
53265 378816 : data_tmp = IAND(data_tmp, mask_left(45))
53266 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53267 378816 : ipack = ipack + 1
53268 378816 : packed_data(ipack) = pack_tmp
53269 378816 : data_tmp = full_data(idata)
53270 378816 : pack_tmp = ISHFT(data_tmp, 46)
53271 378816 : pack_tmp = ISHFT(pack_tmp, -46)
53272 378816 : idata = idata + 1
53273 378816 : data_tmp = full_data(idata)
53274 378816 : data_tmp = ISHFT(data_tmp, 1)
53275 378816 : data_tmp = IAND(data_tmp, mask_left(46))
53276 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53277 378816 : ipack = ipack + 1
53278 378816 : packed_data(ipack) = pack_tmp
53279 378816 : data_tmp = full_data(idata)
53280 378816 : pack_tmp = ISHFT(data_tmp, 47)
53281 378816 : pack_tmp = ISHFT(pack_tmp, -47)
53282 378816 : idata = idata + 1
53283 378816 : data_tmp = full_data(idata)
53284 378816 : data_tmp = ISHFT(data_tmp, 1)
53285 378816 : data_tmp = IAND(data_tmp, mask_left(47))
53286 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53287 378816 : ipack = ipack + 1
53288 378816 : packed_data(ipack) = pack_tmp
53289 378816 : data_tmp = full_data(idata)
53290 378816 : pack_tmp = ISHFT(data_tmp, 48)
53291 378816 : pack_tmp = ISHFT(pack_tmp, -48)
53292 378816 : idata = idata + 1
53293 378816 : data_tmp = full_data(idata)
53294 378816 : data_tmp = ISHFT(data_tmp, 1)
53295 378816 : data_tmp = IAND(data_tmp, mask_left(48))
53296 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53297 378816 : ipack = ipack + 1
53298 378816 : packed_data(ipack) = pack_tmp
53299 378816 : data_tmp = full_data(idata)
53300 378816 : pack_tmp = ISHFT(data_tmp, 49)
53301 378816 : pack_tmp = ISHFT(pack_tmp, -49)
53302 378816 : idata = idata + 1
53303 378816 : data_tmp = full_data(idata)
53304 378816 : data_tmp = ISHFT(data_tmp, 1)
53305 378816 : data_tmp = IAND(data_tmp, mask_left(49))
53306 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53307 378816 : ipack = ipack + 1
53308 378816 : packed_data(ipack) = pack_tmp
53309 378816 : data_tmp = full_data(idata)
53310 378816 : pack_tmp = ISHFT(data_tmp, 50)
53311 378816 : pack_tmp = ISHFT(pack_tmp, -50)
53312 378816 : idata = idata + 1
53313 378816 : data_tmp = full_data(idata)
53314 378816 : data_tmp = ISHFT(data_tmp, 1)
53315 378816 : data_tmp = IAND(data_tmp, mask_left(50))
53316 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53317 378816 : ipack = ipack + 1
53318 378816 : packed_data(ipack) = pack_tmp
53319 378816 : data_tmp = full_data(idata)
53320 378816 : pack_tmp = ISHFT(data_tmp, 51)
53321 378816 : pack_tmp = ISHFT(pack_tmp, -51)
53322 378816 : idata = idata + 1
53323 378816 : data_tmp = full_data(idata)
53324 378816 : data_tmp = ISHFT(data_tmp, 1)
53325 378816 : data_tmp = IAND(data_tmp, mask_left(51))
53326 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53327 378816 : ipack = ipack + 1
53328 378816 : packed_data(ipack) = pack_tmp
53329 378816 : data_tmp = full_data(idata)
53330 378816 : pack_tmp = ISHFT(data_tmp, 52)
53331 378816 : pack_tmp = ISHFT(pack_tmp, -52)
53332 378816 : idata = idata + 1
53333 378816 : data_tmp = full_data(idata)
53334 378816 : data_tmp = ISHFT(data_tmp, 1)
53335 378816 : data_tmp = IAND(data_tmp, mask_left(52))
53336 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53337 378816 : ipack = ipack + 1
53338 378816 : packed_data(ipack) = pack_tmp
53339 378816 : data_tmp = full_data(idata)
53340 378816 : pack_tmp = ISHFT(data_tmp, 53)
53341 378816 : pack_tmp = ISHFT(pack_tmp, -53)
53342 378816 : idata = idata + 1
53343 378816 : data_tmp = full_data(idata)
53344 378816 : data_tmp = ISHFT(data_tmp, 1)
53345 378816 : data_tmp = IAND(data_tmp, mask_left(53))
53346 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53347 378816 : ipack = ipack + 1
53348 378816 : packed_data(ipack) = pack_tmp
53349 378816 : data_tmp = full_data(idata)
53350 378816 : pack_tmp = ISHFT(data_tmp, 54)
53351 378816 : pack_tmp = ISHFT(pack_tmp, -54)
53352 378816 : idata = idata + 1
53353 378816 : data_tmp = full_data(idata)
53354 378816 : data_tmp = ISHFT(data_tmp, 1)
53355 378816 : data_tmp = IAND(data_tmp, mask_left(54))
53356 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53357 378816 : ipack = ipack + 1
53358 378816 : packed_data(ipack) = pack_tmp
53359 378816 : data_tmp = full_data(idata)
53360 378816 : pack_tmp = ISHFT(data_tmp, 55)
53361 378816 : pack_tmp = ISHFT(pack_tmp, -55)
53362 378816 : idata = idata + 1
53363 378816 : data_tmp = full_data(idata)
53364 378816 : data_tmp = ISHFT(data_tmp, 1)
53365 378816 : data_tmp = IAND(data_tmp, mask_left(55))
53366 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53367 378816 : ipack = ipack + 1
53368 378816 : packed_data(ipack) = pack_tmp
53369 378816 : data_tmp = full_data(idata)
53370 378816 : pack_tmp = ISHFT(data_tmp, 56)
53371 378816 : pack_tmp = ISHFT(pack_tmp, -56)
53372 378816 : idata = idata + 1
53373 378816 : data_tmp = full_data(idata)
53374 378816 : data_tmp = ISHFT(data_tmp, 1)
53375 378816 : data_tmp = IAND(data_tmp, mask_left(56))
53376 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53377 378816 : ipack = ipack + 1
53378 378816 : packed_data(ipack) = pack_tmp
53379 378816 : data_tmp = full_data(idata)
53380 378816 : pack_tmp = ISHFT(data_tmp, 57)
53381 378816 : pack_tmp = ISHFT(pack_tmp, -57)
53382 378816 : idata = idata + 1
53383 378816 : data_tmp = full_data(idata)
53384 378816 : data_tmp = ISHFT(data_tmp, 1)
53385 378816 : data_tmp = IAND(data_tmp, mask_left(57))
53386 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53387 378816 : ipack = ipack + 1
53388 378816 : packed_data(ipack) = pack_tmp
53389 378816 : data_tmp = full_data(idata)
53390 378816 : pack_tmp = ISHFT(data_tmp, 58)
53391 378816 : pack_tmp = ISHFT(pack_tmp, -58)
53392 378816 : idata = idata + 1
53393 378816 : data_tmp = full_data(idata)
53394 378816 : data_tmp = ISHFT(data_tmp, 1)
53395 378816 : data_tmp = IAND(data_tmp, mask_left(58))
53396 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53397 378816 : ipack = ipack + 1
53398 378816 : packed_data(ipack) = pack_tmp
53399 378816 : data_tmp = full_data(idata)
53400 378816 : pack_tmp = ISHFT(data_tmp, 59)
53401 378816 : pack_tmp = ISHFT(pack_tmp, -59)
53402 378816 : idata = idata + 1
53403 378816 : data_tmp = full_data(idata)
53404 378816 : data_tmp = ISHFT(data_tmp, 1)
53405 378816 : data_tmp = IAND(data_tmp, mask_left(59))
53406 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53407 378816 : ipack = ipack + 1
53408 378816 : packed_data(ipack) = pack_tmp
53409 378816 : data_tmp = full_data(idata)
53410 378816 : pack_tmp = ISHFT(data_tmp, 60)
53411 378816 : pack_tmp = ISHFT(pack_tmp, -60)
53412 378816 : idata = idata + 1
53413 378816 : data_tmp = full_data(idata)
53414 378816 : data_tmp = ISHFT(data_tmp, 1)
53415 378816 : data_tmp = IAND(data_tmp, mask_left(60))
53416 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53417 378816 : ipack = ipack + 1
53418 378816 : packed_data(ipack) = pack_tmp
53419 378816 : data_tmp = full_data(idata)
53420 378816 : pack_tmp = ISHFT(data_tmp, 61)
53421 378816 : pack_tmp = ISHFT(pack_tmp, -61)
53422 378816 : idata = idata + 1
53423 378816 : data_tmp = full_data(idata)
53424 378816 : data_tmp = ISHFT(data_tmp, 1)
53425 378816 : data_tmp = IAND(data_tmp, mask_left(61))
53426 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53427 378816 : ipack = ipack + 1
53428 378816 : packed_data(ipack) = pack_tmp
53429 378816 : data_tmp = full_data(idata)
53430 378816 : pack_tmp = ISHFT(data_tmp, 62)
53431 378816 : pack_tmp = ISHFT(pack_tmp, -62)
53432 378816 : idata = idata + 1
53433 378816 : data_tmp = full_data(idata)
53434 378816 : data_tmp = ISHFT(data_tmp, 1)
53435 378816 : data_tmp = IAND(data_tmp, mask_left(62))
53436 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53437 378816 : ipack = ipack + 1
53438 378816 : packed_data(ipack) = pack_tmp
53439 378816 : data_tmp = full_data(idata)
53440 378816 : pack_tmp = ISHFT(data_tmp, 63)
53441 378816 : pack_tmp = ISHFT(pack_tmp, -63)
53442 378816 : idata = idata + 1
53443 378816 : data_tmp = full_data(idata)
53444 378816 : data_tmp = ISHFT(data_tmp, 1)
53445 378816 : pack_tmp = IOR(pack_tmp, data_tmp)
53446 : pack_tmp = ISHFT(pack_tmp, 0)
53447 378816 : pack_tmp = ISHFT(pack_tmp, 0)
53448 378816 : ipack = ipack + 1
53449 378816 : packed_data(ipack) = pack_tmp
53450 : END DO
53451 23676 : 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 23676 : END SUBROUTINE ints2bits_63
53455 :
53456 : ! **************************************************************************************************
53457 : !> \brief ...
53458 : !> \param Ndata ...
53459 : !> \param packed_data ...
53460 : !> \param full_data ...
53461 : ! **************************************************************************************************
53462 95427 : 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 95427 : ipack = 0
53473 95427 : idata = 0
53474 95427 : pack_tmp = 0
53475 95427 : Ndata_rep = (Ndata/64)*64
53476 95427 : DO kdata = 1, Ndata_rep, 64
53477 1526832 : idata = idata + 1
53478 1526832 : data_tmp = ISHFT(pack_tmp, 63)
53479 1526832 : ipack = ipack + 1
53480 1526832 : pack_tmp = packed_data(ipack)
53481 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(63)))
53482 1526832 : pack_tmp = ISHFT(pack_tmp, -63)
53483 1526832 : idata = idata + 1
53484 1526832 : data_tmp = ISHFT(pack_tmp, 62)
53485 1526832 : ipack = ipack + 1
53486 1526832 : pack_tmp = packed_data(ipack)
53487 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
53488 1526832 : pack_tmp = ISHFT(pack_tmp, -62)
53489 1526832 : idata = idata + 1
53490 1526832 : data_tmp = ISHFT(pack_tmp, 61)
53491 1526832 : ipack = ipack + 1
53492 1526832 : pack_tmp = packed_data(ipack)
53493 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(61)))
53494 1526832 : pack_tmp = ISHFT(pack_tmp, -61)
53495 1526832 : idata = idata + 1
53496 1526832 : data_tmp = ISHFT(pack_tmp, 60)
53497 1526832 : ipack = ipack + 1
53498 1526832 : pack_tmp = packed_data(ipack)
53499 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
53500 1526832 : pack_tmp = ISHFT(pack_tmp, -60)
53501 1526832 : idata = idata + 1
53502 1526832 : data_tmp = ISHFT(pack_tmp, 59)
53503 1526832 : ipack = ipack + 1
53504 1526832 : pack_tmp = packed_data(ipack)
53505 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
53506 1526832 : pack_tmp = ISHFT(pack_tmp, -59)
53507 1526832 : idata = idata + 1
53508 1526832 : data_tmp = ISHFT(pack_tmp, 58)
53509 1526832 : ipack = ipack + 1
53510 1526832 : pack_tmp = packed_data(ipack)
53511 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
53512 1526832 : pack_tmp = ISHFT(pack_tmp, -58)
53513 1526832 : idata = idata + 1
53514 1526832 : data_tmp = ISHFT(pack_tmp, 57)
53515 1526832 : ipack = ipack + 1
53516 1526832 : pack_tmp = packed_data(ipack)
53517 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
53518 1526832 : pack_tmp = ISHFT(pack_tmp, -57)
53519 1526832 : idata = idata + 1
53520 1526832 : data_tmp = ISHFT(pack_tmp, 56)
53521 1526832 : ipack = ipack + 1
53522 1526832 : pack_tmp = packed_data(ipack)
53523 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
53524 1526832 : pack_tmp = ISHFT(pack_tmp, -56)
53525 1526832 : idata = idata + 1
53526 1526832 : data_tmp = ISHFT(pack_tmp, 55)
53527 1526832 : ipack = ipack + 1
53528 1526832 : pack_tmp = packed_data(ipack)
53529 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
53530 1526832 : pack_tmp = ISHFT(pack_tmp, -55)
53531 1526832 : idata = idata + 1
53532 1526832 : data_tmp = ISHFT(pack_tmp, 54)
53533 1526832 : ipack = ipack + 1
53534 1526832 : pack_tmp = packed_data(ipack)
53535 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
53536 1526832 : pack_tmp = ISHFT(pack_tmp, -54)
53537 1526832 : idata = idata + 1
53538 1526832 : data_tmp = ISHFT(pack_tmp, 53)
53539 1526832 : ipack = ipack + 1
53540 1526832 : pack_tmp = packed_data(ipack)
53541 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
53542 1526832 : pack_tmp = ISHFT(pack_tmp, -53)
53543 1526832 : idata = idata + 1
53544 1526832 : data_tmp = ISHFT(pack_tmp, 52)
53545 1526832 : ipack = ipack + 1
53546 1526832 : pack_tmp = packed_data(ipack)
53547 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
53548 1526832 : pack_tmp = ISHFT(pack_tmp, -52)
53549 1526832 : idata = idata + 1
53550 1526832 : data_tmp = ISHFT(pack_tmp, 51)
53551 1526832 : ipack = ipack + 1
53552 1526832 : pack_tmp = packed_data(ipack)
53553 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
53554 1526832 : pack_tmp = ISHFT(pack_tmp, -51)
53555 1526832 : idata = idata + 1
53556 1526832 : data_tmp = ISHFT(pack_tmp, 50)
53557 1526832 : ipack = ipack + 1
53558 1526832 : pack_tmp = packed_data(ipack)
53559 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
53560 1526832 : pack_tmp = ISHFT(pack_tmp, -50)
53561 1526832 : idata = idata + 1
53562 1526832 : data_tmp = ISHFT(pack_tmp, 49)
53563 1526832 : ipack = ipack + 1
53564 1526832 : pack_tmp = packed_data(ipack)
53565 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
53566 1526832 : pack_tmp = ISHFT(pack_tmp, -49)
53567 1526832 : idata = idata + 1
53568 1526832 : data_tmp = ISHFT(pack_tmp, 48)
53569 1526832 : ipack = ipack + 1
53570 1526832 : pack_tmp = packed_data(ipack)
53571 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
53572 1526832 : pack_tmp = ISHFT(pack_tmp, -48)
53573 1526832 : idata = idata + 1
53574 1526832 : data_tmp = ISHFT(pack_tmp, 47)
53575 1526832 : ipack = ipack + 1
53576 1526832 : pack_tmp = packed_data(ipack)
53577 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
53578 1526832 : pack_tmp = ISHFT(pack_tmp, -47)
53579 1526832 : idata = idata + 1
53580 1526832 : data_tmp = ISHFT(pack_tmp, 46)
53581 1526832 : ipack = ipack + 1
53582 1526832 : pack_tmp = packed_data(ipack)
53583 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
53584 1526832 : pack_tmp = ISHFT(pack_tmp, -46)
53585 1526832 : idata = idata + 1
53586 1526832 : data_tmp = ISHFT(pack_tmp, 45)
53587 1526832 : ipack = ipack + 1
53588 1526832 : pack_tmp = packed_data(ipack)
53589 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
53590 1526832 : pack_tmp = ISHFT(pack_tmp, -45)
53591 1526832 : idata = idata + 1
53592 1526832 : data_tmp = ISHFT(pack_tmp, 44)
53593 1526832 : ipack = ipack + 1
53594 1526832 : pack_tmp = packed_data(ipack)
53595 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
53596 1526832 : pack_tmp = ISHFT(pack_tmp, -44)
53597 1526832 : idata = idata + 1
53598 1526832 : data_tmp = ISHFT(pack_tmp, 43)
53599 1526832 : ipack = ipack + 1
53600 1526832 : pack_tmp = packed_data(ipack)
53601 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
53602 1526832 : pack_tmp = ISHFT(pack_tmp, -43)
53603 1526832 : idata = idata + 1
53604 1526832 : data_tmp = ISHFT(pack_tmp, 42)
53605 1526832 : ipack = ipack + 1
53606 1526832 : pack_tmp = packed_data(ipack)
53607 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
53608 1526832 : pack_tmp = ISHFT(pack_tmp, -42)
53609 1526832 : idata = idata + 1
53610 1526832 : data_tmp = ISHFT(pack_tmp, 41)
53611 1526832 : ipack = ipack + 1
53612 1526832 : pack_tmp = packed_data(ipack)
53613 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
53614 1526832 : pack_tmp = ISHFT(pack_tmp, -41)
53615 1526832 : idata = idata + 1
53616 1526832 : data_tmp = ISHFT(pack_tmp, 40)
53617 1526832 : ipack = ipack + 1
53618 1526832 : pack_tmp = packed_data(ipack)
53619 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
53620 1526832 : pack_tmp = ISHFT(pack_tmp, -40)
53621 1526832 : idata = idata + 1
53622 1526832 : data_tmp = ISHFT(pack_tmp, 39)
53623 1526832 : ipack = ipack + 1
53624 1526832 : pack_tmp = packed_data(ipack)
53625 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
53626 1526832 : pack_tmp = ISHFT(pack_tmp, -39)
53627 1526832 : idata = idata + 1
53628 1526832 : data_tmp = ISHFT(pack_tmp, 38)
53629 1526832 : ipack = ipack + 1
53630 1526832 : pack_tmp = packed_data(ipack)
53631 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
53632 1526832 : pack_tmp = ISHFT(pack_tmp, -38)
53633 1526832 : idata = idata + 1
53634 1526832 : data_tmp = ISHFT(pack_tmp, 37)
53635 1526832 : ipack = ipack + 1
53636 1526832 : pack_tmp = packed_data(ipack)
53637 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
53638 1526832 : pack_tmp = ISHFT(pack_tmp, -37)
53639 1526832 : idata = idata + 1
53640 1526832 : data_tmp = ISHFT(pack_tmp, 36)
53641 1526832 : ipack = ipack + 1
53642 1526832 : pack_tmp = packed_data(ipack)
53643 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
53644 1526832 : pack_tmp = ISHFT(pack_tmp, -36)
53645 1526832 : idata = idata + 1
53646 1526832 : data_tmp = ISHFT(pack_tmp, 35)
53647 1526832 : ipack = ipack + 1
53648 1526832 : pack_tmp = packed_data(ipack)
53649 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
53650 1526832 : pack_tmp = ISHFT(pack_tmp, -35)
53651 1526832 : idata = idata + 1
53652 1526832 : data_tmp = ISHFT(pack_tmp, 34)
53653 1526832 : ipack = ipack + 1
53654 1526832 : pack_tmp = packed_data(ipack)
53655 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
53656 1526832 : pack_tmp = ISHFT(pack_tmp, -34)
53657 1526832 : idata = idata + 1
53658 1526832 : data_tmp = ISHFT(pack_tmp, 33)
53659 1526832 : ipack = ipack + 1
53660 1526832 : pack_tmp = packed_data(ipack)
53661 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
53662 1526832 : pack_tmp = ISHFT(pack_tmp, -33)
53663 1526832 : idata = idata + 1
53664 1526832 : data_tmp = ISHFT(pack_tmp, 32)
53665 1526832 : ipack = ipack + 1
53666 1526832 : pack_tmp = packed_data(ipack)
53667 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
53668 1526832 : pack_tmp = ISHFT(pack_tmp, -32)
53669 1526832 : idata = idata + 1
53670 1526832 : data_tmp = ISHFT(pack_tmp, 31)
53671 1526832 : ipack = ipack + 1
53672 1526832 : pack_tmp = packed_data(ipack)
53673 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
53674 1526832 : pack_tmp = ISHFT(pack_tmp, -31)
53675 1526832 : idata = idata + 1
53676 1526832 : data_tmp = ISHFT(pack_tmp, 30)
53677 1526832 : ipack = ipack + 1
53678 1526832 : pack_tmp = packed_data(ipack)
53679 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
53680 1526832 : pack_tmp = ISHFT(pack_tmp, -30)
53681 1526832 : idata = idata + 1
53682 1526832 : data_tmp = ISHFT(pack_tmp, 29)
53683 1526832 : ipack = ipack + 1
53684 1526832 : pack_tmp = packed_data(ipack)
53685 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
53686 1526832 : pack_tmp = ISHFT(pack_tmp, -29)
53687 1526832 : idata = idata + 1
53688 1526832 : data_tmp = ISHFT(pack_tmp, 28)
53689 1526832 : ipack = ipack + 1
53690 1526832 : pack_tmp = packed_data(ipack)
53691 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
53692 1526832 : pack_tmp = ISHFT(pack_tmp, -28)
53693 1526832 : idata = idata + 1
53694 1526832 : data_tmp = ISHFT(pack_tmp, 27)
53695 1526832 : ipack = ipack + 1
53696 1526832 : pack_tmp = packed_data(ipack)
53697 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
53698 1526832 : pack_tmp = ISHFT(pack_tmp, -27)
53699 1526832 : idata = idata + 1
53700 1526832 : data_tmp = ISHFT(pack_tmp, 26)
53701 1526832 : ipack = ipack + 1
53702 1526832 : pack_tmp = packed_data(ipack)
53703 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
53704 1526832 : pack_tmp = ISHFT(pack_tmp, -26)
53705 1526832 : idata = idata + 1
53706 1526832 : data_tmp = ISHFT(pack_tmp, 25)
53707 1526832 : ipack = ipack + 1
53708 1526832 : pack_tmp = packed_data(ipack)
53709 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
53710 1526832 : pack_tmp = ISHFT(pack_tmp, -25)
53711 1526832 : idata = idata + 1
53712 1526832 : data_tmp = ISHFT(pack_tmp, 24)
53713 1526832 : ipack = ipack + 1
53714 1526832 : pack_tmp = packed_data(ipack)
53715 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
53716 1526832 : pack_tmp = ISHFT(pack_tmp, -24)
53717 1526832 : idata = idata + 1
53718 1526832 : data_tmp = ISHFT(pack_tmp, 23)
53719 1526832 : ipack = ipack + 1
53720 1526832 : pack_tmp = packed_data(ipack)
53721 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
53722 1526832 : pack_tmp = ISHFT(pack_tmp, -23)
53723 1526832 : idata = idata + 1
53724 1526832 : data_tmp = ISHFT(pack_tmp, 22)
53725 1526832 : ipack = ipack + 1
53726 1526832 : pack_tmp = packed_data(ipack)
53727 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
53728 1526832 : pack_tmp = ISHFT(pack_tmp, -22)
53729 1526832 : idata = idata + 1
53730 1526832 : data_tmp = ISHFT(pack_tmp, 21)
53731 1526832 : ipack = ipack + 1
53732 1526832 : pack_tmp = packed_data(ipack)
53733 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
53734 1526832 : pack_tmp = ISHFT(pack_tmp, -21)
53735 1526832 : idata = idata + 1
53736 1526832 : data_tmp = ISHFT(pack_tmp, 20)
53737 1526832 : ipack = ipack + 1
53738 1526832 : pack_tmp = packed_data(ipack)
53739 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
53740 1526832 : pack_tmp = ISHFT(pack_tmp, -20)
53741 1526832 : idata = idata + 1
53742 1526832 : data_tmp = ISHFT(pack_tmp, 19)
53743 1526832 : ipack = ipack + 1
53744 1526832 : pack_tmp = packed_data(ipack)
53745 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
53746 1526832 : pack_tmp = ISHFT(pack_tmp, -19)
53747 1526832 : idata = idata + 1
53748 1526832 : data_tmp = ISHFT(pack_tmp, 18)
53749 1526832 : ipack = ipack + 1
53750 1526832 : pack_tmp = packed_data(ipack)
53751 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
53752 1526832 : pack_tmp = ISHFT(pack_tmp, -18)
53753 1526832 : idata = idata + 1
53754 1526832 : data_tmp = ISHFT(pack_tmp, 17)
53755 1526832 : ipack = ipack + 1
53756 1526832 : pack_tmp = packed_data(ipack)
53757 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
53758 1526832 : pack_tmp = ISHFT(pack_tmp, -17)
53759 1526832 : idata = idata + 1
53760 1526832 : data_tmp = ISHFT(pack_tmp, 16)
53761 1526832 : ipack = ipack + 1
53762 1526832 : pack_tmp = packed_data(ipack)
53763 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
53764 1526832 : pack_tmp = ISHFT(pack_tmp, -16)
53765 1526832 : idata = idata + 1
53766 1526832 : data_tmp = ISHFT(pack_tmp, 15)
53767 1526832 : ipack = ipack + 1
53768 1526832 : pack_tmp = packed_data(ipack)
53769 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
53770 1526832 : pack_tmp = ISHFT(pack_tmp, -15)
53771 1526832 : idata = idata + 1
53772 1526832 : data_tmp = ISHFT(pack_tmp, 14)
53773 1526832 : ipack = ipack + 1
53774 1526832 : pack_tmp = packed_data(ipack)
53775 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
53776 1526832 : pack_tmp = ISHFT(pack_tmp, -14)
53777 1526832 : idata = idata + 1
53778 1526832 : data_tmp = ISHFT(pack_tmp, 13)
53779 1526832 : ipack = ipack + 1
53780 1526832 : pack_tmp = packed_data(ipack)
53781 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
53782 1526832 : pack_tmp = ISHFT(pack_tmp, -13)
53783 1526832 : idata = idata + 1
53784 1526832 : data_tmp = ISHFT(pack_tmp, 12)
53785 1526832 : ipack = ipack + 1
53786 1526832 : pack_tmp = packed_data(ipack)
53787 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
53788 1526832 : pack_tmp = ISHFT(pack_tmp, -12)
53789 1526832 : idata = idata + 1
53790 1526832 : data_tmp = ISHFT(pack_tmp, 11)
53791 1526832 : ipack = ipack + 1
53792 1526832 : pack_tmp = packed_data(ipack)
53793 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
53794 1526832 : pack_tmp = ISHFT(pack_tmp, -11)
53795 1526832 : idata = idata + 1
53796 1526832 : data_tmp = ISHFT(pack_tmp, 10)
53797 1526832 : ipack = ipack + 1
53798 1526832 : pack_tmp = packed_data(ipack)
53799 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
53800 1526832 : pack_tmp = ISHFT(pack_tmp, -10)
53801 1526832 : idata = idata + 1
53802 1526832 : data_tmp = ISHFT(pack_tmp, 9)
53803 1526832 : ipack = ipack + 1
53804 1526832 : pack_tmp = packed_data(ipack)
53805 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
53806 1526832 : pack_tmp = ISHFT(pack_tmp, -9)
53807 1526832 : idata = idata + 1
53808 1526832 : data_tmp = ISHFT(pack_tmp, 8)
53809 1526832 : ipack = ipack + 1
53810 1526832 : pack_tmp = packed_data(ipack)
53811 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
53812 1526832 : pack_tmp = ISHFT(pack_tmp, -8)
53813 1526832 : idata = idata + 1
53814 1526832 : data_tmp = ISHFT(pack_tmp, 7)
53815 1526832 : ipack = ipack + 1
53816 1526832 : pack_tmp = packed_data(ipack)
53817 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
53818 1526832 : pack_tmp = ISHFT(pack_tmp, -7)
53819 1526832 : idata = idata + 1
53820 1526832 : data_tmp = ISHFT(pack_tmp, 6)
53821 1526832 : ipack = ipack + 1
53822 1526832 : pack_tmp = packed_data(ipack)
53823 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
53824 1526832 : pack_tmp = ISHFT(pack_tmp, -6)
53825 1526832 : idata = idata + 1
53826 1526832 : data_tmp = ISHFT(pack_tmp, 5)
53827 1526832 : ipack = ipack + 1
53828 1526832 : pack_tmp = packed_data(ipack)
53829 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
53830 1526832 : pack_tmp = ISHFT(pack_tmp, -5)
53831 1526832 : idata = idata + 1
53832 1526832 : data_tmp = ISHFT(pack_tmp, 4)
53833 1526832 : ipack = ipack + 1
53834 1526832 : pack_tmp = packed_data(ipack)
53835 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
53836 1526832 : pack_tmp = ISHFT(pack_tmp, -4)
53837 1526832 : idata = idata + 1
53838 1526832 : data_tmp = ISHFT(pack_tmp, 3)
53839 1526832 : ipack = ipack + 1
53840 1526832 : pack_tmp = packed_data(ipack)
53841 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
53842 1526832 : pack_tmp = ISHFT(pack_tmp, -3)
53843 1526832 : idata = idata + 1
53844 1526832 : data_tmp = ISHFT(pack_tmp, 2)
53845 1526832 : ipack = ipack + 1
53846 1526832 : pack_tmp = packed_data(ipack)
53847 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
53848 1526832 : pack_tmp = ISHFT(pack_tmp, -2)
53849 1526832 : idata = idata + 1
53850 1526832 : data_tmp = ISHFT(pack_tmp, 1)
53851 1526832 : ipack = ipack + 1
53852 1526832 : pack_tmp = packed_data(ipack)
53853 1526832 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
53854 1526832 : pack_tmp = ISHFT(pack_tmp, -1)
53855 1526832 : idata = idata + 1
53856 1526832 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
53857 1526832 : full_data(idata) = data_tmp
53858 1526832 : pack_tmp = ISHFT(pack_tmp, -Nbits)
53859 : END DO
53860 95427 : 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 95427 : END SUBROUTINE bits2ints_63
53864 :
53865 : ! **************************************************************************************************
53866 : !> \brief ...
53867 : !> \param Nbits ...
53868 : !> \param Ndata ...
53869 : !> \param packed_data ...
53870 : !> \param full_data ...
53871 : ! **************************************************************************************************
53872 2013039 : 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 2036715 : SELECT CASE (Nbits)
53878 : CASE (1)
53879 23676 : CALL ints2bits_1(Ndata, packed_data, full_data)
53880 : CASE (2)
53881 23676 : CALL ints2bits_2(Ndata, packed_data, full_data)
53882 : CASE (3)
53883 23924 : CALL ints2bits_3(Ndata, packed_data, full_data)
53884 : CASE (4)
53885 24027 : CALL ints2bits_4(Ndata, packed_data, full_data)
53886 : CASE (5)
53887 23911 : CALL ints2bits_5(Ndata, packed_data, full_data)
53888 : CASE (6)
53889 51506 : CALL ints2bits_6(Ndata, packed_data, full_data)
53890 : CASE (7)
53891 24032 : CALL ints2bits_7(Ndata, packed_data, full_data)
53892 : CASE (8)
53893 24021 : CALL ints2bits_8(Ndata, packed_data, full_data)
53894 : CASE (9)
53895 23980 : CALL ints2bits_9(Ndata, packed_data, full_data)
53896 : CASE (10)
53897 50461 : CALL ints2bits_10(Ndata, packed_data, full_data)
53898 : CASE (11)
53899 26434 : CALL ints2bits_11(Ndata, packed_data, full_data)
53900 : CASE (12)
53901 26677 : CALL ints2bits_12(Ndata, packed_data, full_data)
53902 : CASE (13)
53903 28079 : CALL ints2bits_13(Ndata, packed_data, full_data)
53904 : CASE (14)
53905 27125 : CALL ints2bits_14(Ndata, packed_data, full_data)
53906 : CASE (15)
53907 27440 : CALL ints2bits_15(Ndata, packed_data, full_data)
53908 : CASE (16)
53909 28303 : CALL ints2bits_16(Ndata, packed_data, full_data)
53910 : CASE (17)
53911 31815 : CALL ints2bits_17(Ndata, packed_data, full_data)
53912 : CASE (18)
53913 32716 : CALL ints2bits_18(Ndata, packed_data, full_data)
53914 : CASE (19)
53915 30451 : CALL ints2bits_19(Ndata, packed_data, full_data)
53916 : CASE (20)
53917 41404 : CALL ints2bits_20(Ndata, packed_data, full_data)
53918 : CASE (21)
53919 29421 : CALL ints2bits_21(Ndata, packed_data, full_data)
53920 : CASE (22)
53921 29274 : CALL ints2bits_22(Ndata, packed_data, full_data)
53922 : CASE (23)
53923 73600 : CALL ints2bits_23(Ndata, packed_data, full_data)
53924 : CASE (24)
53925 36154 : CALL ints2bits_24(Ndata, packed_data, full_data)
53926 : CASE (25)
53927 37335 : CALL ints2bits_25(Ndata, packed_data, full_data)
53928 : CASE (26)
53929 30074 : CALL ints2bits_26(Ndata, packed_data, full_data)
53930 : CASE (27)
53931 29599 : CALL ints2bits_27(Ndata, packed_data, full_data)
53932 : CASE (28)
53933 33859 : CALL ints2bits_28(Ndata, packed_data, full_data)
53934 : CASE (29)
53935 36874 : CALL ints2bits_29(Ndata, packed_data, full_data)
53936 : CASE (30)
53937 43675 : CALL ints2bits_30(Ndata, packed_data, full_data)
53938 : CASE (31)
53939 43662 : CALL ints2bits_31(Ndata, packed_data, full_data)
53940 : CASE (32)
53941 52054 : CALL ints2bits_32(Ndata, packed_data, full_data)
53942 : CASE (33)
53943 53528 : CALL ints2bits_33(Ndata, packed_data, full_data)
53944 : CASE (34)
53945 46930 : CALL ints2bits_34(Ndata, packed_data, full_data)
53946 : CASE (35)
53947 47196 : CALL ints2bits_35(Ndata, packed_data, full_data)
53948 : CASE (36)
53949 47706 : CALL ints2bits_36(Ndata, packed_data, full_data)
53950 : CASE (37)
53951 35361 : CALL ints2bits_37(Ndata, packed_data, full_data)
53952 : CASE (38)
53953 32708 : CALL ints2bits_38(Ndata, packed_data, full_data)
53954 : CASE (39)
53955 28448 : CALL ints2bits_39(Ndata, packed_data, full_data)
53956 : CASE (40)
53957 27201 : CALL ints2bits_40(Ndata, packed_data, full_data)
53958 : CASE (41)
53959 27001 : CALL ints2bits_41(Ndata, packed_data, full_data)
53960 : CASE (42)
53961 25381 : CALL ints2bits_42(Ndata, packed_data, full_data)
53962 : CASE (43)
53963 26037 : CALL ints2bits_43(Ndata, packed_data, full_data)
53964 : CASE (44)
53965 27513 : CALL ints2bits_44(Ndata, packed_data, full_data)
53966 : CASE (45)
53967 29155 : CALL ints2bits_45(Ndata, packed_data, full_data)
53968 : CASE (46)
53969 28676 : CALL ints2bits_46(Ndata, packed_data, full_data)
53970 : CASE (47)
53971 26112 : CALL ints2bits_47(Ndata, packed_data, full_data)
53972 : CASE (48)
53973 26673 : CALL ints2bits_48(Ndata, packed_data, full_data)
53974 : CASE (49)
53975 25532 : CALL ints2bits_49(Ndata, packed_data, full_data)
53976 : CASE (50)
53977 25110 : CALL ints2bits_50(Ndata, packed_data, full_data)
53978 : CASE (51)
53979 24160 : CALL ints2bits_51(Ndata, packed_data, full_data)
53980 : CASE (52)
53981 24186 : CALL ints2bits_52(Ndata, packed_data, full_data)
53982 : CASE (53)
53983 24176 : CALL ints2bits_53(Ndata, packed_data, full_data)
53984 : CASE (54)
53985 24054 : CALL ints2bits_54(Ndata, packed_data, full_data)
53986 : CASE (55)
53987 23972 : CALL ints2bits_55(Ndata, packed_data, full_data)
53988 : CASE (56)
53989 23814 : CALL ints2bits_56(Ndata, packed_data, full_data)
53990 : CASE (57)
53991 23738 : CALL ints2bits_57(Ndata, packed_data, full_data)
53992 : CASE (58)
53993 23700 : CALL ints2bits_58(Ndata, packed_data, full_data)
53994 : CASE (59)
53995 23676 : CALL ints2bits_59(Ndata, packed_data, full_data)
53996 : CASE (60)
53997 23676 : CALL ints2bits_60(Ndata, packed_data, full_data)
53998 : CASE (61)
53999 23676 : CALL ints2bits_61(Ndata, packed_data, full_data)
54000 : CASE (62)
54001 23676 : CALL ints2bits_62(Ndata, packed_data, full_data)
54002 : CASE (63)
54003 2013039 : CALL ints2bits_63(Ndata, packed_data, full_data)
54004 : END SELECT
54005 2013039 : END SUBROUTINE ints2bits_specific
54006 :
54007 : ! **************************************************************************************************
54008 : !> \brief ...
54009 : !> \param Nbits ...
54010 : !> \param Ndata ...
54011 : !> \param packed_data ...
54012 : !> \param full_data ...
54013 : ! **************************************************************************************************
54014 9262451 : 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 9357878 : SELECT CASE (Nbits)
54020 : CASE (1)
54021 95427 : CALL bits2ints_1(Ndata, packed_data, full_data)
54022 : CASE (2)
54023 95427 : CALL bits2ints_2(Ndata, packed_data, full_data)
54024 : CASE (3)
54025 96813 : CALL bits2ints_3(Ndata, packed_data, full_data)
54026 : CASE (4)
54027 97628 : CALL bits2ints_4(Ndata, packed_data, full_data)
54028 : CASE (5)
54029 96652 : CALL bits2ints_5(Ndata, packed_data, full_data)
54030 : CASE (6)
54031 245676 : CALL bits2ints_6(Ndata, packed_data, full_data)
54032 : CASE (7)
54033 98938 : CALL bits2ints_7(Ndata, packed_data, full_data)
54034 : CASE (8)
54035 98992 : CALL bits2ints_8(Ndata, packed_data, full_data)
54036 : CASE (9)
54037 98330 : CALL bits2ints_9(Ndata, packed_data, full_data)
54038 : CASE (10)
54039 303538 : CALL bits2ints_10(Ndata, packed_data, full_data)
54040 : CASE (11)
54041 117016 : CALL bits2ints_11(Ndata, packed_data, full_data)
54042 : CASE (12)
54043 118896 : CALL bits2ints_12(Ndata, packed_data, full_data)
54044 : CASE (13)
54045 131111 : CALL bits2ints_13(Ndata, packed_data, full_data)
54046 : CASE (14)
54047 122833 : CALL bits2ints_14(Ndata, packed_data, full_data)
54048 : CASE (15)
54049 124919 : CALL bits2ints_15(Ndata, packed_data, full_data)
54050 : CASE (16)
54051 137247 : CALL bits2ints_16(Ndata, packed_data, full_data)
54052 : CASE (17)
54053 162945 : CALL bits2ints_17(Ndata, packed_data, full_data)
54054 : CASE (18)
54055 170130 : CALL bits2ints_18(Ndata, packed_data, full_data)
54056 : CASE (19)
54057 154065 : CALL bits2ints_19(Ndata, packed_data, full_data)
54058 : CASE (20)
54059 283358 : CALL bits2ints_20(Ndata, packed_data, full_data)
54060 : CASE (21)
54061 150602 : CALL bits2ints_21(Ndata, packed_data, full_data)
54062 : CASE (22)
54063 150241 : CALL bits2ints_22(Ndata, packed_data, full_data)
54064 : CASE (23)
54065 228106 : CALL bits2ints_23(Ndata, packed_data, full_data)
54066 : CASE (24)
54067 160649 : CALL bits2ints_24(Ndata, packed_data, full_data)
54068 : CASE (25)
54069 161635 : CALL bits2ints_25(Ndata, packed_data, full_data)
54070 : CASE (26)
54071 133453 : CALL bits2ints_26(Ndata, packed_data, full_data)
54072 : CASE (27)
54073 133508 : CALL bits2ints_27(Ndata, packed_data, full_data)
54074 : CASE (28)
54075 156675 : CALL bits2ints_28(Ndata, packed_data, full_data)
54076 : CASE (29)
54077 177182 : CALL bits2ints_29(Ndata, packed_data, full_data)
54078 : CASE (30)
54079 227012 : CALL bits2ints_30(Ndata, packed_data, full_data)
54080 : CASE (31)
54081 273627 : CALL bits2ints_31(Ndata, packed_data, full_data)
54082 : CASE (32)
54083 351331 : CALL bits2ints_32(Ndata, packed_data, full_data)
54084 : CASE (33)
54085 266283 : CALL bits2ints_33(Ndata, packed_data, full_data)
54086 : CASE (34)
54087 218091 : CALL bits2ints_34(Ndata, packed_data, full_data)
54088 : CASE (35)
54089 226489 : CALL bits2ints_35(Ndata, packed_data, full_data)
54090 : CASE (36)
54091 175724 : CALL bits2ints_36(Ndata, packed_data, full_data)
54092 : CASE (37)
54093 148846 : CALL bits2ints_37(Ndata, packed_data, full_data)
54094 : CASE (38)
54095 162352 : CALL bits2ints_38(Ndata, packed_data, full_data)
54096 : CASE (39)
54097 125761 : CALL bits2ints_39(Ndata, packed_data, full_data)
54098 : CASE (40)
54099 126699 : CALL bits2ints_40(Ndata, packed_data, full_data)
54100 : CASE (41)
54101 131175 : CALL bits2ints_41(Ndata, packed_data, full_data)
54102 : CASE (42)
54103 116082 : CALL bits2ints_42(Ndata, packed_data, full_data)
54104 : CASE (43)
54105 115867 : CALL bits2ints_43(Ndata, packed_data, full_data)
54106 : CASE (44)
54107 123340 : CALL bits2ints_44(Ndata, packed_data, full_data)
54108 : CASE (45)
54109 132204 : CALL bits2ints_45(Ndata, packed_data, full_data)
54110 : CASE (46)
54111 119985 : CALL bits2ints_46(Ndata, packed_data, full_data)
54112 : CASE (47)
54113 114730 : CALL bits2ints_47(Ndata, packed_data, full_data)
54114 : CASE (48)
54115 112296 : CALL bits2ints_48(Ndata, packed_data, full_data)
54116 : CASE (49)
54117 101717 : CALL bits2ints_49(Ndata, packed_data, full_data)
54118 : CASE (50)
54119 99829 : CALL bits2ints_50(Ndata, packed_data, full_data)
54120 : CASE (51)
54121 98507 : CALL bits2ints_51(Ndata, packed_data, full_data)
54122 : CASE (52)
54123 100439 : CALL bits2ints_52(Ndata, packed_data, full_data)
54124 : CASE (53)
54125 108085 : CALL bits2ints_53(Ndata, packed_data, full_data)
54126 : CASE (54)
54127 110773 : CALL bits2ints_54(Ndata, packed_data, full_data)
54128 : CASE (55)
54129 106721 : CALL bits2ints_55(Ndata, packed_data, full_data)
54130 : CASE (56)
54131 102645 : CALL bits2ints_56(Ndata, packed_data, full_data)
54132 : CASE (57)
54133 98969 : CALL bits2ints_57(Ndata, packed_data, full_data)
54134 : CASE (58)
54135 96891 : CALL bits2ints_58(Ndata, packed_data, full_data)
54136 : CASE (59)
54137 95427 : CALL bits2ints_59(Ndata, packed_data, full_data)
54138 : CASE (60)
54139 95427 : CALL bits2ints_60(Ndata, packed_data, full_data)
54140 : CASE (61)
54141 95427 : CALL bits2ints_61(Ndata, packed_data, full_data)
54142 : CASE (62)
54143 95427 : CALL bits2ints_62(Ndata, packed_data, full_data)
54144 : CASE (63)
54145 9262451 : CALL bits2ints_63(Ndata, packed_data, full_data)
54146 : END SELECT
54147 9262451 : END SUBROUTINE bits2ints_specific
54148 :
54149 : END MODULE hfx_compression_core_methods
|