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 1469966 : 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 1469966 : idata = 0
96 :
97 : ! number of data bits in the pack_tmp that should still be read
98 1469966 : ibits_remaining = 64
99 1469966 : ipack = 1
100 1469966 : pack_tmp = packed_data(ipack)
101 :
102 : ! give the compiler a hint that Nbits is strictly positive
103 1469966 : IF (Nbits < 1) CPABORT("This is a bug")
104 : ! we also limit the making number of bits
105 1469966 : IF (Nbits >= 64) CPABORT("This is a bug")
106 :
107 : DO
108 : ! we've unpacked all data
109 48508878 : IF (idata == Ndata) EXIT
110 47038912 : idata = idata + 1
111 48508878 : IF (ibits_remaining >= Nbits) THEN
112 24661171 : data_tmp = IAND(pack_tmp, mask_right(Nbits)) ! get the last Nbits
113 24661171 : full_data(idata) = data_tmp
114 24661171 : pack_tmp = ISHFT(pack_tmp, -Nbits) ! and shift right to get the bits in place for the next
115 24661171 : ibits_remaining = ibits_remaining - Nbits
116 : ELSE
117 22377741 : i_odd_bits = Nbits - ibits_remaining
118 22377741 : data_tmp = ISHFT(pack_tmp, i_odd_bits) ! use all remaining bits, shifted left to make place for the missing bits
119 22377741 : ipack = ipack + 1
120 22377741 : pack_tmp = packed_data(ipack) ! get new storage
121 22377741 : ibits_remaining = 64
122 22377741 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(i_odd_bits))) ! and use the missing bits to assemble the data
123 22377741 : pack_tmp = ISHFT(pack_tmp, -i_odd_bits) ! shift right to get the bits in place for the next
124 22377741 : ibits_remaining = 64 - i_odd_bits
125 : END IF
126 : END DO
127 :
128 1469966 : END SUBROUTINE bits2ints_generic
129 :
130 : ! **************************************************************************************************
131 : !> \brief ...
132 : !> \param Nbits ...
133 : !> \param Ndata ...
134 : !> \param packed_data ...
135 : !> \param full_data ...
136 : ! **************************************************************************************************
137 232848 : 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 232848 : idata = 0
146 232848 : ipack = 0
147 232848 : pack_tmp = 0
148 :
149 : ! number of data bits in the pack_tmp that should still be written
150 232848 : ibits_remaining = 64
151 :
152 : ! give the compiler a hint that Nbits is strictly positive
153 232848 : IF (Nbits < 1) CPABORT("This is a bug")
154 : ! we also limit the making number of bits
155 232848 : IF (Nbits >= 64) CPABORT("This is a bug")
156 :
157 : DO
158 : ! we've packed all data
159 7683984 : IF (idata == Ndata) EXIT
160 7451136 : idata = idata + 1
161 7683984 : IF (ibits_remaining >= Nbits) THEN
162 3906167 : data_tmp = full_data(idata)
163 3906167 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
164 3906167 : pack_tmp = IOR(pack_tmp, data_tmp) ! add to the packed data
165 3906167 : ibits_remaining = ibits_remaining - Nbits
166 3906167 : pack_tmp = ISHFT(pack_tmp, -MIN(Nbits, ibits_remaining)) ! and shift to the right to make place for the next
167 : ELSE
168 3544969 : i_odd_bits = ibits_remaining
169 3544969 : data_tmp = full_data(idata)
170 3544969 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
171 3544969 : data_tmp = IAND(data_tmp, mask_left(i_odd_bits)) ! restrict to those bits for which we still have space
172 3544969 : pack_tmp = IOR(pack_tmp, data_tmp) ! add them to the packed bits
173 3544969 : ipack = ipack + 1
174 3544969 : packed_data(ipack) = pack_tmp ! store the full packed data away and start with a new one
175 3544969 : data_tmp = full_data(idata)
176 3544969 : pack_tmp = ISHFT(data_tmp, 64 - Nbits + i_odd_bits) ! put the missing bits on the left if pack_tmp
177 3544969 : ibits_remaining = 64 - Nbits + i_odd_bits
178 3544969 : 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 232848 : pack_tmp = ISHFT(pack_tmp, -MAX(0, ibits_remaining - Nbits))
184 232848 : ipack = ipack + 1
185 232848 : packed_data(ipack) = pack_tmp
186 :
187 232848 : 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 23921 : 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 23921 : idata = 0
1483 23921 : ipack = 0
1484 23921 : Ndata_rep = (Ndata/64)*64
1485 23921 : DO kdata = 1, Ndata_rep, 64
1486 382600 : pack_tmp = 0
1487 382600 : idata = idata + 1
1488 382600 : data_tmp = full_data(idata)
1489 382600 : data_tmp = ISHFT(data_tmp, 61)
1490 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1491 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1492 382600 : idata = idata + 1
1493 382600 : data_tmp = full_data(idata)
1494 382600 : data_tmp = ISHFT(data_tmp, 61)
1495 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1496 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1497 382600 : idata = idata + 1
1498 382600 : data_tmp = full_data(idata)
1499 382600 : data_tmp = ISHFT(data_tmp, 61)
1500 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1501 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1502 382600 : idata = idata + 1
1503 382600 : data_tmp = full_data(idata)
1504 382600 : data_tmp = ISHFT(data_tmp, 61)
1505 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1506 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1507 382600 : idata = idata + 1
1508 382600 : data_tmp = full_data(idata)
1509 382600 : data_tmp = ISHFT(data_tmp, 61)
1510 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1511 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1512 382600 : idata = idata + 1
1513 382600 : data_tmp = full_data(idata)
1514 382600 : data_tmp = ISHFT(data_tmp, 61)
1515 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1516 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1517 382600 : idata = idata + 1
1518 382600 : data_tmp = full_data(idata)
1519 382600 : data_tmp = ISHFT(data_tmp, 61)
1520 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1521 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1522 382600 : idata = idata + 1
1523 382600 : data_tmp = full_data(idata)
1524 382600 : data_tmp = ISHFT(data_tmp, 61)
1525 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1526 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1527 382600 : idata = idata + 1
1528 382600 : data_tmp = full_data(idata)
1529 382600 : data_tmp = ISHFT(data_tmp, 61)
1530 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1531 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1532 382600 : idata = idata + 1
1533 382600 : data_tmp = full_data(idata)
1534 382600 : data_tmp = ISHFT(data_tmp, 61)
1535 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1536 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1537 382600 : idata = idata + 1
1538 382600 : data_tmp = full_data(idata)
1539 382600 : data_tmp = ISHFT(data_tmp, 61)
1540 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1541 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1542 382600 : idata = idata + 1
1543 382600 : data_tmp = full_data(idata)
1544 382600 : data_tmp = ISHFT(data_tmp, 61)
1545 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1546 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1547 382600 : idata = idata + 1
1548 382600 : data_tmp = full_data(idata)
1549 382600 : data_tmp = ISHFT(data_tmp, 61)
1550 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1551 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1552 382600 : idata = idata + 1
1553 382600 : data_tmp = full_data(idata)
1554 382600 : data_tmp = ISHFT(data_tmp, 61)
1555 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1556 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1557 382600 : idata = idata + 1
1558 382600 : data_tmp = full_data(idata)
1559 382600 : data_tmp = ISHFT(data_tmp, 61)
1560 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1561 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1562 382600 : idata = idata + 1
1563 382600 : data_tmp = full_data(idata)
1564 382600 : data_tmp = ISHFT(data_tmp, 61)
1565 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1566 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1567 382600 : idata = idata + 1
1568 382600 : data_tmp = full_data(idata)
1569 382600 : data_tmp = ISHFT(data_tmp, 61)
1570 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1571 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1572 382600 : idata = idata + 1
1573 382600 : data_tmp = full_data(idata)
1574 382600 : data_tmp = ISHFT(data_tmp, 61)
1575 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1576 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1577 382600 : idata = idata + 1
1578 382600 : data_tmp = full_data(idata)
1579 382600 : data_tmp = ISHFT(data_tmp, 61)
1580 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1581 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1582 382600 : idata = idata + 1
1583 382600 : data_tmp = full_data(idata)
1584 382600 : data_tmp = ISHFT(data_tmp, 61)
1585 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1586 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1587 382600 : idata = idata + 1
1588 382600 : data_tmp = full_data(idata)
1589 382600 : data_tmp = ISHFT(data_tmp, 61)
1590 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1591 382600 : pack_tmp = ISHFT(pack_tmp, -1)
1592 382600 : idata = idata + 1
1593 382600 : data_tmp = full_data(idata)
1594 382600 : data_tmp = ISHFT(data_tmp, 61)
1595 382600 : data_tmp = IAND(data_tmp, mask_left(1))
1596 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1597 382600 : ipack = ipack + 1
1598 382600 : packed_data(ipack) = pack_tmp
1599 382600 : data_tmp = full_data(idata)
1600 382600 : pack_tmp = ISHFT(data_tmp, 62)
1601 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1602 382600 : idata = idata + 1
1603 382600 : data_tmp = full_data(idata)
1604 382600 : data_tmp = ISHFT(data_tmp, 61)
1605 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1606 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1607 382600 : idata = idata + 1
1608 382600 : data_tmp = full_data(idata)
1609 382600 : data_tmp = ISHFT(data_tmp, 61)
1610 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1611 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1612 382600 : idata = idata + 1
1613 382600 : data_tmp = full_data(idata)
1614 382600 : data_tmp = ISHFT(data_tmp, 61)
1615 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1616 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1617 382600 : idata = idata + 1
1618 382600 : data_tmp = full_data(idata)
1619 382600 : data_tmp = ISHFT(data_tmp, 61)
1620 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1621 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1622 382600 : idata = idata + 1
1623 382600 : data_tmp = full_data(idata)
1624 382600 : data_tmp = ISHFT(data_tmp, 61)
1625 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1626 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1627 382600 : idata = idata + 1
1628 382600 : data_tmp = full_data(idata)
1629 382600 : data_tmp = ISHFT(data_tmp, 61)
1630 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1631 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1632 382600 : idata = idata + 1
1633 382600 : data_tmp = full_data(idata)
1634 382600 : data_tmp = ISHFT(data_tmp, 61)
1635 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1636 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1637 382600 : idata = idata + 1
1638 382600 : data_tmp = full_data(idata)
1639 382600 : data_tmp = ISHFT(data_tmp, 61)
1640 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1641 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1642 382600 : idata = idata + 1
1643 382600 : data_tmp = full_data(idata)
1644 382600 : data_tmp = ISHFT(data_tmp, 61)
1645 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1646 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1647 382600 : idata = idata + 1
1648 382600 : data_tmp = full_data(idata)
1649 382600 : data_tmp = ISHFT(data_tmp, 61)
1650 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1651 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1652 382600 : idata = idata + 1
1653 382600 : data_tmp = full_data(idata)
1654 382600 : data_tmp = ISHFT(data_tmp, 61)
1655 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1656 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1657 382600 : idata = idata + 1
1658 382600 : data_tmp = full_data(idata)
1659 382600 : data_tmp = ISHFT(data_tmp, 61)
1660 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1661 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1662 382600 : idata = idata + 1
1663 382600 : data_tmp = full_data(idata)
1664 382600 : data_tmp = ISHFT(data_tmp, 61)
1665 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1666 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1667 382600 : idata = idata + 1
1668 382600 : data_tmp = full_data(idata)
1669 382600 : data_tmp = ISHFT(data_tmp, 61)
1670 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1671 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1672 382600 : idata = idata + 1
1673 382600 : data_tmp = full_data(idata)
1674 382600 : data_tmp = ISHFT(data_tmp, 61)
1675 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1676 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1677 382600 : idata = idata + 1
1678 382600 : data_tmp = full_data(idata)
1679 382600 : data_tmp = ISHFT(data_tmp, 61)
1680 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1681 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1682 382600 : idata = idata + 1
1683 382600 : data_tmp = full_data(idata)
1684 382600 : data_tmp = ISHFT(data_tmp, 61)
1685 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1686 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1687 382600 : idata = idata + 1
1688 382600 : data_tmp = full_data(idata)
1689 382600 : data_tmp = ISHFT(data_tmp, 61)
1690 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1691 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1692 382600 : idata = idata + 1
1693 382600 : data_tmp = full_data(idata)
1694 382600 : data_tmp = ISHFT(data_tmp, 61)
1695 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1696 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1697 382600 : idata = idata + 1
1698 382600 : data_tmp = full_data(idata)
1699 382600 : data_tmp = ISHFT(data_tmp, 61)
1700 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1701 382600 : pack_tmp = ISHFT(pack_tmp, -2)
1702 382600 : idata = idata + 1
1703 382600 : data_tmp = full_data(idata)
1704 382600 : data_tmp = ISHFT(data_tmp, 61)
1705 382600 : data_tmp = IAND(data_tmp, mask_left(2))
1706 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1707 382600 : ipack = ipack + 1
1708 382600 : packed_data(ipack) = pack_tmp
1709 382600 : data_tmp = full_data(idata)
1710 382600 : pack_tmp = ISHFT(data_tmp, 63)
1711 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1712 382600 : idata = idata + 1
1713 382600 : data_tmp = full_data(idata)
1714 382600 : data_tmp = ISHFT(data_tmp, 61)
1715 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1716 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1717 382600 : idata = idata + 1
1718 382600 : data_tmp = full_data(idata)
1719 382600 : data_tmp = ISHFT(data_tmp, 61)
1720 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1721 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1722 382600 : idata = idata + 1
1723 382600 : data_tmp = full_data(idata)
1724 382600 : data_tmp = ISHFT(data_tmp, 61)
1725 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1726 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1727 382600 : idata = idata + 1
1728 382600 : data_tmp = full_data(idata)
1729 382600 : data_tmp = ISHFT(data_tmp, 61)
1730 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1731 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1732 382600 : idata = idata + 1
1733 382600 : data_tmp = full_data(idata)
1734 382600 : data_tmp = ISHFT(data_tmp, 61)
1735 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1736 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1737 382600 : idata = idata + 1
1738 382600 : data_tmp = full_data(idata)
1739 382600 : data_tmp = ISHFT(data_tmp, 61)
1740 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1741 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1742 382600 : idata = idata + 1
1743 382600 : data_tmp = full_data(idata)
1744 382600 : data_tmp = ISHFT(data_tmp, 61)
1745 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1746 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1747 382600 : idata = idata + 1
1748 382600 : data_tmp = full_data(idata)
1749 382600 : data_tmp = ISHFT(data_tmp, 61)
1750 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1751 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1752 382600 : idata = idata + 1
1753 382600 : data_tmp = full_data(idata)
1754 382600 : data_tmp = ISHFT(data_tmp, 61)
1755 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1756 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1757 382600 : idata = idata + 1
1758 382600 : data_tmp = full_data(idata)
1759 382600 : data_tmp = ISHFT(data_tmp, 61)
1760 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1761 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1762 382600 : idata = idata + 1
1763 382600 : data_tmp = full_data(idata)
1764 382600 : data_tmp = ISHFT(data_tmp, 61)
1765 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1766 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1767 382600 : idata = idata + 1
1768 382600 : data_tmp = full_data(idata)
1769 382600 : data_tmp = ISHFT(data_tmp, 61)
1770 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1771 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1772 382600 : idata = idata + 1
1773 382600 : data_tmp = full_data(idata)
1774 382600 : data_tmp = ISHFT(data_tmp, 61)
1775 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1776 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1777 382600 : idata = idata + 1
1778 382600 : data_tmp = full_data(idata)
1779 382600 : data_tmp = ISHFT(data_tmp, 61)
1780 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1781 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1782 382600 : idata = idata + 1
1783 382600 : data_tmp = full_data(idata)
1784 382600 : data_tmp = ISHFT(data_tmp, 61)
1785 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1786 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1787 382600 : idata = idata + 1
1788 382600 : data_tmp = full_data(idata)
1789 382600 : data_tmp = ISHFT(data_tmp, 61)
1790 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1791 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1792 382600 : idata = idata + 1
1793 382600 : data_tmp = full_data(idata)
1794 382600 : data_tmp = ISHFT(data_tmp, 61)
1795 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1796 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1797 382600 : idata = idata + 1
1798 382600 : data_tmp = full_data(idata)
1799 382600 : data_tmp = ISHFT(data_tmp, 61)
1800 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1801 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1802 382600 : idata = idata + 1
1803 382600 : data_tmp = full_data(idata)
1804 382600 : data_tmp = ISHFT(data_tmp, 61)
1805 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1806 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1807 382600 : idata = idata + 1
1808 382600 : data_tmp = full_data(idata)
1809 382600 : data_tmp = ISHFT(data_tmp, 61)
1810 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1811 382600 : pack_tmp = ISHFT(pack_tmp, -3)
1812 382600 : idata = idata + 1
1813 382600 : data_tmp = full_data(idata)
1814 382600 : data_tmp = ISHFT(data_tmp, 61)
1815 382600 : pack_tmp = IOR(pack_tmp, data_tmp)
1816 : pack_tmp = ISHFT(pack_tmp, 0)
1817 382600 : pack_tmp = ISHFT(pack_tmp, 0)
1818 382600 : ipack = ipack + 1
1819 382602 : packed_data(ipack) = pack_tmp
1820 : END DO
1821 23921 : 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 23921 : 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 51515 : 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 51515 : idata = 0
3451 51515 : ipack = 0
3452 51515 : Ndata_rep = (Ndata/64)*64
3453 51515 : DO kdata = 1, Ndata_rep, 64
3454 820500 : pack_tmp = 0
3455 820500 : idata = idata + 1
3456 820500 : data_tmp = full_data(idata)
3457 820500 : data_tmp = ISHFT(data_tmp, 58)
3458 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3459 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3460 820500 : idata = idata + 1
3461 820500 : data_tmp = full_data(idata)
3462 820500 : data_tmp = ISHFT(data_tmp, 58)
3463 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3464 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3465 820500 : idata = idata + 1
3466 820500 : data_tmp = full_data(idata)
3467 820500 : data_tmp = ISHFT(data_tmp, 58)
3468 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3469 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3470 820500 : idata = idata + 1
3471 820500 : data_tmp = full_data(idata)
3472 820500 : data_tmp = ISHFT(data_tmp, 58)
3473 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3474 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3475 820500 : idata = idata + 1
3476 820500 : data_tmp = full_data(idata)
3477 820500 : data_tmp = ISHFT(data_tmp, 58)
3478 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3479 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3480 820500 : idata = idata + 1
3481 820500 : data_tmp = full_data(idata)
3482 820500 : data_tmp = ISHFT(data_tmp, 58)
3483 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3484 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3485 820500 : idata = idata + 1
3486 820500 : data_tmp = full_data(idata)
3487 820500 : data_tmp = ISHFT(data_tmp, 58)
3488 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3489 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3490 820500 : idata = idata + 1
3491 820500 : data_tmp = full_data(idata)
3492 820500 : data_tmp = ISHFT(data_tmp, 58)
3493 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3494 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3495 820500 : idata = idata + 1
3496 820500 : data_tmp = full_data(idata)
3497 820500 : data_tmp = ISHFT(data_tmp, 58)
3498 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3499 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3500 820500 : idata = idata + 1
3501 820500 : data_tmp = full_data(idata)
3502 820500 : data_tmp = ISHFT(data_tmp, 58)
3503 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3504 820500 : pack_tmp = ISHFT(pack_tmp, -4)
3505 820500 : idata = idata + 1
3506 820500 : data_tmp = full_data(idata)
3507 820500 : data_tmp = ISHFT(data_tmp, 58)
3508 820500 : data_tmp = IAND(data_tmp, mask_left(4))
3509 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3510 820500 : ipack = ipack + 1
3511 820500 : packed_data(ipack) = pack_tmp
3512 820500 : data_tmp = full_data(idata)
3513 820500 : pack_tmp = ISHFT(data_tmp, 62)
3514 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3515 820500 : idata = idata + 1
3516 820500 : data_tmp = full_data(idata)
3517 820500 : data_tmp = ISHFT(data_tmp, 58)
3518 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3519 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3520 820500 : idata = idata + 1
3521 820500 : data_tmp = full_data(idata)
3522 820500 : data_tmp = ISHFT(data_tmp, 58)
3523 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3524 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3525 820500 : idata = idata + 1
3526 820500 : data_tmp = full_data(idata)
3527 820500 : data_tmp = ISHFT(data_tmp, 58)
3528 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3529 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3530 820500 : idata = idata + 1
3531 820500 : data_tmp = full_data(idata)
3532 820500 : data_tmp = ISHFT(data_tmp, 58)
3533 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3534 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3535 820500 : idata = idata + 1
3536 820500 : data_tmp = full_data(idata)
3537 820500 : data_tmp = ISHFT(data_tmp, 58)
3538 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3539 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3540 820500 : idata = idata + 1
3541 820500 : data_tmp = full_data(idata)
3542 820500 : data_tmp = ISHFT(data_tmp, 58)
3543 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3544 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3545 820500 : idata = idata + 1
3546 820500 : data_tmp = full_data(idata)
3547 820500 : data_tmp = ISHFT(data_tmp, 58)
3548 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3549 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3550 820500 : idata = idata + 1
3551 820500 : data_tmp = full_data(idata)
3552 820500 : data_tmp = ISHFT(data_tmp, 58)
3553 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3554 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3555 820500 : idata = idata + 1
3556 820500 : data_tmp = full_data(idata)
3557 820500 : data_tmp = ISHFT(data_tmp, 58)
3558 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3559 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3560 820500 : idata = idata + 1
3561 820500 : data_tmp = full_data(idata)
3562 820500 : data_tmp = ISHFT(data_tmp, 58)
3563 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3564 820500 : pack_tmp = ISHFT(pack_tmp, -2)
3565 820500 : idata = idata + 1
3566 820500 : data_tmp = full_data(idata)
3567 820500 : data_tmp = ISHFT(data_tmp, 58)
3568 820500 : data_tmp = IAND(data_tmp, mask_left(2))
3569 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3570 820500 : ipack = ipack + 1
3571 820500 : packed_data(ipack) = pack_tmp
3572 820500 : data_tmp = full_data(idata)
3573 820500 : pack_tmp = ISHFT(data_tmp, 60)
3574 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3575 820500 : idata = idata + 1
3576 820500 : data_tmp = full_data(idata)
3577 820500 : data_tmp = ISHFT(data_tmp, 58)
3578 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3579 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3580 820500 : idata = idata + 1
3581 820500 : data_tmp = full_data(idata)
3582 820500 : data_tmp = ISHFT(data_tmp, 58)
3583 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3584 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3585 820500 : idata = idata + 1
3586 820500 : data_tmp = full_data(idata)
3587 820500 : data_tmp = ISHFT(data_tmp, 58)
3588 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3589 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3590 820500 : idata = idata + 1
3591 820500 : data_tmp = full_data(idata)
3592 820500 : data_tmp = ISHFT(data_tmp, 58)
3593 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3594 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3595 820500 : idata = idata + 1
3596 820500 : data_tmp = full_data(idata)
3597 820500 : data_tmp = ISHFT(data_tmp, 58)
3598 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3599 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3600 820500 : idata = idata + 1
3601 820500 : data_tmp = full_data(idata)
3602 820500 : data_tmp = ISHFT(data_tmp, 58)
3603 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3604 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3605 820500 : idata = idata + 1
3606 820500 : data_tmp = full_data(idata)
3607 820500 : data_tmp = ISHFT(data_tmp, 58)
3608 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3609 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3610 820500 : idata = idata + 1
3611 820500 : data_tmp = full_data(idata)
3612 820500 : data_tmp = ISHFT(data_tmp, 58)
3613 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3614 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3615 820500 : idata = idata + 1
3616 820500 : data_tmp = full_data(idata)
3617 820500 : data_tmp = ISHFT(data_tmp, 58)
3618 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3619 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3620 820500 : idata = idata + 1
3621 820500 : data_tmp = full_data(idata)
3622 820500 : data_tmp = ISHFT(data_tmp, 58)
3623 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3624 820500 : pack_tmp = ISHFT(pack_tmp, 0)
3625 820500 : idata = idata + 1
3626 820500 : data_tmp = full_data(idata)
3627 : data_tmp = ISHFT(data_tmp, 58)
3628 820500 : data_tmp = IAND(data_tmp, mask_left(0))
3629 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3630 820500 : ipack = ipack + 1
3631 820500 : packed_data(ipack) = pack_tmp
3632 820500 : data_tmp = full_data(idata)
3633 820500 : pack_tmp = ISHFT(data_tmp, 58)
3634 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3635 820500 : idata = idata + 1
3636 820500 : data_tmp = full_data(idata)
3637 820500 : data_tmp = ISHFT(data_tmp, 58)
3638 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3639 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3640 820500 : idata = idata + 1
3641 820500 : data_tmp = full_data(idata)
3642 820500 : data_tmp = ISHFT(data_tmp, 58)
3643 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3644 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3645 820500 : idata = idata + 1
3646 820500 : data_tmp = full_data(idata)
3647 820500 : data_tmp = ISHFT(data_tmp, 58)
3648 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3649 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3650 820500 : idata = idata + 1
3651 820500 : data_tmp = full_data(idata)
3652 820500 : data_tmp = ISHFT(data_tmp, 58)
3653 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3654 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3655 820500 : idata = idata + 1
3656 820500 : data_tmp = full_data(idata)
3657 820500 : data_tmp = ISHFT(data_tmp, 58)
3658 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3659 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3660 820500 : idata = idata + 1
3661 820500 : data_tmp = full_data(idata)
3662 820500 : data_tmp = ISHFT(data_tmp, 58)
3663 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3664 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3665 820500 : idata = idata + 1
3666 820500 : data_tmp = full_data(idata)
3667 820500 : data_tmp = ISHFT(data_tmp, 58)
3668 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3669 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3670 820500 : idata = idata + 1
3671 820500 : data_tmp = full_data(idata)
3672 820500 : data_tmp = ISHFT(data_tmp, 58)
3673 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3674 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3675 820500 : idata = idata + 1
3676 820500 : data_tmp = full_data(idata)
3677 820500 : data_tmp = ISHFT(data_tmp, 58)
3678 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3679 820500 : pack_tmp = ISHFT(pack_tmp, -4)
3680 820500 : idata = idata + 1
3681 820500 : data_tmp = full_data(idata)
3682 820500 : data_tmp = ISHFT(data_tmp, 58)
3683 820500 : data_tmp = IAND(data_tmp, mask_left(4))
3684 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3685 820500 : ipack = ipack + 1
3686 820500 : packed_data(ipack) = pack_tmp
3687 820500 : data_tmp = full_data(idata)
3688 820500 : pack_tmp = ISHFT(data_tmp, 62)
3689 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3690 820500 : idata = idata + 1
3691 820500 : data_tmp = full_data(idata)
3692 820500 : data_tmp = ISHFT(data_tmp, 58)
3693 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3694 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3695 820500 : idata = idata + 1
3696 820500 : data_tmp = full_data(idata)
3697 820500 : data_tmp = ISHFT(data_tmp, 58)
3698 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3699 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3700 820500 : idata = idata + 1
3701 820500 : data_tmp = full_data(idata)
3702 820500 : data_tmp = ISHFT(data_tmp, 58)
3703 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3704 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3705 820500 : idata = idata + 1
3706 820500 : data_tmp = full_data(idata)
3707 820500 : data_tmp = ISHFT(data_tmp, 58)
3708 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3709 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3710 820500 : idata = idata + 1
3711 820500 : data_tmp = full_data(idata)
3712 820500 : data_tmp = ISHFT(data_tmp, 58)
3713 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3714 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3715 820500 : idata = idata + 1
3716 820500 : data_tmp = full_data(idata)
3717 820500 : data_tmp = ISHFT(data_tmp, 58)
3718 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3719 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3720 820500 : idata = idata + 1
3721 820500 : data_tmp = full_data(idata)
3722 820500 : data_tmp = ISHFT(data_tmp, 58)
3723 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3724 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3725 820500 : idata = idata + 1
3726 820500 : data_tmp = full_data(idata)
3727 820500 : data_tmp = ISHFT(data_tmp, 58)
3728 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3729 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3730 820500 : idata = idata + 1
3731 820500 : data_tmp = full_data(idata)
3732 820500 : data_tmp = ISHFT(data_tmp, 58)
3733 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3734 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3735 820500 : idata = idata + 1
3736 820500 : data_tmp = full_data(idata)
3737 820500 : data_tmp = ISHFT(data_tmp, 58)
3738 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3739 820500 : pack_tmp = ISHFT(pack_tmp, -2)
3740 820500 : idata = idata + 1
3741 820500 : data_tmp = full_data(idata)
3742 820500 : data_tmp = ISHFT(data_tmp, 58)
3743 820500 : data_tmp = IAND(data_tmp, mask_left(2))
3744 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3745 820500 : ipack = ipack + 1
3746 820500 : packed_data(ipack) = pack_tmp
3747 820500 : data_tmp = full_data(idata)
3748 820500 : pack_tmp = ISHFT(data_tmp, 60)
3749 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3750 820500 : idata = idata + 1
3751 820500 : data_tmp = full_data(idata)
3752 820500 : data_tmp = ISHFT(data_tmp, 58)
3753 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3754 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3755 820500 : idata = idata + 1
3756 820500 : data_tmp = full_data(idata)
3757 820500 : data_tmp = ISHFT(data_tmp, 58)
3758 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3759 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3760 820500 : idata = idata + 1
3761 820500 : data_tmp = full_data(idata)
3762 820500 : data_tmp = ISHFT(data_tmp, 58)
3763 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3764 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3765 820500 : idata = idata + 1
3766 820500 : data_tmp = full_data(idata)
3767 820500 : data_tmp = ISHFT(data_tmp, 58)
3768 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3769 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3770 820500 : idata = idata + 1
3771 820500 : data_tmp = full_data(idata)
3772 820500 : data_tmp = ISHFT(data_tmp, 58)
3773 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3774 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3775 820500 : idata = idata + 1
3776 820500 : data_tmp = full_data(idata)
3777 820500 : data_tmp = ISHFT(data_tmp, 58)
3778 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3779 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3780 820500 : idata = idata + 1
3781 820500 : data_tmp = full_data(idata)
3782 820500 : data_tmp = ISHFT(data_tmp, 58)
3783 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3784 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3785 820500 : idata = idata + 1
3786 820500 : data_tmp = full_data(idata)
3787 820500 : data_tmp = ISHFT(data_tmp, 58)
3788 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3789 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3790 820500 : idata = idata + 1
3791 820500 : data_tmp = full_data(idata)
3792 820500 : data_tmp = ISHFT(data_tmp, 58)
3793 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3794 820500 : pack_tmp = ISHFT(pack_tmp, -6)
3795 820500 : idata = idata + 1
3796 820500 : data_tmp = full_data(idata)
3797 820500 : data_tmp = ISHFT(data_tmp, 58)
3798 820500 : pack_tmp = IOR(pack_tmp, data_tmp)
3799 : pack_tmp = ISHFT(pack_tmp, 0)
3800 820500 : pack_tmp = ISHFT(pack_tmp, 0)
3801 820500 : ipack = ipack + 1
3802 820529 : packed_data(ipack) = pack_tmp
3803 : END DO
3804 51515 : 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 51515 : END SUBROUTINE ints2bits_6
3808 :
3809 : ! **************************************************************************************************
3810 : !> \brief ...
3811 : !> \param Ndata ...
3812 : !> \param packed_data ...
3813 : !> \param full_data ...
3814 : ! **************************************************************************************************
3815 245707 : 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 245707 : ipack = 0
3826 245707 : idata = 0
3827 245707 : pack_tmp = 0
3828 245707 : Ndata_rep = (Ndata/64)*64
3829 245707 : DO kdata = 1, Ndata_rep, 64
3830 3898043 : idata = idata + 1
3831 3898043 : data_tmp = ISHFT(pack_tmp, 6)
3832 3898043 : ipack = ipack + 1
3833 3898043 : pack_tmp = packed_data(ipack)
3834 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3835 3898043 : pack_tmp = ISHFT(pack_tmp, -6)
3836 3898043 : idata = idata + 1
3837 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3838 3898043 : full_data(idata) = data_tmp
3839 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3840 3898043 : idata = idata + 1
3841 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3842 3898043 : full_data(idata) = data_tmp
3843 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3844 3898043 : idata = idata + 1
3845 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3846 3898043 : full_data(idata) = data_tmp
3847 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3848 3898043 : idata = idata + 1
3849 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3850 3898043 : full_data(idata) = data_tmp
3851 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3852 3898043 : idata = idata + 1
3853 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3854 3898043 : full_data(idata) = data_tmp
3855 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3856 3898043 : idata = idata + 1
3857 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3858 3898043 : full_data(idata) = data_tmp
3859 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3860 3898043 : idata = idata + 1
3861 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3862 3898043 : full_data(idata) = data_tmp
3863 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3864 3898043 : idata = idata + 1
3865 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3866 3898043 : full_data(idata) = data_tmp
3867 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3868 3898043 : idata = idata + 1
3869 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3870 3898043 : full_data(idata) = data_tmp
3871 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3872 3898043 : idata = idata + 1
3873 3898043 : data_tmp = ISHFT(pack_tmp, 2)
3874 3898043 : ipack = ipack + 1
3875 3898043 : pack_tmp = packed_data(ipack)
3876 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
3877 3898043 : pack_tmp = ISHFT(pack_tmp, -2)
3878 3898043 : idata = idata + 1
3879 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3880 3898043 : full_data(idata) = data_tmp
3881 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3882 3898043 : idata = idata + 1
3883 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3884 3898043 : full_data(idata) = data_tmp
3885 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3886 3898043 : idata = idata + 1
3887 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3888 3898043 : full_data(idata) = data_tmp
3889 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3890 3898043 : idata = idata + 1
3891 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3892 3898043 : full_data(idata) = data_tmp
3893 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3894 3898043 : idata = idata + 1
3895 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3896 3898043 : full_data(idata) = data_tmp
3897 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3898 3898043 : idata = idata + 1
3899 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3900 3898043 : full_data(idata) = data_tmp
3901 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3902 3898043 : idata = idata + 1
3903 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3904 3898043 : full_data(idata) = data_tmp
3905 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3906 3898043 : idata = idata + 1
3907 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3908 3898043 : full_data(idata) = data_tmp
3909 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3910 3898043 : idata = idata + 1
3911 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3912 3898043 : full_data(idata) = data_tmp
3913 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3914 3898043 : idata = idata + 1
3915 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3916 3898043 : full_data(idata) = data_tmp
3917 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3918 3898043 : idata = idata + 1
3919 3898043 : data_tmp = ISHFT(pack_tmp, 4)
3920 3898043 : ipack = ipack + 1
3921 3898043 : pack_tmp = packed_data(ipack)
3922 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
3923 3898043 : pack_tmp = ISHFT(pack_tmp, -4)
3924 3898043 : idata = idata + 1
3925 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3926 3898043 : full_data(idata) = data_tmp
3927 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3928 3898043 : idata = idata + 1
3929 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3930 3898043 : full_data(idata) = data_tmp
3931 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3932 3898043 : idata = idata + 1
3933 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3934 3898043 : full_data(idata) = data_tmp
3935 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3936 3898043 : idata = idata + 1
3937 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3938 3898043 : full_data(idata) = data_tmp
3939 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3940 3898043 : idata = idata + 1
3941 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3942 3898043 : full_data(idata) = data_tmp
3943 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3944 3898043 : idata = idata + 1
3945 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3946 3898043 : full_data(idata) = data_tmp
3947 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3948 3898043 : idata = idata + 1
3949 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3950 3898043 : full_data(idata) = data_tmp
3951 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3952 3898043 : idata = idata + 1
3953 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3954 3898043 : full_data(idata) = data_tmp
3955 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3956 3898043 : idata = idata + 1
3957 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3958 3898043 : full_data(idata) = data_tmp
3959 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3960 3898043 : idata = idata + 1
3961 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3962 3898043 : full_data(idata) = data_tmp
3963 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3964 3898043 : idata = idata + 1
3965 3898043 : data_tmp = ISHFT(pack_tmp, 6)
3966 3898043 : ipack = ipack + 1
3967 3898043 : pack_tmp = packed_data(ipack)
3968 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3969 3898043 : pack_tmp = ISHFT(pack_tmp, -6)
3970 3898043 : idata = idata + 1
3971 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3972 3898043 : full_data(idata) = data_tmp
3973 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3974 3898043 : idata = idata + 1
3975 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3976 3898043 : full_data(idata) = data_tmp
3977 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3978 3898043 : idata = idata + 1
3979 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3980 3898043 : full_data(idata) = data_tmp
3981 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3982 3898043 : idata = idata + 1
3983 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3984 3898043 : full_data(idata) = data_tmp
3985 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3986 3898043 : idata = idata + 1
3987 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3988 3898043 : full_data(idata) = data_tmp
3989 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3990 3898043 : idata = idata + 1
3991 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3992 3898043 : full_data(idata) = data_tmp
3993 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3994 3898043 : idata = idata + 1
3995 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3996 3898043 : full_data(idata) = data_tmp
3997 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3998 3898043 : idata = idata + 1
3999 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4000 3898043 : full_data(idata) = data_tmp
4001 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4002 3898043 : idata = idata + 1
4003 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4004 3898043 : full_data(idata) = data_tmp
4005 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4006 3898043 : idata = idata + 1
4007 3898043 : data_tmp = ISHFT(pack_tmp, 2)
4008 3898043 : ipack = ipack + 1
4009 3898043 : pack_tmp = packed_data(ipack)
4010 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
4011 3898043 : pack_tmp = ISHFT(pack_tmp, -2)
4012 3898043 : idata = idata + 1
4013 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4014 3898043 : full_data(idata) = data_tmp
4015 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4016 3898043 : idata = idata + 1
4017 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4018 3898043 : full_data(idata) = data_tmp
4019 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4020 3898043 : idata = idata + 1
4021 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4022 3898043 : full_data(idata) = data_tmp
4023 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4024 3898043 : idata = idata + 1
4025 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4026 3898043 : full_data(idata) = data_tmp
4027 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4028 3898043 : idata = idata + 1
4029 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4030 3898043 : full_data(idata) = data_tmp
4031 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4032 3898043 : idata = idata + 1
4033 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4034 3898043 : full_data(idata) = data_tmp
4035 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4036 3898043 : idata = idata + 1
4037 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4038 3898043 : full_data(idata) = data_tmp
4039 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4040 3898043 : idata = idata + 1
4041 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4042 3898043 : full_data(idata) = data_tmp
4043 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4044 3898043 : idata = idata + 1
4045 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4046 3898043 : full_data(idata) = data_tmp
4047 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4048 3898043 : idata = idata + 1
4049 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4050 3898043 : full_data(idata) = data_tmp
4051 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4052 3898043 : idata = idata + 1
4053 3898043 : data_tmp = ISHFT(pack_tmp, 4)
4054 3898043 : ipack = ipack + 1
4055 3898043 : pack_tmp = packed_data(ipack)
4056 3898043 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
4057 3898043 : pack_tmp = ISHFT(pack_tmp, -4)
4058 3898043 : idata = idata + 1
4059 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4060 3898043 : full_data(idata) = data_tmp
4061 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4062 3898043 : idata = idata + 1
4063 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4064 3898043 : full_data(idata) = data_tmp
4065 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4066 3898043 : idata = idata + 1
4067 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4068 3898043 : full_data(idata) = data_tmp
4069 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4070 3898043 : idata = idata + 1
4071 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4072 3898043 : full_data(idata) = data_tmp
4073 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4074 3898043 : idata = idata + 1
4075 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4076 3898043 : full_data(idata) = data_tmp
4077 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4078 3898043 : idata = idata + 1
4079 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4080 3898043 : full_data(idata) = data_tmp
4081 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4082 3898043 : idata = idata + 1
4083 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4084 3898043 : full_data(idata) = data_tmp
4085 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4086 3898043 : idata = idata + 1
4087 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4088 3898043 : full_data(idata) = data_tmp
4089 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4090 3898043 : idata = idata + 1
4091 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4092 3898043 : full_data(idata) = data_tmp
4093 3898043 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4094 3898043 : idata = idata + 1
4095 3898043 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4096 3898043 : full_data(idata) = data_tmp
4097 3898256 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4098 : END DO
4099 245707 : 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 245707 : 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 24022 : 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 24022 : idata = 0
4798 24022 : ipack = 0
4799 24022 : Ndata_rep = (Ndata/64)*64
4800 24022 : DO kdata = 1, Ndata_rep, 64
4801 383808 : pack_tmp = 0
4802 383808 : idata = idata + 1
4803 383808 : data_tmp = full_data(idata)
4804 383808 : data_tmp = ISHFT(data_tmp, 56)
4805 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4806 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4807 383808 : idata = idata + 1
4808 383808 : data_tmp = full_data(idata)
4809 383808 : data_tmp = ISHFT(data_tmp, 56)
4810 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4811 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4812 383808 : idata = idata + 1
4813 383808 : data_tmp = full_data(idata)
4814 383808 : data_tmp = ISHFT(data_tmp, 56)
4815 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4816 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4817 383808 : idata = idata + 1
4818 383808 : data_tmp = full_data(idata)
4819 383808 : data_tmp = ISHFT(data_tmp, 56)
4820 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4821 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4822 383808 : idata = idata + 1
4823 383808 : data_tmp = full_data(idata)
4824 383808 : data_tmp = ISHFT(data_tmp, 56)
4825 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4826 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4827 383808 : idata = idata + 1
4828 383808 : data_tmp = full_data(idata)
4829 383808 : data_tmp = ISHFT(data_tmp, 56)
4830 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4831 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4832 383808 : idata = idata + 1
4833 383808 : data_tmp = full_data(idata)
4834 383808 : data_tmp = ISHFT(data_tmp, 56)
4835 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4836 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4837 383808 : idata = idata + 1
4838 383808 : data_tmp = full_data(idata)
4839 383808 : data_tmp = ISHFT(data_tmp, 56)
4840 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4841 383808 : pack_tmp = ISHFT(pack_tmp, 0)
4842 383808 : idata = idata + 1
4843 383808 : data_tmp = full_data(idata)
4844 : data_tmp = ISHFT(data_tmp, 56)
4845 383808 : data_tmp = IAND(data_tmp, mask_left(0))
4846 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4847 383808 : ipack = ipack + 1
4848 383808 : packed_data(ipack) = pack_tmp
4849 383808 : data_tmp = full_data(idata)
4850 383808 : pack_tmp = ISHFT(data_tmp, 56)
4851 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4852 383808 : idata = idata + 1
4853 383808 : data_tmp = full_data(idata)
4854 383808 : data_tmp = ISHFT(data_tmp, 56)
4855 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4856 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4857 383808 : idata = idata + 1
4858 383808 : data_tmp = full_data(idata)
4859 383808 : data_tmp = ISHFT(data_tmp, 56)
4860 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4861 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4862 383808 : idata = idata + 1
4863 383808 : data_tmp = full_data(idata)
4864 383808 : data_tmp = ISHFT(data_tmp, 56)
4865 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4866 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4867 383808 : idata = idata + 1
4868 383808 : data_tmp = full_data(idata)
4869 383808 : data_tmp = ISHFT(data_tmp, 56)
4870 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4871 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4872 383808 : idata = idata + 1
4873 383808 : data_tmp = full_data(idata)
4874 383808 : data_tmp = ISHFT(data_tmp, 56)
4875 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4876 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4877 383808 : idata = idata + 1
4878 383808 : data_tmp = full_data(idata)
4879 383808 : data_tmp = ISHFT(data_tmp, 56)
4880 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4881 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4882 383808 : idata = idata + 1
4883 383808 : data_tmp = full_data(idata)
4884 383808 : data_tmp = ISHFT(data_tmp, 56)
4885 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4886 383808 : pack_tmp = ISHFT(pack_tmp, 0)
4887 383808 : idata = idata + 1
4888 383808 : data_tmp = full_data(idata)
4889 : data_tmp = ISHFT(data_tmp, 56)
4890 383808 : data_tmp = IAND(data_tmp, mask_left(0))
4891 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4892 383808 : ipack = ipack + 1
4893 383808 : packed_data(ipack) = pack_tmp
4894 383808 : data_tmp = full_data(idata)
4895 383808 : pack_tmp = ISHFT(data_tmp, 56)
4896 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4897 383808 : idata = idata + 1
4898 383808 : data_tmp = full_data(idata)
4899 383808 : data_tmp = ISHFT(data_tmp, 56)
4900 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4901 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4902 383808 : idata = idata + 1
4903 383808 : data_tmp = full_data(idata)
4904 383808 : data_tmp = ISHFT(data_tmp, 56)
4905 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4906 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4907 383808 : idata = idata + 1
4908 383808 : data_tmp = full_data(idata)
4909 383808 : data_tmp = ISHFT(data_tmp, 56)
4910 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4911 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4912 383808 : idata = idata + 1
4913 383808 : data_tmp = full_data(idata)
4914 383808 : data_tmp = ISHFT(data_tmp, 56)
4915 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4916 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4917 383808 : idata = idata + 1
4918 383808 : data_tmp = full_data(idata)
4919 383808 : data_tmp = ISHFT(data_tmp, 56)
4920 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4921 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4922 383808 : idata = idata + 1
4923 383808 : data_tmp = full_data(idata)
4924 383808 : data_tmp = ISHFT(data_tmp, 56)
4925 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4926 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4927 383808 : idata = idata + 1
4928 383808 : data_tmp = full_data(idata)
4929 383808 : data_tmp = ISHFT(data_tmp, 56)
4930 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4931 383808 : pack_tmp = ISHFT(pack_tmp, 0)
4932 383808 : idata = idata + 1
4933 383808 : data_tmp = full_data(idata)
4934 : data_tmp = ISHFT(data_tmp, 56)
4935 383808 : data_tmp = IAND(data_tmp, mask_left(0))
4936 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4937 383808 : ipack = ipack + 1
4938 383808 : packed_data(ipack) = pack_tmp
4939 383808 : data_tmp = full_data(idata)
4940 383808 : pack_tmp = ISHFT(data_tmp, 56)
4941 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4942 383808 : idata = idata + 1
4943 383808 : data_tmp = full_data(idata)
4944 383808 : data_tmp = ISHFT(data_tmp, 56)
4945 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4946 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4947 383808 : idata = idata + 1
4948 383808 : data_tmp = full_data(idata)
4949 383808 : data_tmp = ISHFT(data_tmp, 56)
4950 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4951 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4952 383808 : idata = idata + 1
4953 383808 : data_tmp = full_data(idata)
4954 383808 : data_tmp = ISHFT(data_tmp, 56)
4955 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4956 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4957 383808 : idata = idata + 1
4958 383808 : data_tmp = full_data(idata)
4959 383808 : data_tmp = ISHFT(data_tmp, 56)
4960 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4961 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4962 383808 : idata = idata + 1
4963 383808 : data_tmp = full_data(idata)
4964 383808 : data_tmp = ISHFT(data_tmp, 56)
4965 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4966 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4967 383808 : idata = idata + 1
4968 383808 : data_tmp = full_data(idata)
4969 383808 : data_tmp = ISHFT(data_tmp, 56)
4970 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4971 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4972 383808 : idata = idata + 1
4973 383808 : data_tmp = full_data(idata)
4974 383808 : data_tmp = ISHFT(data_tmp, 56)
4975 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4976 383808 : pack_tmp = ISHFT(pack_tmp, 0)
4977 383808 : idata = idata + 1
4978 383808 : data_tmp = full_data(idata)
4979 : data_tmp = ISHFT(data_tmp, 56)
4980 383808 : data_tmp = IAND(data_tmp, mask_left(0))
4981 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4982 383808 : ipack = ipack + 1
4983 383808 : packed_data(ipack) = pack_tmp
4984 383808 : data_tmp = full_data(idata)
4985 383808 : pack_tmp = ISHFT(data_tmp, 56)
4986 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4987 383808 : idata = idata + 1
4988 383808 : data_tmp = full_data(idata)
4989 383808 : data_tmp = ISHFT(data_tmp, 56)
4990 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4991 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4992 383808 : idata = idata + 1
4993 383808 : data_tmp = full_data(idata)
4994 383808 : data_tmp = ISHFT(data_tmp, 56)
4995 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
4996 383808 : pack_tmp = ISHFT(pack_tmp, -8)
4997 383808 : idata = idata + 1
4998 383808 : data_tmp = full_data(idata)
4999 383808 : data_tmp = ISHFT(data_tmp, 56)
5000 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5001 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5002 383808 : idata = idata + 1
5003 383808 : data_tmp = full_data(idata)
5004 383808 : data_tmp = ISHFT(data_tmp, 56)
5005 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5006 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5007 383808 : idata = idata + 1
5008 383808 : data_tmp = full_data(idata)
5009 383808 : data_tmp = ISHFT(data_tmp, 56)
5010 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5011 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5012 383808 : idata = idata + 1
5013 383808 : data_tmp = full_data(idata)
5014 383808 : data_tmp = ISHFT(data_tmp, 56)
5015 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5016 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5017 383808 : idata = idata + 1
5018 383808 : data_tmp = full_data(idata)
5019 383808 : data_tmp = ISHFT(data_tmp, 56)
5020 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5021 383808 : pack_tmp = ISHFT(pack_tmp, 0)
5022 383808 : idata = idata + 1
5023 383808 : data_tmp = full_data(idata)
5024 : data_tmp = ISHFT(data_tmp, 56)
5025 383808 : data_tmp = IAND(data_tmp, mask_left(0))
5026 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5027 383808 : ipack = ipack + 1
5028 383808 : packed_data(ipack) = pack_tmp
5029 383808 : data_tmp = full_data(idata)
5030 383808 : pack_tmp = ISHFT(data_tmp, 56)
5031 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5032 383808 : idata = idata + 1
5033 383808 : data_tmp = full_data(idata)
5034 383808 : data_tmp = ISHFT(data_tmp, 56)
5035 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5036 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5037 383808 : idata = idata + 1
5038 383808 : data_tmp = full_data(idata)
5039 383808 : data_tmp = ISHFT(data_tmp, 56)
5040 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5041 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5042 383808 : idata = idata + 1
5043 383808 : data_tmp = full_data(idata)
5044 383808 : data_tmp = ISHFT(data_tmp, 56)
5045 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5046 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5047 383808 : idata = idata + 1
5048 383808 : data_tmp = full_data(idata)
5049 383808 : data_tmp = ISHFT(data_tmp, 56)
5050 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5051 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5052 383808 : idata = idata + 1
5053 383808 : data_tmp = full_data(idata)
5054 383808 : data_tmp = ISHFT(data_tmp, 56)
5055 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5056 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5057 383808 : idata = idata + 1
5058 383808 : data_tmp = full_data(idata)
5059 383808 : data_tmp = ISHFT(data_tmp, 56)
5060 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5061 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5062 383808 : idata = idata + 1
5063 383808 : data_tmp = full_data(idata)
5064 383808 : data_tmp = ISHFT(data_tmp, 56)
5065 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5066 383808 : pack_tmp = ISHFT(pack_tmp, 0)
5067 383808 : idata = idata + 1
5068 383808 : data_tmp = full_data(idata)
5069 : data_tmp = ISHFT(data_tmp, 56)
5070 383808 : data_tmp = IAND(data_tmp, mask_left(0))
5071 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5072 383808 : ipack = ipack + 1
5073 383808 : packed_data(ipack) = pack_tmp
5074 383808 : data_tmp = full_data(idata)
5075 383808 : pack_tmp = ISHFT(data_tmp, 56)
5076 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5077 383808 : idata = idata + 1
5078 383808 : data_tmp = full_data(idata)
5079 383808 : data_tmp = ISHFT(data_tmp, 56)
5080 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5081 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5082 383808 : idata = idata + 1
5083 383808 : data_tmp = full_data(idata)
5084 383808 : data_tmp = ISHFT(data_tmp, 56)
5085 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5086 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5087 383808 : idata = idata + 1
5088 383808 : data_tmp = full_data(idata)
5089 383808 : data_tmp = ISHFT(data_tmp, 56)
5090 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5091 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5092 383808 : idata = idata + 1
5093 383808 : data_tmp = full_data(idata)
5094 383808 : data_tmp = ISHFT(data_tmp, 56)
5095 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5096 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5097 383808 : idata = idata + 1
5098 383808 : data_tmp = full_data(idata)
5099 383808 : data_tmp = ISHFT(data_tmp, 56)
5100 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5101 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5102 383808 : idata = idata + 1
5103 383808 : data_tmp = full_data(idata)
5104 383808 : data_tmp = ISHFT(data_tmp, 56)
5105 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5106 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5107 383808 : idata = idata + 1
5108 383808 : data_tmp = full_data(idata)
5109 383808 : data_tmp = ISHFT(data_tmp, 56)
5110 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5111 383808 : pack_tmp = ISHFT(pack_tmp, 0)
5112 383808 : idata = idata + 1
5113 383808 : data_tmp = full_data(idata)
5114 : data_tmp = ISHFT(data_tmp, 56)
5115 383808 : data_tmp = IAND(data_tmp, mask_left(0))
5116 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5117 383808 : ipack = ipack + 1
5118 383808 : packed_data(ipack) = pack_tmp
5119 383808 : data_tmp = full_data(idata)
5120 383808 : pack_tmp = ISHFT(data_tmp, 56)
5121 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5122 383808 : idata = idata + 1
5123 383808 : data_tmp = full_data(idata)
5124 383808 : data_tmp = ISHFT(data_tmp, 56)
5125 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5126 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5127 383808 : idata = idata + 1
5128 383808 : data_tmp = full_data(idata)
5129 383808 : data_tmp = ISHFT(data_tmp, 56)
5130 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5131 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5132 383808 : idata = idata + 1
5133 383808 : data_tmp = full_data(idata)
5134 383808 : data_tmp = ISHFT(data_tmp, 56)
5135 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5136 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5137 383808 : idata = idata + 1
5138 383808 : data_tmp = full_data(idata)
5139 383808 : data_tmp = ISHFT(data_tmp, 56)
5140 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5141 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5142 383808 : idata = idata + 1
5143 383808 : data_tmp = full_data(idata)
5144 383808 : data_tmp = ISHFT(data_tmp, 56)
5145 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5146 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5147 383808 : idata = idata + 1
5148 383808 : data_tmp = full_data(idata)
5149 383808 : data_tmp = ISHFT(data_tmp, 56)
5150 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5151 383808 : pack_tmp = ISHFT(pack_tmp, -8)
5152 383808 : idata = idata + 1
5153 383808 : data_tmp = full_data(idata)
5154 383808 : data_tmp = ISHFT(data_tmp, 56)
5155 383808 : pack_tmp = IOR(pack_tmp, data_tmp)
5156 : pack_tmp = ISHFT(pack_tmp, 0)
5157 383808 : pack_tmp = ISHFT(pack_tmp, 0)
5158 383808 : ipack = ipack + 1
5159 383842 : packed_data(ipack) = pack_tmp
5160 : END DO
5161 24022 : 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 24022 : END SUBROUTINE ints2bits_8
5165 :
5166 : ! **************************************************************************************************
5167 : !> \brief ...
5168 : !> \param Ndata ...
5169 : !> \param packed_data ...
5170 : !> \param full_data ...
5171 : ! **************************************************************************************************
5172 99008 : 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 99008 : ipack = 0
5183 99008 : idata = 0
5184 99008 : pack_tmp = 0
5185 99008 : Ndata_rep = (Ndata/64)*64
5186 99008 : DO kdata = 1, Ndata_rep, 64
5187 1578416 : idata = idata + 1
5188 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5189 1578416 : ipack = ipack + 1
5190 1578416 : pack_tmp = packed_data(ipack)
5191 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5192 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5193 1578416 : idata = idata + 1
5194 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5195 1578416 : full_data(idata) = data_tmp
5196 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5197 1578416 : idata = idata + 1
5198 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5199 1578416 : full_data(idata) = data_tmp
5200 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5201 1578416 : idata = idata + 1
5202 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5203 1578416 : full_data(idata) = data_tmp
5204 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5205 1578416 : idata = idata + 1
5206 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5207 1578416 : full_data(idata) = data_tmp
5208 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5209 1578416 : idata = idata + 1
5210 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5211 1578416 : full_data(idata) = data_tmp
5212 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5213 1578416 : idata = idata + 1
5214 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5215 1578416 : full_data(idata) = data_tmp
5216 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5217 1578416 : idata = idata + 1
5218 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5219 1578416 : full_data(idata) = data_tmp
5220 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5221 1578416 : idata = idata + 1
5222 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5223 1578416 : ipack = ipack + 1
5224 1578416 : pack_tmp = packed_data(ipack)
5225 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5226 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5227 1578416 : idata = idata + 1
5228 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5229 1578416 : full_data(idata) = data_tmp
5230 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5231 1578416 : idata = idata + 1
5232 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5233 1578416 : full_data(idata) = data_tmp
5234 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5235 1578416 : idata = idata + 1
5236 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5237 1578416 : full_data(idata) = data_tmp
5238 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5239 1578416 : idata = idata + 1
5240 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5241 1578416 : full_data(idata) = data_tmp
5242 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5243 1578416 : idata = idata + 1
5244 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5245 1578416 : full_data(idata) = data_tmp
5246 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5247 1578416 : idata = idata + 1
5248 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5249 1578416 : full_data(idata) = data_tmp
5250 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5251 1578416 : idata = idata + 1
5252 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5253 1578416 : full_data(idata) = data_tmp
5254 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5255 1578416 : idata = idata + 1
5256 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5257 1578416 : ipack = ipack + 1
5258 1578416 : pack_tmp = packed_data(ipack)
5259 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5260 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5261 1578416 : idata = idata + 1
5262 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5263 1578416 : full_data(idata) = data_tmp
5264 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5265 1578416 : idata = idata + 1
5266 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5267 1578416 : full_data(idata) = data_tmp
5268 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5269 1578416 : idata = idata + 1
5270 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5271 1578416 : full_data(idata) = data_tmp
5272 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5273 1578416 : idata = idata + 1
5274 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5275 1578416 : full_data(idata) = data_tmp
5276 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5277 1578416 : idata = idata + 1
5278 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5279 1578416 : full_data(idata) = data_tmp
5280 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5281 1578416 : idata = idata + 1
5282 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5283 1578416 : full_data(idata) = data_tmp
5284 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5285 1578416 : idata = idata + 1
5286 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5287 1578416 : full_data(idata) = data_tmp
5288 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5289 1578416 : idata = idata + 1
5290 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5291 1578416 : ipack = ipack + 1
5292 1578416 : pack_tmp = packed_data(ipack)
5293 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5294 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5295 1578416 : idata = idata + 1
5296 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5297 1578416 : full_data(idata) = data_tmp
5298 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5299 1578416 : idata = idata + 1
5300 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5301 1578416 : full_data(idata) = data_tmp
5302 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5303 1578416 : idata = idata + 1
5304 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5305 1578416 : full_data(idata) = data_tmp
5306 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5307 1578416 : idata = idata + 1
5308 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5309 1578416 : full_data(idata) = data_tmp
5310 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5311 1578416 : idata = idata + 1
5312 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5313 1578416 : full_data(idata) = data_tmp
5314 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5315 1578416 : idata = idata + 1
5316 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5317 1578416 : full_data(idata) = data_tmp
5318 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5319 1578416 : idata = idata + 1
5320 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5321 1578416 : full_data(idata) = data_tmp
5322 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5323 1578416 : idata = idata + 1
5324 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5325 1578416 : ipack = ipack + 1
5326 1578416 : pack_tmp = packed_data(ipack)
5327 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5328 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5329 1578416 : idata = idata + 1
5330 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5331 1578416 : full_data(idata) = data_tmp
5332 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5333 1578416 : idata = idata + 1
5334 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5335 1578416 : full_data(idata) = data_tmp
5336 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5337 1578416 : idata = idata + 1
5338 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5339 1578416 : full_data(idata) = data_tmp
5340 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5341 1578416 : idata = idata + 1
5342 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5343 1578416 : full_data(idata) = data_tmp
5344 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5345 1578416 : idata = idata + 1
5346 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5347 1578416 : full_data(idata) = data_tmp
5348 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5349 1578416 : idata = idata + 1
5350 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5351 1578416 : full_data(idata) = data_tmp
5352 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5353 1578416 : idata = idata + 1
5354 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5355 1578416 : full_data(idata) = data_tmp
5356 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5357 1578416 : idata = idata + 1
5358 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5359 1578416 : ipack = ipack + 1
5360 1578416 : pack_tmp = packed_data(ipack)
5361 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5362 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5363 1578416 : idata = idata + 1
5364 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5365 1578416 : full_data(idata) = data_tmp
5366 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5367 1578416 : idata = idata + 1
5368 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5369 1578416 : full_data(idata) = data_tmp
5370 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5371 1578416 : idata = idata + 1
5372 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5373 1578416 : full_data(idata) = data_tmp
5374 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5375 1578416 : idata = idata + 1
5376 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5377 1578416 : full_data(idata) = data_tmp
5378 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5379 1578416 : idata = idata + 1
5380 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5381 1578416 : full_data(idata) = data_tmp
5382 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5383 1578416 : idata = idata + 1
5384 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5385 1578416 : full_data(idata) = data_tmp
5386 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5387 1578416 : idata = idata + 1
5388 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5389 1578416 : full_data(idata) = data_tmp
5390 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5391 1578416 : idata = idata + 1
5392 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5393 1578416 : ipack = ipack + 1
5394 1578416 : pack_tmp = packed_data(ipack)
5395 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5396 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5397 1578416 : idata = idata + 1
5398 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5399 1578416 : full_data(idata) = data_tmp
5400 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5401 1578416 : idata = idata + 1
5402 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5403 1578416 : full_data(idata) = data_tmp
5404 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5405 1578416 : idata = idata + 1
5406 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5407 1578416 : full_data(idata) = data_tmp
5408 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5409 1578416 : idata = idata + 1
5410 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5411 1578416 : full_data(idata) = data_tmp
5412 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5413 1578416 : idata = idata + 1
5414 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5415 1578416 : full_data(idata) = data_tmp
5416 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5417 1578416 : idata = idata + 1
5418 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5419 1578416 : full_data(idata) = data_tmp
5420 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5421 1578416 : idata = idata + 1
5422 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5423 1578416 : full_data(idata) = data_tmp
5424 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5425 1578416 : idata = idata + 1
5426 1578416 : data_tmp = ISHFT(pack_tmp, 8)
5427 1578416 : ipack = ipack + 1
5428 1578416 : pack_tmp = packed_data(ipack)
5429 1578416 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5430 1578416 : pack_tmp = ISHFT(pack_tmp, -8)
5431 1578416 : idata = idata + 1
5432 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5433 1578416 : full_data(idata) = data_tmp
5434 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5435 1578416 : idata = idata + 1
5436 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5437 1578416 : full_data(idata) = data_tmp
5438 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5439 1578416 : idata = idata + 1
5440 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5441 1578416 : full_data(idata) = data_tmp
5442 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5443 1578416 : idata = idata + 1
5444 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5445 1578416 : full_data(idata) = data_tmp
5446 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5447 1578416 : idata = idata + 1
5448 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5449 1578416 : full_data(idata) = data_tmp
5450 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5451 1578416 : idata = idata + 1
5452 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5453 1578416 : full_data(idata) = data_tmp
5454 1578416 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5455 1578416 : idata = idata + 1
5456 1578416 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5457 1578416 : full_data(idata) = data_tmp
5458 1578773 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5459 : END DO
5460 99008 : 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 99008 : 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 98342 : 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 98342 : ipack = 0
5872 98342 : idata = 0
5873 98342 : pack_tmp = 0
5874 98342 : Ndata_rep = (Ndata/64)*64
5875 98342 : DO kdata = 1, Ndata_rep, 64
5876 1568219 : idata = idata + 1
5877 1568219 : data_tmp = ISHFT(pack_tmp, 9)
5878 1568219 : ipack = ipack + 1
5879 1568219 : pack_tmp = packed_data(ipack)
5880 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
5881 1568219 : pack_tmp = ISHFT(pack_tmp, -9)
5882 1568219 : idata = idata + 1
5883 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5884 1568219 : full_data(idata) = data_tmp
5885 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5886 1568219 : idata = idata + 1
5887 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5888 1568219 : full_data(idata) = data_tmp
5889 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5890 1568219 : idata = idata + 1
5891 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5892 1568219 : full_data(idata) = data_tmp
5893 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5894 1568219 : idata = idata + 1
5895 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5896 1568219 : full_data(idata) = data_tmp
5897 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5898 1568219 : idata = idata + 1
5899 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5900 1568219 : full_data(idata) = data_tmp
5901 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5902 1568219 : idata = idata + 1
5903 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5904 1568219 : full_data(idata) = data_tmp
5905 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5906 1568219 : idata = idata + 1
5907 1568219 : data_tmp = ISHFT(pack_tmp, 8)
5908 1568219 : ipack = ipack + 1
5909 1568219 : pack_tmp = packed_data(ipack)
5910 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5911 1568219 : pack_tmp = ISHFT(pack_tmp, -8)
5912 1568219 : idata = idata + 1
5913 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5914 1568219 : full_data(idata) = data_tmp
5915 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5916 1568219 : idata = idata + 1
5917 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5918 1568219 : full_data(idata) = data_tmp
5919 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5920 1568219 : idata = idata + 1
5921 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5922 1568219 : full_data(idata) = data_tmp
5923 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5924 1568219 : idata = idata + 1
5925 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5926 1568219 : full_data(idata) = data_tmp
5927 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5928 1568219 : idata = idata + 1
5929 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5930 1568219 : full_data(idata) = data_tmp
5931 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5932 1568219 : idata = idata + 1
5933 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5934 1568219 : full_data(idata) = data_tmp
5935 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5936 1568219 : idata = idata + 1
5937 1568219 : data_tmp = ISHFT(pack_tmp, 7)
5938 1568219 : ipack = ipack + 1
5939 1568219 : pack_tmp = packed_data(ipack)
5940 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
5941 1568219 : pack_tmp = ISHFT(pack_tmp, -7)
5942 1568219 : idata = idata + 1
5943 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5944 1568219 : full_data(idata) = data_tmp
5945 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5946 1568219 : idata = idata + 1
5947 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5948 1568219 : full_data(idata) = data_tmp
5949 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5950 1568219 : idata = idata + 1
5951 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5952 1568219 : full_data(idata) = data_tmp
5953 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5954 1568219 : idata = idata + 1
5955 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5956 1568219 : full_data(idata) = data_tmp
5957 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5958 1568219 : idata = idata + 1
5959 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5960 1568219 : full_data(idata) = data_tmp
5961 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5962 1568219 : idata = idata + 1
5963 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5964 1568219 : full_data(idata) = data_tmp
5965 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5966 1568219 : idata = idata + 1
5967 1568219 : data_tmp = ISHFT(pack_tmp, 6)
5968 1568219 : ipack = ipack + 1
5969 1568219 : pack_tmp = packed_data(ipack)
5970 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
5971 1568219 : pack_tmp = ISHFT(pack_tmp, -6)
5972 1568219 : idata = idata + 1
5973 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5974 1568219 : full_data(idata) = data_tmp
5975 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5976 1568219 : idata = idata + 1
5977 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5978 1568219 : full_data(idata) = data_tmp
5979 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5980 1568219 : idata = idata + 1
5981 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5982 1568219 : full_data(idata) = data_tmp
5983 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5984 1568219 : idata = idata + 1
5985 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5986 1568219 : full_data(idata) = data_tmp
5987 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5988 1568219 : idata = idata + 1
5989 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5990 1568219 : full_data(idata) = data_tmp
5991 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5992 1568219 : idata = idata + 1
5993 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5994 1568219 : full_data(idata) = data_tmp
5995 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5996 1568219 : idata = idata + 1
5997 1568219 : data_tmp = ISHFT(pack_tmp, 5)
5998 1568219 : ipack = ipack + 1
5999 1568219 : pack_tmp = packed_data(ipack)
6000 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
6001 1568219 : pack_tmp = ISHFT(pack_tmp, -5)
6002 1568219 : idata = idata + 1
6003 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6004 1568219 : full_data(idata) = data_tmp
6005 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6006 1568219 : idata = idata + 1
6007 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6008 1568219 : full_data(idata) = data_tmp
6009 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6010 1568219 : idata = idata + 1
6011 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6012 1568219 : full_data(idata) = data_tmp
6013 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6014 1568219 : idata = idata + 1
6015 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6016 1568219 : full_data(idata) = data_tmp
6017 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6018 1568219 : idata = idata + 1
6019 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6020 1568219 : full_data(idata) = data_tmp
6021 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6022 1568219 : idata = idata + 1
6023 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6024 1568219 : full_data(idata) = data_tmp
6025 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6026 1568219 : idata = idata + 1
6027 1568219 : data_tmp = ISHFT(pack_tmp, 4)
6028 1568219 : ipack = ipack + 1
6029 1568219 : pack_tmp = packed_data(ipack)
6030 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6031 1568219 : pack_tmp = ISHFT(pack_tmp, -4)
6032 1568219 : idata = idata + 1
6033 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6034 1568219 : full_data(idata) = data_tmp
6035 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6036 1568219 : idata = idata + 1
6037 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6038 1568219 : full_data(idata) = data_tmp
6039 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6040 1568219 : idata = idata + 1
6041 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6042 1568219 : full_data(idata) = data_tmp
6043 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6044 1568219 : idata = idata + 1
6045 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6046 1568219 : full_data(idata) = data_tmp
6047 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6048 1568219 : idata = idata + 1
6049 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6050 1568219 : full_data(idata) = data_tmp
6051 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6052 1568219 : idata = idata + 1
6053 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6054 1568219 : full_data(idata) = data_tmp
6055 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6056 1568219 : idata = idata + 1
6057 1568219 : data_tmp = ISHFT(pack_tmp, 3)
6058 1568219 : ipack = ipack + 1
6059 1568219 : pack_tmp = packed_data(ipack)
6060 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
6061 1568219 : pack_tmp = ISHFT(pack_tmp, -3)
6062 1568219 : idata = idata + 1
6063 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6064 1568219 : full_data(idata) = data_tmp
6065 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6066 1568219 : idata = idata + 1
6067 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6068 1568219 : full_data(idata) = data_tmp
6069 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6070 1568219 : idata = idata + 1
6071 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6072 1568219 : full_data(idata) = data_tmp
6073 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6074 1568219 : idata = idata + 1
6075 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6076 1568219 : full_data(idata) = data_tmp
6077 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6078 1568219 : idata = idata + 1
6079 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6080 1568219 : full_data(idata) = data_tmp
6081 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6082 1568219 : idata = idata + 1
6083 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6084 1568219 : full_data(idata) = data_tmp
6085 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6086 1568219 : idata = idata + 1
6087 1568219 : data_tmp = ISHFT(pack_tmp, 2)
6088 1568219 : ipack = ipack + 1
6089 1568219 : pack_tmp = packed_data(ipack)
6090 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6091 1568219 : pack_tmp = ISHFT(pack_tmp, -2)
6092 1568219 : idata = idata + 1
6093 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6094 1568219 : full_data(idata) = data_tmp
6095 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6096 1568219 : idata = idata + 1
6097 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6098 1568219 : full_data(idata) = data_tmp
6099 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6100 1568219 : idata = idata + 1
6101 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6102 1568219 : full_data(idata) = data_tmp
6103 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6104 1568219 : idata = idata + 1
6105 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6106 1568219 : full_data(idata) = data_tmp
6107 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6108 1568219 : idata = idata + 1
6109 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6110 1568219 : full_data(idata) = data_tmp
6111 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6112 1568219 : idata = idata + 1
6113 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6114 1568219 : full_data(idata) = data_tmp
6115 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6116 1568219 : idata = idata + 1
6117 1568219 : data_tmp = ISHFT(pack_tmp, 1)
6118 1568219 : ipack = ipack + 1
6119 1568219 : pack_tmp = packed_data(ipack)
6120 1568219 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
6121 1568219 : pack_tmp = ISHFT(pack_tmp, -1)
6122 1568219 : idata = idata + 1
6123 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6124 1568219 : full_data(idata) = data_tmp
6125 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6126 1568219 : idata = idata + 1
6127 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6128 1568219 : full_data(idata) = data_tmp
6129 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6130 1568219 : idata = idata + 1
6131 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6132 1568219 : full_data(idata) = data_tmp
6133 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6134 1568219 : idata = idata + 1
6135 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6136 1568219 : full_data(idata) = data_tmp
6137 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6138 1568219 : idata = idata + 1
6139 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6140 1568219 : full_data(idata) = data_tmp
6141 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6142 1568219 : idata = idata + 1
6143 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6144 1568219 : full_data(idata) = data_tmp
6145 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6146 1568219 : idata = idata + 1
6147 1568219 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6148 1568219 : full_data(idata) = data_tmp
6149 1568219 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6150 : END DO
6151 98342 : 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 98342 : 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 26433 : 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 26433 : idata = 0
6871 26433 : ipack = 0
6872 26433 : Ndata_rep = (Ndata/64)*64
6873 26433 : DO kdata = 1, Ndata_rep, 64
6874 416281 : pack_tmp = 0
6875 416281 : idata = idata + 1
6876 416281 : data_tmp = full_data(idata)
6877 416281 : data_tmp = ISHFT(data_tmp, 53)
6878 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6879 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6880 416281 : idata = idata + 1
6881 416281 : data_tmp = full_data(idata)
6882 416281 : data_tmp = ISHFT(data_tmp, 53)
6883 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6884 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6885 416281 : idata = idata + 1
6886 416281 : data_tmp = full_data(idata)
6887 416281 : data_tmp = ISHFT(data_tmp, 53)
6888 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6889 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6890 416281 : idata = idata + 1
6891 416281 : data_tmp = full_data(idata)
6892 416281 : data_tmp = ISHFT(data_tmp, 53)
6893 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6894 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6895 416281 : idata = idata + 1
6896 416281 : data_tmp = full_data(idata)
6897 416281 : data_tmp = ISHFT(data_tmp, 53)
6898 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6899 416281 : pack_tmp = ISHFT(pack_tmp, -9)
6900 416281 : idata = idata + 1
6901 416281 : data_tmp = full_data(idata)
6902 416281 : data_tmp = ISHFT(data_tmp, 53)
6903 416281 : data_tmp = IAND(data_tmp, mask_left(9))
6904 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6905 416281 : ipack = ipack + 1
6906 416281 : packed_data(ipack) = pack_tmp
6907 416281 : data_tmp = full_data(idata)
6908 416281 : pack_tmp = ISHFT(data_tmp, 62)
6909 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6910 416281 : idata = idata + 1
6911 416281 : data_tmp = full_data(idata)
6912 416281 : data_tmp = ISHFT(data_tmp, 53)
6913 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6914 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6915 416281 : idata = idata + 1
6916 416281 : data_tmp = full_data(idata)
6917 416281 : data_tmp = ISHFT(data_tmp, 53)
6918 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6919 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6920 416281 : idata = idata + 1
6921 416281 : data_tmp = full_data(idata)
6922 416281 : data_tmp = ISHFT(data_tmp, 53)
6923 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6924 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6925 416281 : idata = idata + 1
6926 416281 : data_tmp = full_data(idata)
6927 416281 : data_tmp = ISHFT(data_tmp, 53)
6928 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6929 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6930 416281 : idata = idata + 1
6931 416281 : data_tmp = full_data(idata)
6932 416281 : data_tmp = ISHFT(data_tmp, 53)
6933 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6934 416281 : pack_tmp = ISHFT(pack_tmp, -7)
6935 416281 : idata = idata + 1
6936 416281 : data_tmp = full_data(idata)
6937 416281 : data_tmp = ISHFT(data_tmp, 53)
6938 416281 : data_tmp = IAND(data_tmp, mask_left(7))
6939 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6940 416281 : ipack = ipack + 1
6941 416281 : packed_data(ipack) = pack_tmp
6942 416281 : data_tmp = full_data(idata)
6943 416281 : pack_tmp = ISHFT(data_tmp, 60)
6944 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6945 416281 : idata = idata + 1
6946 416281 : data_tmp = full_data(idata)
6947 416281 : data_tmp = ISHFT(data_tmp, 53)
6948 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6949 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6950 416281 : idata = idata + 1
6951 416281 : data_tmp = full_data(idata)
6952 416281 : data_tmp = ISHFT(data_tmp, 53)
6953 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6954 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6955 416281 : idata = idata + 1
6956 416281 : data_tmp = full_data(idata)
6957 416281 : data_tmp = ISHFT(data_tmp, 53)
6958 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6959 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6960 416281 : idata = idata + 1
6961 416281 : data_tmp = full_data(idata)
6962 416281 : data_tmp = ISHFT(data_tmp, 53)
6963 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6964 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6965 416281 : idata = idata + 1
6966 416281 : data_tmp = full_data(idata)
6967 416281 : data_tmp = ISHFT(data_tmp, 53)
6968 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6969 416281 : pack_tmp = ISHFT(pack_tmp, -5)
6970 416281 : idata = idata + 1
6971 416281 : data_tmp = full_data(idata)
6972 416281 : data_tmp = ISHFT(data_tmp, 53)
6973 416281 : data_tmp = IAND(data_tmp, mask_left(5))
6974 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6975 416281 : ipack = ipack + 1
6976 416281 : packed_data(ipack) = pack_tmp
6977 416281 : data_tmp = full_data(idata)
6978 416281 : pack_tmp = ISHFT(data_tmp, 58)
6979 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6980 416281 : idata = idata + 1
6981 416281 : data_tmp = full_data(idata)
6982 416281 : data_tmp = ISHFT(data_tmp, 53)
6983 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6984 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6985 416281 : idata = idata + 1
6986 416281 : data_tmp = full_data(idata)
6987 416281 : data_tmp = ISHFT(data_tmp, 53)
6988 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6989 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6990 416281 : idata = idata + 1
6991 416281 : data_tmp = full_data(idata)
6992 416281 : data_tmp = ISHFT(data_tmp, 53)
6993 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6994 416281 : pack_tmp = ISHFT(pack_tmp, -11)
6995 416281 : idata = idata + 1
6996 416281 : data_tmp = full_data(idata)
6997 416281 : data_tmp = ISHFT(data_tmp, 53)
6998 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
6999 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7000 416281 : idata = idata + 1
7001 416281 : data_tmp = full_data(idata)
7002 416281 : data_tmp = ISHFT(data_tmp, 53)
7003 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7004 416281 : pack_tmp = ISHFT(pack_tmp, -3)
7005 416281 : idata = idata + 1
7006 416281 : data_tmp = full_data(idata)
7007 416281 : data_tmp = ISHFT(data_tmp, 53)
7008 416281 : data_tmp = IAND(data_tmp, mask_left(3))
7009 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7010 416281 : ipack = ipack + 1
7011 416281 : packed_data(ipack) = pack_tmp
7012 416281 : data_tmp = full_data(idata)
7013 416281 : pack_tmp = ISHFT(data_tmp, 56)
7014 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7015 416281 : idata = idata + 1
7016 416281 : data_tmp = full_data(idata)
7017 416281 : data_tmp = ISHFT(data_tmp, 53)
7018 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7019 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7020 416281 : idata = idata + 1
7021 416281 : data_tmp = full_data(idata)
7022 416281 : data_tmp = ISHFT(data_tmp, 53)
7023 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7024 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7025 416281 : idata = idata + 1
7026 416281 : data_tmp = full_data(idata)
7027 416281 : data_tmp = ISHFT(data_tmp, 53)
7028 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7029 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7030 416281 : idata = idata + 1
7031 416281 : data_tmp = full_data(idata)
7032 416281 : data_tmp = ISHFT(data_tmp, 53)
7033 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7034 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7035 416281 : idata = idata + 1
7036 416281 : data_tmp = full_data(idata)
7037 416281 : data_tmp = ISHFT(data_tmp, 53)
7038 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7039 416281 : pack_tmp = ISHFT(pack_tmp, -1)
7040 416281 : idata = idata + 1
7041 416281 : data_tmp = full_data(idata)
7042 416281 : data_tmp = ISHFT(data_tmp, 53)
7043 416281 : data_tmp = IAND(data_tmp, mask_left(1))
7044 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7045 416281 : ipack = ipack + 1
7046 416281 : packed_data(ipack) = pack_tmp
7047 416281 : data_tmp = full_data(idata)
7048 416281 : pack_tmp = ISHFT(data_tmp, 54)
7049 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7050 416281 : idata = idata + 1
7051 416281 : data_tmp = full_data(idata)
7052 416281 : data_tmp = ISHFT(data_tmp, 53)
7053 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7054 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7055 416281 : idata = idata + 1
7056 416281 : data_tmp = full_data(idata)
7057 416281 : data_tmp = ISHFT(data_tmp, 53)
7058 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7059 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7060 416281 : idata = idata + 1
7061 416281 : data_tmp = full_data(idata)
7062 416281 : data_tmp = ISHFT(data_tmp, 53)
7063 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7064 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7065 416281 : idata = idata + 1
7066 416281 : data_tmp = full_data(idata)
7067 416281 : data_tmp = ISHFT(data_tmp, 53)
7068 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7069 416281 : pack_tmp = ISHFT(pack_tmp, -10)
7070 416281 : idata = idata + 1
7071 416281 : data_tmp = full_data(idata)
7072 416281 : data_tmp = ISHFT(data_tmp, 53)
7073 416281 : data_tmp = IAND(data_tmp, mask_left(10))
7074 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7075 416281 : ipack = ipack + 1
7076 416281 : packed_data(ipack) = pack_tmp
7077 416281 : data_tmp = full_data(idata)
7078 416281 : pack_tmp = ISHFT(data_tmp, 63)
7079 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7080 416281 : idata = idata + 1
7081 416281 : data_tmp = full_data(idata)
7082 416281 : data_tmp = ISHFT(data_tmp, 53)
7083 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7084 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7085 416281 : idata = idata + 1
7086 416281 : data_tmp = full_data(idata)
7087 416281 : data_tmp = ISHFT(data_tmp, 53)
7088 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7089 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7090 416281 : idata = idata + 1
7091 416281 : data_tmp = full_data(idata)
7092 416281 : data_tmp = ISHFT(data_tmp, 53)
7093 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7094 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7095 416281 : idata = idata + 1
7096 416281 : data_tmp = full_data(idata)
7097 416281 : data_tmp = ISHFT(data_tmp, 53)
7098 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7099 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7100 416281 : idata = idata + 1
7101 416281 : data_tmp = full_data(idata)
7102 416281 : data_tmp = ISHFT(data_tmp, 53)
7103 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7104 416281 : pack_tmp = ISHFT(pack_tmp, -8)
7105 416281 : idata = idata + 1
7106 416281 : data_tmp = full_data(idata)
7107 416281 : data_tmp = ISHFT(data_tmp, 53)
7108 416281 : data_tmp = IAND(data_tmp, mask_left(8))
7109 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7110 416281 : ipack = ipack + 1
7111 416281 : packed_data(ipack) = pack_tmp
7112 416281 : data_tmp = full_data(idata)
7113 416281 : pack_tmp = ISHFT(data_tmp, 61)
7114 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7115 416281 : idata = idata + 1
7116 416281 : data_tmp = full_data(idata)
7117 416281 : data_tmp = ISHFT(data_tmp, 53)
7118 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7119 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7120 416281 : idata = idata + 1
7121 416281 : data_tmp = full_data(idata)
7122 416281 : data_tmp = ISHFT(data_tmp, 53)
7123 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7124 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7125 416281 : idata = idata + 1
7126 416281 : data_tmp = full_data(idata)
7127 416281 : data_tmp = ISHFT(data_tmp, 53)
7128 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7129 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7130 416281 : idata = idata + 1
7131 416281 : data_tmp = full_data(idata)
7132 416281 : data_tmp = ISHFT(data_tmp, 53)
7133 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7134 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7135 416281 : idata = idata + 1
7136 416281 : data_tmp = full_data(idata)
7137 416281 : data_tmp = ISHFT(data_tmp, 53)
7138 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7139 416281 : pack_tmp = ISHFT(pack_tmp, -6)
7140 416281 : idata = idata + 1
7141 416281 : data_tmp = full_data(idata)
7142 416281 : data_tmp = ISHFT(data_tmp, 53)
7143 416281 : data_tmp = IAND(data_tmp, mask_left(6))
7144 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7145 416281 : ipack = ipack + 1
7146 416281 : packed_data(ipack) = pack_tmp
7147 416281 : data_tmp = full_data(idata)
7148 416281 : pack_tmp = ISHFT(data_tmp, 59)
7149 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7150 416281 : idata = idata + 1
7151 416281 : data_tmp = full_data(idata)
7152 416281 : data_tmp = ISHFT(data_tmp, 53)
7153 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7154 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7155 416281 : idata = idata + 1
7156 416281 : data_tmp = full_data(idata)
7157 416281 : data_tmp = ISHFT(data_tmp, 53)
7158 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7159 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7160 416281 : idata = idata + 1
7161 416281 : data_tmp = full_data(idata)
7162 416281 : data_tmp = ISHFT(data_tmp, 53)
7163 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7164 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7165 416281 : idata = idata + 1
7166 416281 : data_tmp = full_data(idata)
7167 416281 : data_tmp = ISHFT(data_tmp, 53)
7168 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7169 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7170 416281 : idata = idata + 1
7171 416281 : data_tmp = full_data(idata)
7172 416281 : data_tmp = ISHFT(data_tmp, 53)
7173 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7174 416281 : pack_tmp = ISHFT(pack_tmp, -4)
7175 416281 : idata = idata + 1
7176 416281 : data_tmp = full_data(idata)
7177 416281 : data_tmp = ISHFT(data_tmp, 53)
7178 416281 : data_tmp = IAND(data_tmp, mask_left(4))
7179 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7180 416281 : ipack = ipack + 1
7181 416281 : packed_data(ipack) = pack_tmp
7182 416281 : data_tmp = full_data(idata)
7183 416281 : pack_tmp = ISHFT(data_tmp, 57)
7184 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7185 416281 : idata = idata + 1
7186 416281 : data_tmp = full_data(idata)
7187 416281 : data_tmp = ISHFT(data_tmp, 53)
7188 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7189 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7190 416281 : idata = idata + 1
7191 416281 : data_tmp = full_data(idata)
7192 416281 : data_tmp = ISHFT(data_tmp, 53)
7193 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7194 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7195 416281 : idata = idata + 1
7196 416281 : data_tmp = full_data(idata)
7197 416281 : data_tmp = ISHFT(data_tmp, 53)
7198 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7199 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7200 416281 : idata = idata + 1
7201 416281 : data_tmp = full_data(idata)
7202 416281 : data_tmp = ISHFT(data_tmp, 53)
7203 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7204 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7205 416281 : idata = idata + 1
7206 416281 : data_tmp = full_data(idata)
7207 416281 : data_tmp = ISHFT(data_tmp, 53)
7208 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7209 416281 : pack_tmp = ISHFT(pack_tmp, -2)
7210 416281 : idata = idata + 1
7211 416281 : data_tmp = full_data(idata)
7212 416281 : data_tmp = ISHFT(data_tmp, 53)
7213 416281 : data_tmp = IAND(data_tmp, mask_left(2))
7214 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7215 416281 : ipack = ipack + 1
7216 416281 : packed_data(ipack) = pack_tmp
7217 416281 : data_tmp = full_data(idata)
7218 416281 : pack_tmp = ISHFT(data_tmp, 55)
7219 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7220 416281 : idata = idata + 1
7221 416281 : data_tmp = full_data(idata)
7222 416281 : data_tmp = ISHFT(data_tmp, 53)
7223 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7224 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7225 416281 : idata = idata + 1
7226 416281 : data_tmp = full_data(idata)
7227 416281 : data_tmp = ISHFT(data_tmp, 53)
7228 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7229 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7230 416281 : idata = idata + 1
7231 416281 : data_tmp = full_data(idata)
7232 416281 : data_tmp = ISHFT(data_tmp, 53)
7233 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7234 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7235 416281 : idata = idata + 1
7236 416281 : data_tmp = full_data(idata)
7237 416281 : data_tmp = ISHFT(data_tmp, 53)
7238 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7239 416281 : pack_tmp = ISHFT(pack_tmp, -11)
7240 416281 : idata = idata + 1
7241 416281 : data_tmp = full_data(idata)
7242 416281 : data_tmp = ISHFT(data_tmp, 53)
7243 416281 : pack_tmp = IOR(pack_tmp, data_tmp)
7244 : pack_tmp = ISHFT(pack_tmp, 0)
7245 416281 : pack_tmp = ISHFT(pack_tmp, 0)
7246 416281 : ipack = ipack + 1
7247 416318 : packed_data(ipack) = pack_tmp
7248 : END DO
7249 26433 : 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 26433 : END SUBROUTINE ints2bits_11
7253 :
7254 : ! **************************************************************************************************
7255 : !> \brief ...
7256 : !> \param Ndata ...
7257 : !> \param packed_data ...
7258 : !> \param full_data ...
7259 : ! **************************************************************************************************
7260 116992 : 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 116992 : ipack = 0
7271 116992 : idata = 0
7272 116992 : pack_tmp = 0
7273 116992 : Ndata_rep = (Ndata/64)*64
7274 116992 : DO kdata = 1, Ndata_rep, 64
7275 1821552 : idata = idata + 1
7276 1821552 : data_tmp = ISHFT(pack_tmp, 11)
7277 1821552 : ipack = ipack + 1
7278 1821552 : pack_tmp = packed_data(ipack)
7279 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
7280 1821552 : pack_tmp = ISHFT(pack_tmp, -11)
7281 1821552 : idata = idata + 1
7282 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7283 1821552 : full_data(idata) = data_tmp
7284 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7285 1821552 : idata = idata + 1
7286 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7287 1821552 : full_data(idata) = data_tmp
7288 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7289 1821552 : idata = idata + 1
7290 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7291 1821552 : full_data(idata) = data_tmp
7292 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7293 1821552 : idata = idata + 1
7294 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7295 1821552 : full_data(idata) = data_tmp
7296 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7297 1821552 : idata = idata + 1
7298 1821552 : data_tmp = ISHFT(pack_tmp, 2)
7299 1821552 : ipack = ipack + 1
7300 1821552 : pack_tmp = packed_data(ipack)
7301 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
7302 1821552 : pack_tmp = ISHFT(pack_tmp, -2)
7303 1821552 : idata = idata + 1
7304 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7305 1821552 : full_data(idata) = data_tmp
7306 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7307 1821552 : idata = idata + 1
7308 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7309 1821552 : full_data(idata) = data_tmp
7310 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7311 1821552 : idata = idata + 1
7312 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7313 1821552 : full_data(idata) = data_tmp
7314 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7315 1821552 : idata = idata + 1
7316 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7317 1821552 : full_data(idata) = data_tmp
7318 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7319 1821552 : idata = idata + 1
7320 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7321 1821552 : full_data(idata) = data_tmp
7322 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7323 1821552 : idata = idata + 1
7324 1821552 : data_tmp = ISHFT(pack_tmp, 4)
7325 1821552 : ipack = ipack + 1
7326 1821552 : pack_tmp = packed_data(ipack)
7327 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
7328 1821552 : pack_tmp = ISHFT(pack_tmp, -4)
7329 1821552 : idata = idata + 1
7330 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7331 1821552 : full_data(idata) = data_tmp
7332 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7333 1821552 : idata = idata + 1
7334 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7335 1821552 : full_data(idata) = data_tmp
7336 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7337 1821552 : idata = idata + 1
7338 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7339 1821552 : full_data(idata) = data_tmp
7340 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7341 1821552 : idata = idata + 1
7342 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7343 1821552 : full_data(idata) = data_tmp
7344 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7345 1821552 : idata = idata + 1
7346 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7347 1821552 : full_data(idata) = data_tmp
7348 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7349 1821552 : idata = idata + 1
7350 1821552 : data_tmp = ISHFT(pack_tmp, 6)
7351 1821552 : ipack = ipack + 1
7352 1821552 : pack_tmp = packed_data(ipack)
7353 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
7354 1821552 : pack_tmp = ISHFT(pack_tmp, -6)
7355 1821552 : idata = idata + 1
7356 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7357 1821552 : full_data(idata) = data_tmp
7358 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7359 1821552 : idata = idata + 1
7360 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7361 1821552 : full_data(idata) = data_tmp
7362 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7363 1821552 : idata = idata + 1
7364 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7365 1821552 : full_data(idata) = data_tmp
7366 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7367 1821552 : idata = idata + 1
7368 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7369 1821552 : full_data(idata) = data_tmp
7370 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7371 1821552 : idata = idata + 1
7372 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7373 1821552 : full_data(idata) = data_tmp
7374 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7375 1821552 : idata = idata + 1
7376 1821552 : data_tmp = ISHFT(pack_tmp, 8)
7377 1821552 : ipack = ipack + 1
7378 1821552 : pack_tmp = packed_data(ipack)
7379 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
7380 1821552 : pack_tmp = ISHFT(pack_tmp, -8)
7381 1821552 : idata = idata + 1
7382 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7383 1821552 : full_data(idata) = data_tmp
7384 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7385 1821552 : idata = idata + 1
7386 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7387 1821552 : full_data(idata) = data_tmp
7388 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7389 1821552 : idata = idata + 1
7390 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7391 1821552 : full_data(idata) = data_tmp
7392 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7393 1821552 : idata = idata + 1
7394 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7395 1821552 : full_data(idata) = data_tmp
7396 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7397 1821552 : idata = idata + 1
7398 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7399 1821552 : full_data(idata) = data_tmp
7400 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7401 1821552 : idata = idata + 1
7402 1821552 : data_tmp = ISHFT(pack_tmp, 10)
7403 1821552 : ipack = ipack + 1
7404 1821552 : pack_tmp = packed_data(ipack)
7405 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
7406 1821552 : pack_tmp = ISHFT(pack_tmp, -10)
7407 1821552 : idata = idata + 1
7408 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7409 1821552 : full_data(idata) = data_tmp
7410 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7411 1821552 : idata = idata + 1
7412 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7413 1821552 : full_data(idata) = data_tmp
7414 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7415 1821552 : idata = idata + 1
7416 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7417 1821552 : full_data(idata) = data_tmp
7418 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7419 1821552 : idata = idata + 1
7420 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7421 1821552 : full_data(idata) = data_tmp
7422 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7423 1821552 : idata = idata + 1
7424 1821552 : data_tmp = ISHFT(pack_tmp, 1)
7425 1821552 : ipack = ipack + 1
7426 1821552 : pack_tmp = packed_data(ipack)
7427 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
7428 1821552 : pack_tmp = ISHFT(pack_tmp, -1)
7429 1821552 : idata = idata + 1
7430 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7431 1821552 : full_data(idata) = data_tmp
7432 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7433 1821552 : idata = idata + 1
7434 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7435 1821552 : full_data(idata) = data_tmp
7436 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7437 1821552 : idata = idata + 1
7438 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7439 1821552 : full_data(idata) = data_tmp
7440 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7441 1821552 : idata = idata + 1
7442 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7443 1821552 : full_data(idata) = data_tmp
7444 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7445 1821552 : idata = idata + 1
7446 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7447 1821552 : full_data(idata) = data_tmp
7448 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7449 1821552 : idata = idata + 1
7450 1821552 : data_tmp = ISHFT(pack_tmp, 3)
7451 1821552 : ipack = ipack + 1
7452 1821552 : pack_tmp = packed_data(ipack)
7453 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
7454 1821552 : pack_tmp = ISHFT(pack_tmp, -3)
7455 1821552 : idata = idata + 1
7456 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7457 1821552 : full_data(idata) = data_tmp
7458 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7459 1821552 : idata = idata + 1
7460 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7461 1821552 : full_data(idata) = data_tmp
7462 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7463 1821552 : idata = idata + 1
7464 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7465 1821552 : full_data(idata) = data_tmp
7466 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7467 1821552 : idata = idata + 1
7468 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7469 1821552 : full_data(idata) = data_tmp
7470 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7471 1821552 : idata = idata + 1
7472 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7473 1821552 : full_data(idata) = data_tmp
7474 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7475 1821552 : idata = idata + 1
7476 1821552 : data_tmp = ISHFT(pack_tmp, 5)
7477 1821552 : ipack = ipack + 1
7478 1821552 : pack_tmp = packed_data(ipack)
7479 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
7480 1821552 : pack_tmp = ISHFT(pack_tmp, -5)
7481 1821552 : idata = idata + 1
7482 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7483 1821552 : full_data(idata) = data_tmp
7484 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7485 1821552 : idata = idata + 1
7486 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7487 1821552 : full_data(idata) = data_tmp
7488 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7489 1821552 : idata = idata + 1
7490 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7491 1821552 : full_data(idata) = data_tmp
7492 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7493 1821552 : idata = idata + 1
7494 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7495 1821552 : full_data(idata) = data_tmp
7496 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7497 1821552 : idata = idata + 1
7498 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7499 1821552 : full_data(idata) = data_tmp
7500 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7501 1821552 : idata = idata + 1
7502 1821552 : data_tmp = ISHFT(pack_tmp, 7)
7503 1821552 : ipack = ipack + 1
7504 1821552 : pack_tmp = packed_data(ipack)
7505 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
7506 1821552 : pack_tmp = ISHFT(pack_tmp, -7)
7507 1821552 : idata = idata + 1
7508 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7509 1821552 : full_data(idata) = data_tmp
7510 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7511 1821552 : idata = idata + 1
7512 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7513 1821552 : full_data(idata) = data_tmp
7514 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7515 1821552 : idata = idata + 1
7516 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7517 1821552 : full_data(idata) = data_tmp
7518 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7519 1821552 : idata = idata + 1
7520 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7521 1821552 : full_data(idata) = data_tmp
7522 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7523 1821552 : idata = idata + 1
7524 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7525 1821552 : full_data(idata) = data_tmp
7526 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7527 1821552 : idata = idata + 1
7528 1821552 : data_tmp = ISHFT(pack_tmp, 9)
7529 1821552 : ipack = ipack + 1
7530 1821552 : pack_tmp = packed_data(ipack)
7531 1821552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
7532 1821552 : pack_tmp = ISHFT(pack_tmp, -9)
7533 1821552 : idata = idata + 1
7534 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7535 1821552 : full_data(idata) = data_tmp
7536 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7537 1821552 : idata = idata + 1
7538 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7539 1821552 : full_data(idata) = data_tmp
7540 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7541 1821552 : idata = idata + 1
7542 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7543 1821552 : full_data(idata) = data_tmp
7544 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7545 1821552 : idata = idata + 1
7546 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7547 1821552 : full_data(idata) = data_tmp
7548 1821552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7549 1821552 : idata = idata + 1
7550 1821552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7551 1821552 : full_data(idata) = data_tmp
7552 1821833 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7553 : END DO
7554 116992 : 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 116992 : END SUBROUTINE bits2ints_11
7558 :
7559 : ! **************************************************************************************************
7560 : !> \brief ...
7561 : !> \param Ndata ...
7562 : !> \param packed_data ...
7563 : !> \param full_data ...
7564 : ! **************************************************************************************************
7565 26679 : 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 26679 : idata = 0
7576 26679 : ipack = 0
7577 26679 : Ndata_rep = (Ndata/64)*64
7578 26679 : DO kdata = 1, Ndata_rep, 64
7579 419044 : pack_tmp = 0
7580 419044 : idata = idata + 1
7581 419044 : data_tmp = full_data(idata)
7582 419044 : data_tmp = ISHFT(data_tmp, 52)
7583 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7584 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7585 419044 : idata = idata + 1
7586 419044 : data_tmp = full_data(idata)
7587 419044 : data_tmp = ISHFT(data_tmp, 52)
7588 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7589 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7590 419044 : idata = idata + 1
7591 419044 : data_tmp = full_data(idata)
7592 419044 : data_tmp = ISHFT(data_tmp, 52)
7593 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7594 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7595 419044 : idata = idata + 1
7596 419044 : data_tmp = full_data(idata)
7597 419044 : data_tmp = ISHFT(data_tmp, 52)
7598 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7599 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7600 419044 : idata = idata + 1
7601 419044 : data_tmp = full_data(idata)
7602 419044 : data_tmp = ISHFT(data_tmp, 52)
7603 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7604 419044 : pack_tmp = ISHFT(pack_tmp, -4)
7605 419044 : idata = idata + 1
7606 419044 : data_tmp = full_data(idata)
7607 419044 : data_tmp = ISHFT(data_tmp, 52)
7608 419044 : data_tmp = IAND(data_tmp, mask_left(4))
7609 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7610 419044 : ipack = ipack + 1
7611 419044 : packed_data(ipack) = pack_tmp
7612 419044 : data_tmp = full_data(idata)
7613 419044 : pack_tmp = ISHFT(data_tmp, 56)
7614 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7615 419044 : idata = idata + 1
7616 419044 : data_tmp = full_data(idata)
7617 419044 : data_tmp = ISHFT(data_tmp, 52)
7618 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7619 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7620 419044 : idata = idata + 1
7621 419044 : data_tmp = full_data(idata)
7622 419044 : data_tmp = ISHFT(data_tmp, 52)
7623 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7624 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7625 419044 : idata = idata + 1
7626 419044 : data_tmp = full_data(idata)
7627 419044 : data_tmp = ISHFT(data_tmp, 52)
7628 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7629 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7630 419044 : idata = idata + 1
7631 419044 : data_tmp = full_data(idata)
7632 419044 : data_tmp = ISHFT(data_tmp, 52)
7633 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7634 419044 : pack_tmp = ISHFT(pack_tmp, -8)
7635 419044 : idata = idata + 1
7636 419044 : data_tmp = full_data(idata)
7637 419044 : data_tmp = ISHFT(data_tmp, 52)
7638 419044 : data_tmp = IAND(data_tmp, mask_left(8))
7639 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7640 419044 : ipack = ipack + 1
7641 419044 : packed_data(ipack) = pack_tmp
7642 419044 : data_tmp = full_data(idata)
7643 419044 : pack_tmp = ISHFT(data_tmp, 60)
7644 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7645 419044 : idata = idata + 1
7646 419044 : data_tmp = full_data(idata)
7647 419044 : data_tmp = ISHFT(data_tmp, 52)
7648 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7649 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7650 419044 : idata = idata + 1
7651 419044 : data_tmp = full_data(idata)
7652 419044 : data_tmp = ISHFT(data_tmp, 52)
7653 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7654 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7655 419044 : idata = idata + 1
7656 419044 : data_tmp = full_data(idata)
7657 419044 : data_tmp = ISHFT(data_tmp, 52)
7658 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7659 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7660 419044 : idata = idata + 1
7661 419044 : data_tmp = full_data(idata)
7662 419044 : data_tmp = ISHFT(data_tmp, 52)
7663 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7664 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7665 419044 : idata = idata + 1
7666 419044 : data_tmp = full_data(idata)
7667 419044 : data_tmp = ISHFT(data_tmp, 52)
7668 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7669 419044 : pack_tmp = ISHFT(pack_tmp, 0)
7670 419044 : idata = idata + 1
7671 419044 : data_tmp = full_data(idata)
7672 : data_tmp = ISHFT(data_tmp, 52)
7673 419044 : data_tmp = IAND(data_tmp, mask_left(0))
7674 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7675 419044 : ipack = ipack + 1
7676 419044 : packed_data(ipack) = pack_tmp
7677 419044 : data_tmp = full_data(idata)
7678 419044 : pack_tmp = ISHFT(data_tmp, 52)
7679 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7680 419044 : idata = idata + 1
7681 419044 : data_tmp = full_data(idata)
7682 419044 : data_tmp = ISHFT(data_tmp, 52)
7683 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7684 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7685 419044 : idata = idata + 1
7686 419044 : data_tmp = full_data(idata)
7687 419044 : data_tmp = ISHFT(data_tmp, 52)
7688 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7689 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7690 419044 : idata = idata + 1
7691 419044 : data_tmp = full_data(idata)
7692 419044 : data_tmp = ISHFT(data_tmp, 52)
7693 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7694 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7695 419044 : idata = idata + 1
7696 419044 : data_tmp = full_data(idata)
7697 419044 : data_tmp = ISHFT(data_tmp, 52)
7698 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7699 419044 : pack_tmp = ISHFT(pack_tmp, -4)
7700 419044 : idata = idata + 1
7701 419044 : data_tmp = full_data(idata)
7702 419044 : data_tmp = ISHFT(data_tmp, 52)
7703 419044 : data_tmp = IAND(data_tmp, mask_left(4))
7704 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7705 419044 : ipack = ipack + 1
7706 419044 : packed_data(ipack) = pack_tmp
7707 419044 : data_tmp = full_data(idata)
7708 419044 : pack_tmp = ISHFT(data_tmp, 56)
7709 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7710 419044 : idata = idata + 1
7711 419044 : data_tmp = full_data(idata)
7712 419044 : data_tmp = ISHFT(data_tmp, 52)
7713 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7714 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7715 419044 : idata = idata + 1
7716 419044 : data_tmp = full_data(idata)
7717 419044 : data_tmp = ISHFT(data_tmp, 52)
7718 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7719 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7720 419044 : idata = idata + 1
7721 419044 : data_tmp = full_data(idata)
7722 419044 : data_tmp = ISHFT(data_tmp, 52)
7723 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7724 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7725 419044 : idata = idata + 1
7726 419044 : data_tmp = full_data(idata)
7727 419044 : data_tmp = ISHFT(data_tmp, 52)
7728 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7729 419044 : pack_tmp = ISHFT(pack_tmp, -8)
7730 419044 : idata = idata + 1
7731 419044 : data_tmp = full_data(idata)
7732 419044 : data_tmp = ISHFT(data_tmp, 52)
7733 419044 : data_tmp = IAND(data_tmp, mask_left(8))
7734 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7735 419044 : ipack = ipack + 1
7736 419044 : packed_data(ipack) = pack_tmp
7737 419044 : data_tmp = full_data(idata)
7738 419044 : pack_tmp = ISHFT(data_tmp, 60)
7739 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7740 419044 : idata = idata + 1
7741 419044 : data_tmp = full_data(idata)
7742 419044 : data_tmp = ISHFT(data_tmp, 52)
7743 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7744 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7745 419044 : idata = idata + 1
7746 419044 : data_tmp = full_data(idata)
7747 419044 : data_tmp = ISHFT(data_tmp, 52)
7748 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7749 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7750 419044 : idata = idata + 1
7751 419044 : data_tmp = full_data(idata)
7752 419044 : data_tmp = ISHFT(data_tmp, 52)
7753 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7754 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7755 419044 : idata = idata + 1
7756 419044 : data_tmp = full_data(idata)
7757 419044 : data_tmp = ISHFT(data_tmp, 52)
7758 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7759 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7760 419044 : idata = idata + 1
7761 419044 : data_tmp = full_data(idata)
7762 419044 : data_tmp = ISHFT(data_tmp, 52)
7763 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7764 419044 : pack_tmp = ISHFT(pack_tmp, 0)
7765 419044 : idata = idata + 1
7766 419044 : data_tmp = full_data(idata)
7767 : data_tmp = ISHFT(data_tmp, 52)
7768 419044 : data_tmp = IAND(data_tmp, mask_left(0))
7769 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7770 419044 : ipack = ipack + 1
7771 419044 : packed_data(ipack) = pack_tmp
7772 419044 : data_tmp = full_data(idata)
7773 419044 : pack_tmp = ISHFT(data_tmp, 52)
7774 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7775 419044 : idata = idata + 1
7776 419044 : data_tmp = full_data(idata)
7777 419044 : data_tmp = ISHFT(data_tmp, 52)
7778 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7779 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7780 419044 : idata = idata + 1
7781 419044 : data_tmp = full_data(idata)
7782 419044 : data_tmp = ISHFT(data_tmp, 52)
7783 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7784 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7785 419044 : idata = idata + 1
7786 419044 : data_tmp = full_data(idata)
7787 419044 : data_tmp = ISHFT(data_tmp, 52)
7788 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7789 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7790 419044 : idata = idata + 1
7791 419044 : data_tmp = full_data(idata)
7792 419044 : data_tmp = ISHFT(data_tmp, 52)
7793 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7794 419044 : pack_tmp = ISHFT(pack_tmp, -4)
7795 419044 : idata = idata + 1
7796 419044 : data_tmp = full_data(idata)
7797 419044 : data_tmp = ISHFT(data_tmp, 52)
7798 419044 : data_tmp = IAND(data_tmp, mask_left(4))
7799 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7800 419044 : ipack = ipack + 1
7801 419044 : packed_data(ipack) = pack_tmp
7802 419044 : data_tmp = full_data(idata)
7803 419044 : pack_tmp = ISHFT(data_tmp, 56)
7804 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7805 419044 : idata = idata + 1
7806 419044 : data_tmp = full_data(idata)
7807 419044 : data_tmp = ISHFT(data_tmp, 52)
7808 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7809 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7810 419044 : idata = idata + 1
7811 419044 : data_tmp = full_data(idata)
7812 419044 : data_tmp = ISHFT(data_tmp, 52)
7813 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7814 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7815 419044 : idata = idata + 1
7816 419044 : data_tmp = full_data(idata)
7817 419044 : data_tmp = ISHFT(data_tmp, 52)
7818 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7819 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7820 419044 : idata = idata + 1
7821 419044 : data_tmp = full_data(idata)
7822 419044 : data_tmp = ISHFT(data_tmp, 52)
7823 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7824 419044 : pack_tmp = ISHFT(pack_tmp, -8)
7825 419044 : idata = idata + 1
7826 419044 : data_tmp = full_data(idata)
7827 419044 : data_tmp = ISHFT(data_tmp, 52)
7828 419044 : data_tmp = IAND(data_tmp, mask_left(8))
7829 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7830 419044 : ipack = ipack + 1
7831 419044 : packed_data(ipack) = pack_tmp
7832 419044 : data_tmp = full_data(idata)
7833 419044 : pack_tmp = ISHFT(data_tmp, 60)
7834 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7835 419044 : idata = idata + 1
7836 419044 : data_tmp = full_data(idata)
7837 419044 : data_tmp = ISHFT(data_tmp, 52)
7838 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7839 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7840 419044 : idata = idata + 1
7841 419044 : data_tmp = full_data(idata)
7842 419044 : data_tmp = ISHFT(data_tmp, 52)
7843 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7844 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7845 419044 : idata = idata + 1
7846 419044 : data_tmp = full_data(idata)
7847 419044 : data_tmp = ISHFT(data_tmp, 52)
7848 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7849 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7850 419044 : idata = idata + 1
7851 419044 : data_tmp = full_data(idata)
7852 419044 : data_tmp = ISHFT(data_tmp, 52)
7853 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7854 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7855 419044 : idata = idata + 1
7856 419044 : data_tmp = full_data(idata)
7857 419044 : data_tmp = ISHFT(data_tmp, 52)
7858 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7859 419044 : pack_tmp = ISHFT(pack_tmp, 0)
7860 419044 : idata = idata + 1
7861 419044 : data_tmp = full_data(idata)
7862 : data_tmp = ISHFT(data_tmp, 52)
7863 419044 : data_tmp = IAND(data_tmp, mask_left(0))
7864 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7865 419044 : ipack = ipack + 1
7866 419044 : packed_data(ipack) = pack_tmp
7867 419044 : data_tmp = full_data(idata)
7868 419044 : pack_tmp = ISHFT(data_tmp, 52)
7869 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7870 419044 : idata = idata + 1
7871 419044 : data_tmp = full_data(idata)
7872 419044 : data_tmp = ISHFT(data_tmp, 52)
7873 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7874 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7875 419044 : idata = idata + 1
7876 419044 : data_tmp = full_data(idata)
7877 419044 : data_tmp = ISHFT(data_tmp, 52)
7878 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7879 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7880 419044 : idata = idata + 1
7881 419044 : data_tmp = full_data(idata)
7882 419044 : data_tmp = ISHFT(data_tmp, 52)
7883 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7884 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7885 419044 : idata = idata + 1
7886 419044 : data_tmp = full_data(idata)
7887 419044 : data_tmp = ISHFT(data_tmp, 52)
7888 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7889 419044 : pack_tmp = ISHFT(pack_tmp, -4)
7890 419044 : idata = idata + 1
7891 419044 : data_tmp = full_data(idata)
7892 419044 : data_tmp = ISHFT(data_tmp, 52)
7893 419044 : data_tmp = IAND(data_tmp, mask_left(4))
7894 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7895 419044 : ipack = ipack + 1
7896 419044 : packed_data(ipack) = pack_tmp
7897 419044 : data_tmp = full_data(idata)
7898 419044 : pack_tmp = ISHFT(data_tmp, 56)
7899 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7900 419044 : idata = idata + 1
7901 419044 : data_tmp = full_data(idata)
7902 419044 : data_tmp = ISHFT(data_tmp, 52)
7903 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7904 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7905 419044 : idata = idata + 1
7906 419044 : data_tmp = full_data(idata)
7907 419044 : data_tmp = ISHFT(data_tmp, 52)
7908 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7909 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7910 419044 : idata = idata + 1
7911 419044 : data_tmp = full_data(idata)
7912 419044 : data_tmp = ISHFT(data_tmp, 52)
7913 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7914 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7915 419044 : idata = idata + 1
7916 419044 : data_tmp = full_data(idata)
7917 419044 : data_tmp = ISHFT(data_tmp, 52)
7918 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7919 419044 : pack_tmp = ISHFT(pack_tmp, -8)
7920 419044 : idata = idata + 1
7921 419044 : data_tmp = full_data(idata)
7922 419044 : data_tmp = ISHFT(data_tmp, 52)
7923 419044 : data_tmp = IAND(data_tmp, mask_left(8))
7924 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7925 419044 : ipack = ipack + 1
7926 419044 : packed_data(ipack) = pack_tmp
7927 419044 : data_tmp = full_data(idata)
7928 419044 : pack_tmp = ISHFT(data_tmp, 60)
7929 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7930 419044 : idata = idata + 1
7931 419044 : data_tmp = full_data(idata)
7932 419044 : data_tmp = ISHFT(data_tmp, 52)
7933 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7934 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7935 419044 : idata = idata + 1
7936 419044 : data_tmp = full_data(idata)
7937 419044 : data_tmp = ISHFT(data_tmp, 52)
7938 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7939 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7940 419044 : idata = idata + 1
7941 419044 : data_tmp = full_data(idata)
7942 419044 : data_tmp = ISHFT(data_tmp, 52)
7943 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7944 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7945 419044 : idata = idata + 1
7946 419044 : data_tmp = full_data(idata)
7947 419044 : data_tmp = ISHFT(data_tmp, 52)
7948 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7949 419044 : pack_tmp = ISHFT(pack_tmp, -12)
7950 419044 : idata = idata + 1
7951 419044 : data_tmp = full_data(idata)
7952 419044 : data_tmp = ISHFT(data_tmp, 52)
7953 419044 : pack_tmp = IOR(pack_tmp, data_tmp)
7954 : pack_tmp = ISHFT(pack_tmp, 0)
7955 419044 : pack_tmp = ISHFT(pack_tmp, 0)
7956 419044 : ipack = ipack + 1
7957 419109 : packed_data(ipack) = pack_tmp
7958 : END DO
7959 26679 : IF (Ndata_rep < Ndata) THEN
7960 920 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
7961 : END IF
7962 26679 : END SUBROUTINE ints2bits_12
7963 :
7964 : ! **************************************************************************************************
7965 : !> \brief ...
7966 : !> \param Ndata ...
7967 : !> \param packed_data ...
7968 : !> \param full_data ...
7969 : ! **************************************************************************************************
7970 118924 : 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 118924 : ipack = 0
7981 118924 : idata = 0
7982 118924 : pack_tmp = 0
7983 118924 : Ndata_rep = (Ndata/64)*64
7984 118924 : DO kdata = 1, Ndata_rep, 64
7985 1843760 : idata = idata + 1
7986 1843760 : data_tmp = ISHFT(pack_tmp, 12)
7987 1843760 : ipack = ipack + 1
7988 1843760 : pack_tmp = packed_data(ipack)
7989 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
7990 1843760 : pack_tmp = ISHFT(pack_tmp, -12)
7991 1843760 : idata = idata + 1
7992 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7993 1843760 : full_data(idata) = data_tmp
7994 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7995 1843760 : idata = idata + 1
7996 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7997 1843760 : full_data(idata) = data_tmp
7998 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7999 1843760 : idata = idata + 1
8000 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8001 1843760 : full_data(idata) = data_tmp
8002 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8003 1843760 : idata = idata + 1
8004 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8005 1843760 : full_data(idata) = data_tmp
8006 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8007 1843760 : idata = idata + 1
8008 1843760 : data_tmp = ISHFT(pack_tmp, 8)
8009 1843760 : ipack = ipack + 1
8010 1843760 : pack_tmp = packed_data(ipack)
8011 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8012 1843760 : pack_tmp = ISHFT(pack_tmp, -8)
8013 1843760 : idata = idata + 1
8014 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8015 1843760 : full_data(idata) = data_tmp
8016 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8017 1843760 : idata = idata + 1
8018 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8019 1843760 : full_data(idata) = data_tmp
8020 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8021 1843760 : idata = idata + 1
8022 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8023 1843760 : full_data(idata) = data_tmp
8024 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8025 1843760 : idata = idata + 1
8026 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8027 1843760 : full_data(idata) = data_tmp
8028 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8029 1843760 : idata = idata + 1
8030 1843760 : data_tmp = ISHFT(pack_tmp, 4)
8031 1843760 : ipack = ipack + 1
8032 1843760 : pack_tmp = packed_data(ipack)
8033 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8034 1843760 : pack_tmp = ISHFT(pack_tmp, -4)
8035 1843760 : idata = idata + 1
8036 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8037 1843760 : full_data(idata) = data_tmp
8038 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8039 1843760 : idata = idata + 1
8040 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8041 1843760 : full_data(idata) = data_tmp
8042 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8043 1843760 : idata = idata + 1
8044 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8045 1843760 : full_data(idata) = data_tmp
8046 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8047 1843760 : idata = idata + 1
8048 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8049 1843760 : full_data(idata) = data_tmp
8050 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8051 1843760 : idata = idata + 1
8052 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8053 1843760 : full_data(idata) = data_tmp
8054 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8055 1843760 : idata = idata + 1
8056 1843760 : data_tmp = ISHFT(pack_tmp, 12)
8057 1843760 : ipack = ipack + 1
8058 1843760 : pack_tmp = packed_data(ipack)
8059 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8060 1843760 : pack_tmp = ISHFT(pack_tmp, -12)
8061 1843760 : idata = idata + 1
8062 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8063 1843760 : full_data(idata) = data_tmp
8064 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8065 1843760 : idata = idata + 1
8066 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8067 1843760 : full_data(idata) = data_tmp
8068 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8069 1843760 : idata = idata + 1
8070 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8071 1843760 : full_data(idata) = data_tmp
8072 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8073 1843760 : idata = idata + 1
8074 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8075 1843760 : full_data(idata) = data_tmp
8076 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8077 1843760 : idata = idata + 1
8078 1843760 : data_tmp = ISHFT(pack_tmp, 8)
8079 1843760 : ipack = ipack + 1
8080 1843760 : pack_tmp = packed_data(ipack)
8081 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8082 1843760 : pack_tmp = ISHFT(pack_tmp, -8)
8083 1843760 : idata = idata + 1
8084 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8085 1843760 : full_data(idata) = data_tmp
8086 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8087 1843760 : idata = idata + 1
8088 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8089 1843760 : full_data(idata) = data_tmp
8090 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8091 1843760 : idata = idata + 1
8092 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8093 1843760 : full_data(idata) = data_tmp
8094 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8095 1843760 : idata = idata + 1
8096 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8097 1843760 : full_data(idata) = data_tmp
8098 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8099 1843760 : idata = idata + 1
8100 1843760 : data_tmp = ISHFT(pack_tmp, 4)
8101 1843760 : ipack = ipack + 1
8102 1843760 : pack_tmp = packed_data(ipack)
8103 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8104 1843760 : pack_tmp = ISHFT(pack_tmp, -4)
8105 1843760 : idata = idata + 1
8106 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8107 1843760 : full_data(idata) = data_tmp
8108 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8109 1843760 : idata = idata + 1
8110 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8111 1843760 : full_data(idata) = data_tmp
8112 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8113 1843760 : idata = idata + 1
8114 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8115 1843760 : full_data(idata) = data_tmp
8116 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8117 1843760 : idata = idata + 1
8118 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8119 1843760 : full_data(idata) = data_tmp
8120 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8121 1843760 : idata = idata + 1
8122 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8123 1843760 : full_data(idata) = data_tmp
8124 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8125 1843760 : idata = idata + 1
8126 1843760 : data_tmp = ISHFT(pack_tmp, 12)
8127 1843760 : ipack = ipack + 1
8128 1843760 : pack_tmp = packed_data(ipack)
8129 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8130 1843760 : pack_tmp = ISHFT(pack_tmp, -12)
8131 1843760 : idata = idata + 1
8132 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8133 1843760 : full_data(idata) = data_tmp
8134 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8135 1843760 : idata = idata + 1
8136 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8137 1843760 : full_data(idata) = data_tmp
8138 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8139 1843760 : idata = idata + 1
8140 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8141 1843760 : full_data(idata) = data_tmp
8142 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8143 1843760 : idata = idata + 1
8144 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8145 1843760 : full_data(idata) = data_tmp
8146 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8147 1843760 : idata = idata + 1
8148 1843760 : data_tmp = ISHFT(pack_tmp, 8)
8149 1843760 : ipack = ipack + 1
8150 1843760 : pack_tmp = packed_data(ipack)
8151 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8152 1843760 : pack_tmp = ISHFT(pack_tmp, -8)
8153 1843760 : idata = idata + 1
8154 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8155 1843760 : full_data(idata) = data_tmp
8156 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8157 1843760 : idata = idata + 1
8158 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8159 1843760 : full_data(idata) = data_tmp
8160 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8161 1843760 : idata = idata + 1
8162 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8163 1843760 : full_data(idata) = data_tmp
8164 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8165 1843760 : idata = idata + 1
8166 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8167 1843760 : full_data(idata) = data_tmp
8168 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8169 1843760 : idata = idata + 1
8170 1843760 : data_tmp = ISHFT(pack_tmp, 4)
8171 1843760 : ipack = ipack + 1
8172 1843760 : pack_tmp = packed_data(ipack)
8173 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8174 1843760 : pack_tmp = ISHFT(pack_tmp, -4)
8175 1843760 : idata = idata + 1
8176 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8177 1843760 : full_data(idata) = data_tmp
8178 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8179 1843760 : idata = idata + 1
8180 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8181 1843760 : full_data(idata) = data_tmp
8182 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8183 1843760 : idata = idata + 1
8184 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8185 1843760 : full_data(idata) = data_tmp
8186 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8187 1843760 : idata = idata + 1
8188 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8189 1843760 : full_data(idata) = data_tmp
8190 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8191 1843760 : idata = idata + 1
8192 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8193 1843760 : full_data(idata) = data_tmp
8194 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8195 1843760 : idata = idata + 1
8196 1843760 : data_tmp = ISHFT(pack_tmp, 12)
8197 1843760 : ipack = ipack + 1
8198 1843760 : pack_tmp = packed_data(ipack)
8199 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8200 1843760 : pack_tmp = ISHFT(pack_tmp, -12)
8201 1843760 : idata = idata + 1
8202 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8203 1843760 : full_data(idata) = data_tmp
8204 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8205 1843760 : idata = idata + 1
8206 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8207 1843760 : full_data(idata) = data_tmp
8208 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8209 1843760 : idata = idata + 1
8210 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8211 1843760 : full_data(idata) = data_tmp
8212 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8213 1843760 : idata = idata + 1
8214 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8215 1843760 : full_data(idata) = data_tmp
8216 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8217 1843760 : idata = idata + 1
8218 1843760 : data_tmp = ISHFT(pack_tmp, 8)
8219 1843760 : ipack = ipack + 1
8220 1843760 : pack_tmp = packed_data(ipack)
8221 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8222 1843760 : pack_tmp = ISHFT(pack_tmp, -8)
8223 1843760 : idata = idata + 1
8224 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8225 1843760 : full_data(idata) = data_tmp
8226 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8227 1843760 : idata = idata + 1
8228 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8229 1843760 : full_data(idata) = data_tmp
8230 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8231 1843760 : idata = idata + 1
8232 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8233 1843760 : full_data(idata) = data_tmp
8234 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8235 1843760 : idata = idata + 1
8236 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8237 1843760 : full_data(idata) = data_tmp
8238 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8239 1843760 : idata = idata + 1
8240 1843760 : data_tmp = ISHFT(pack_tmp, 4)
8241 1843760 : ipack = ipack + 1
8242 1843760 : pack_tmp = packed_data(ipack)
8243 1843760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8244 1843760 : pack_tmp = ISHFT(pack_tmp, -4)
8245 1843760 : idata = idata + 1
8246 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8247 1843760 : full_data(idata) = data_tmp
8248 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8249 1843760 : idata = idata + 1
8250 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8251 1843760 : full_data(idata) = data_tmp
8252 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8253 1843760 : idata = idata + 1
8254 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8255 1843760 : full_data(idata) = data_tmp
8256 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8257 1843760 : idata = idata + 1
8258 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8259 1843760 : full_data(idata) = data_tmp
8260 1843760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8261 1843760 : idata = idata + 1
8262 1843760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8263 1843760 : full_data(idata) = data_tmp
8264 1844247 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8265 : END DO
8266 118924 : IF (Ndata_rep < Ndata) THEN
8267 6944 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8268 : END IF
8269 118924 : END SUBROUTINE bits2ints_12
8270 :
8271 : ! **************************************************************************************************
8272 : !> \brief ...
8273 : !> \param Ndata ...
8274 : !> \param packed_data ...
8275 : !> \param full_data ...
8276 : ! **************************************************************************************************
8277 28076 : 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 28076 : idata = 0
8288 28076 : ipack = 0
8289 28076 : Ndata_rep = (Ndata/64)*64
8290 28076 : DO kdata = 1, Ndata_rep, 64
8291 436960 : pack_tmp = 0
8292 436960 : idata = idata + 1
8293 436960 : data_tmp = full_data(idata)
8294 436960 : data_tmp = ISHFT(data_tmp, 51)
8295 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8296 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8297 436960 : idata = idata + 1
8298 436960 : data_tmp = full_data(idata)
8299 436960 : data_tmp = ISHFT(data_tmp, 51)
8300 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8301 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8302 436960 : idata = idata + 1
8303 436960 : data_tmp = full_data(idata)
8304 436960 : data_tmp = ISHFT(data_tmp, 51)
8305 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8306 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8307 436960 : idata = idata + 1
8308 436960 : data_tmp = full_data(idata)
8309 436960 : data_tmp = ISHFT(data_tmp, 51)
8310 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8311 436960 : pack_tmp = ISHFT(pack_tmp, -12)
8312 436960 : idata = idata + 1
8313 436960 : data_tmp = full_data(idata)
8314 436960 : data_tmp = ISHFT(data_tmp, 51)
8315 436960 : data_tmp = IAND(data_tmp, mask_left(12))
8316 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8317 436960 : ipack = ipack + 1
8318 436960 : packed_data(ipack) = pack_tmp
8319 436960 : data_tmp = full_data(idata)
8320 436960 : pack_tmp = ISHFT(data_tmp, 63)
8321 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8322 436960 : idata = idata + 1
8323 436960 : data_tmp = full_data(idata)
8324 436960 : data_tmp = ISHFT(data_tmp, 51)
8325 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8326 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8327 436960 : idata = idata + 1
8328 436960 : data_tmp = full_data(idata)
8329 436960 : data_tmp = ISHFT(data_tmp, 51)
8330 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8331 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8332 436960 : idata = idata + 1
8333 436960 : data_tmp = full_data(idata)
8334 436960 : data_tmp = ISHFT(data_tmp, 51)
8335 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8336 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8337 436960 : idata = idata + 1
8338 436960 : data_tmp = full_data(idata)
8339 436960 : data_tmp = ISHFT(data_tmp, 51)
8340 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8341 436960 : pack_tmp = ISHFT(pack_tmp, -11)
8342 436960 : idata = idata + 1
8343 436960 : data_tmp = full_data(idata)
8344 436960 : data_tmp = ISHFT(data_tmp, 51)
8345 436960 : data_tmp = IAND(data_tmp, mask_left(11))
8346 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8347 436960 : ipack = ipack + 1
8348 436960 : packed_data(ipack) = pack_tmp
8349 436960 : data_tmp = full_data(idata)
8350 436960 : pack_tmp = ISHFT(data_tmp, 62)
8351 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8352 436960 : idata = idata + 1
8353 436960 : data_tmp = full_data(idata)
8354 436960 : data_tmp = ISHFT(data_tmp, 51)
8355 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8356 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8357 436960 : idata = idata + 1
8358 436960 : data_tmp = full_data(idata)
8359 436960 : data_tmp = ISHFT(data_tmp, 51)
8360 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8361 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8362 436960 : idata = idata + 1
8363 436960 : data_tmp = full_data(idata)
8364 436960 : data_tmp = ISHFT(data_tmp, 51)
8365 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8366 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8367 436960 : idata = idata + 1
8368 436960 : data_tmp = full_data(idata)
8369 436960 : data_tmp = ISHFT(data_tmp, 51)
8370 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8371 436960 : pack_tmp = ISHFT(pack_tmp, -10)
8372 436960 : idata = idata + 1
8373 436960 : data_tmp = full_data(idata)
8374 436960 : data_tmp = ISHFT(data_tmp, 51)
8375 436960 : data_tmp = IAND(data_tmp, mask_left(10))
8376 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8377 436960 : ipack = ipack + 1
8378 436960 : packed_data(ipack) = pack_tmp
8379 436960 : data_tmp = full_data(idata)
8380 436960 : pack_tmp = ISHFT(data_tmp, 61)
8381 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8382 436960 : idata = idata + 1
8383 436960 : data_tmp = full_data(idata)
8384 436960 : data_tmp = ISHFT(data_tmp, 51)
8385 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8386 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8387 436960 : idata = idata + 1
8388 436960 : data_tmp = full_data(idata)
8389 436960 : data_tmp = ISHFT(data_tmp, 51)
8390 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8391 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8392 436960 : idata = idata + 1
8393 436960 : data_tmp = full_data(idata)
8394 436960 : data_tmp = ISHFT(data_tmp, 51)
8395 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8396 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8397 436960 : idata = idata + 1
8398 436960 : data_tmp = full_data(idata)
8399 436960 : data_tmp = ISHFT(data_tmp, 51)
8400 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8401 436960 : pack_tmp = ISHFT(pack_tmp, -9)
8402 436960 : idata = idata + 1
8403 436960 : data_tmp = full_data(idata)
8404 436960 : data_tmp = ISHFT(data_tmp, 51)
8405 436960 : data_tmp = IAND(data_tmp, mask_left(9))
8406 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8407 436960 : ipack = ipack + 1
8408 436960 : packed_data(ipack) = pack_tmp
8409 436960 : data_tmp = full_data(idata)
8410 436960 : pack_tmp = ISHFT(data_tmp, 60)
8411 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8412 436960 : idata = idata + 1
8413 436960 : data_tmp = full_data(idata)
8414 436960 : data_tmp = ISHFT(data_tmp, 51)
8415 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8416 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8417 436960 : idata = idata + 1
8418 436960 : data_tmp = full_data(idata)
8419 436960 : data_tmp = ISHFT(data_tmp, 51)
8420 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8421 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8422 436960 : idata = idata + 1
8423 436960 : data_tmp = full_data(idata)
8424 436960 : data_tmp = ISHFT(data_tmp, 51)
8425 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8426 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8427 436960 : idata = idata + 1
8428 436960 : data_tmp = full_data(idata)
8429 436960 : data_tmp = ISHFT(data_tmp, 51)
8430 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8431 436960 : pack_tmp = ISHFT(pack_tmp, -8)
8432 436960 : idata = idata + 1
8433 436960 : data_tmp = full_data(idata)
8434 436960 : data_tmp = ISHFT(data_tmp, 51)
8435 436960 : data_tmp = IAND(data_tmp, mask_left(8))
8436 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8437 436960 : ipack = ipack + 1
8438 436960 : packed_data(ipack) = pack_tmp
8439 436960 : data_tmp = full_data(idata)
8440 436960 : pack_tmp = ISHFT(data_tmp, 59)
8441 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8442 436960 : idata = idata + 1
8443 436960 : data_tmp = full_data(idata)
8444 436960 : data_tmp = ISHFT(data_tmp, 51)
8445 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8446 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8447 436960 : idata = idata + 1
8448 436960 : data_tmp = full_data(idata)
8449 436960 : data_tmp = ISHFT(data_tmp, 51)
8450 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8451 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8452 436960 : idata = idata + 1
8453 436960 : data_tmp = full_data(idata)
8454 436960 : data_tmp = ISHFT(data_tmp, 51)
8455 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8456 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8457 436960 : idata = idata + 1
8458 436960 : data_tmp = full_data(idata)
8459 436960 : data_tmp = ISHFT(data_tmp, 51)
8460 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8461 436960 : pack_tmp = ISHFT(pack_tmp, -7)
8462 436960 : idata = idata + 1
8463 436960 : data_tmp = full_data(idata)
8464 436960 : data_tmp = ISHFT(data_tmp, 51)
8465 436960 : data_tmp = IAND(data_tmp, mask_left(7))
8466 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8467 436960 : ipack = ipack + 1
8468 436960 : packed_data(ipack) = pack_tmp
8469 436960 : data_tmp = full_data(idata)
8470 436960 : pack_tmp = ISHFT(data_tmp, 58)
8471 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8472 436960 : idata = idata + 1
8473 436960 : data_tmp = full_data(idata)
8474 436960 : data_tmp = ISHFT(data_tmp, 51)
8475 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8476 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8477 436960 : idata = idata + 1
8478 436960 : data_tmp = full_data(idata)
8479 436960 : data_tmp = ISHFT(data_tmp, 51)
8480 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8481 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8482 436960 : idata = idata + 1
8483 436960 : data_tmp = full_data(idata)
8484 436960 : data_tmp = ISHFT(data_tmp, 51)
8485 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8486 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8487 436960 : idata = idata + 1
8488 436960 : data_tmp = full_data(idata)
8489 436960 : data_tmp = ISHFT(data_tmp, 51)
8490 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8491 436960 : pack_tmp = ISHFT(pack_tmp, -6)
8492 436960 : idata = idata + 1
8493 436960 : data_tmp = full_data(idata)
8494 436960 : data_tmp = ISHFT(data_tmp, 51)
8495 436960 : data_tmp = IAND(data_tmp, mask_left(6))
8496 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8497 436960 : ipack = ipack + 1
8498 436960 : packed_data(ipack) = pack_tmp
8499 436960 : data_tmp = full_data(idata)
8500 436960 : pack_tmp = ISHFT(data_tmp, 57)
8501 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8502 436960 : idata = idata + 1
8503 436960 : data_tmp = full_data(idata)
8504 436960 : data_tmp = ISHFT(data_tmp, 51)
8505 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8506 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8507 436960 : idata = idata + 1
8508 436960 : data_tmp = full_data(idata)
8509 436960 : data_tmp = ISHFT(data_tmp, 51)
8510 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8511 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8512 436960 : idata = idata + 1
8513 436960 : data_tmp = full_data(idata)
8514 436960 : data_tmp = ISHFT(data_tmp, 51)
8515 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8516 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8517 436960 : idata = idata + 1
8518 436960 : data_tmp = full_data(idata)
8519 436960 : data_tmp = ISHFT(data_tmp, 51)
8520 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8521 436960 : pack_tmp = ISHFT(pack_tmp, -5)
8522 436960 : idata = idata + 1
8523 436960 : data_tmp = full_data(idata)
8524 436960 : data_tmp = ISHFT(data_tmp, 51)
8525 436960 : data_tmp = IAND(data_tmp, mask_left(5))
8526 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8527 436960 : ipack = ipack + 1
8528 436960 : packed_data(ipack) = pack_tmp
8529 436960 : data_tmp = full_data(idata)
8530 436960 : pack_tmp = ISHFT(data_tmp, 56)
8531 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8532 436960 : idata = idata + 1
8533 436960 : data_tmp = full_data(idata)
8534 436960 : data_tmp = ISHFT(data_tmp, 51)
8535 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8536 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8537 436960 : idata = idata + 1
8538 436960 : data_tmp = full_data(idata)
8539 436960 : data_tmp = ISHFT(data_tmp, 51)
8540 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8541 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8542 436960 : idata = idata + 1
8543 436960 : data_tmp = full_data(idata)
8544 436960 : data_tmp = ISHFT(data_tmp, 51)
8545 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8546 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8547 436960 : idata = idata + 1
8548 436960 : data_tmp = full_data(idata)
8549 436960 : data_tmp = ISHFT(data_tmp, 51)
8550 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8551 436960 : pack_tmp = ISHFT(pack_tmp, -4)
8552 436960 : idata = idata + 1
8553 436960 : data_tmp = full_data(idata)
8554 436960 : data_tmp = ISHFT(data_tmp, 51)
8555 436960 : data_tmp = IAND(data_tmp, mask_left(4))
8556 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8557 436960 : ipack = ipack + 1
8558 436960 : packed_data(ipack) = pack_tmp
8559 436960 : data_tmp = full_data(idata)
8560 436960 : pack_tmp = ISHFT(data_tmp, 55)
8561 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8562 436960 : idata = idata + 1
8563 436960 : data_tmp = full_data(idata)
8564 436960 : data_tmp = ISHFT(data_tmp, 51)
8565 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8566 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8567 436960 : idata = idata + 1
8568 436960 : data_tmp = full_data(idata)
8569 436960 : data_tmp = ISHFT(data_tmp, 51)
8570 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8571 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8572 436960 : idata = idata + 1
8573 436960 : data_tmp = full_data(idata)
8574 436960 : data_tmp = ISHFT(data_tmp, 51)
8575 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8576 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8577 436960 : idata = idata + 1
8578 436960 : data_tmp = full_data(idata)
8579 436960 : data_tmp = ISHFT(data_tmp, 51)
8580 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8581 436960 : pack_tmp = ISHFT(pack_tmp, -3)
8582 436960 : idata = idata + 1
8583 436960 : data_tmp = full_data(idata)
8584 436960 : data_tmp = ISHFT(data_tmp, 51)
8585 436960 : data_tmp = IAND(data_tmp, mask_left(3))
8586 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8587 436960 : ipack = ipack + 1
8588 436960 : packed_data(ipack) = pack_tmp
8589 436960 : data_tmp = full_data(idata)
8590 436960 : pack_tmp = ISHFT(data_tmp, 54)
8591 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8592 436960 : idata = idata + 1
8593 436960 : data_tmp = full_data(idata)
8594 436960 : data_tmp = ISHFT(data_tmp, 51)
8595 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8596 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8597 436960 : idata = idata + 1
8598 436960 : data_tmp = full_data(idata)
8599 436960 : data_tmp = ISHFT(data_tmp, 51)
8600 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8601 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8602 436960 : idata = idata + 1
8603 436960 : data_tmp = full_data(idata)
8604 436960 : data_tmp = ISHFT(data_tmp, 51)
8605 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8606 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8607 436960 : idata = idata + 1
8608 436960 : data_tmp = full_data(idata)
8609 436960 : data_tmp = ISHFT(data_tmp, 51)
8610 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8611 436960 : pack_tmp = ISHFT(pack_tmp, -2)
8612 436960 : idata = idata + 1
8613 436960 : data_tmp = full_data(idata)
8614 436960 : data_tmp = ISHFT(data_tmp, 51)
8615 436960 : data_tmp = IAND(data_tmp, mask_left(2))
8616 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8617 436960 : ipack = ipack + 1
8618 436960 : packed_data(ipack) = pack_tmp
8619 436960 : data_tmp = full_data(idata)
8620 436960 : pack_tmp = ISHFT(data_tmp, 53)
8621 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8622 436960 : idata = idata + 1
8623 436960 : data_tmp = full_data(idata)
8624 436960 : data_tmp = ISHFT(data_tmp, 51)
8625 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8626 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8627 436960 : idata = idata + 1
8628 436960 : data_tmp = full_data(idata)
8629 436960 : data_tmp = ISHFT(data_tmp, 51)
8630 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8631 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8632 436960 : idata = idata + 1
8633 436960 : data_tmp = full_data(idata)
8634 436960 : data_tmp = ISHFT(data_tmp, 51)
8635 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8636 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8637 436960 : idata = idata + 1
8638 436960 : data_tmp = full_data(idata)
8639 436960 : data_tmp = ISHFT(data_tmp, 51)
8640 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8641 436960 : pack_tmp = ISHFT(pack_tmp, -1)
8642 436960 : idata = idata + 1
8643 436960 : data_tmp = full_data(idata)
8644 436960 : data_tmp = ISHFT(data_tmp, 51)
8645 436960 : data_tmp = IAND(data_tmp, mask_left(1))
8646 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8647 436960 : ipack = ipack + 1
8648 436960 : packed_data(ipack) = pack_tmp
8649 436960 : data_tmp = full_data(idata)
8650 436960 : pack_tmp = ISHFT(data_tmp, 52)
8651 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8652 436960 : idata = idata + 1
8653 436960 : data_tmp = full_data(idata)
8654 436960 : data_tmp = ISHFT(data_tmp, 51)
8655 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8656 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8657 436960 : idata = idata + 1
8658 436960 : data_tmp = full_data(idata)
8659 436960 : data_tmp = ISHFT(data_tmp, 51)
8660 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8661 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8662 436960 : idata = idata + 1
8663 436960 : data_tmp = full_data(idata)
8664 436960 : data_tmp = ISHFT(data_tmp, 51)
8665 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8666 436960 : pack_tmp = ISHFT(pack_tmp, -13)
8667 436960 : idata = idata + 1
8668 436960 : data_tmp = full_data(idata)
8669 436960 : data_tmp = ISHFT(data_tmp, 51)
8670 436960 : pack_tmp = IOR(pack_tmp, data_tmp)
8671 : pack_tmp = ISHFT(pack_tmp, 0)
8672 436960 : pack_tmp = ISHFT(pack_tmp, 0)
8673 436960 : ipack = ipack + 1
8674 437030 : packed_data(ipack) = pack_tmp
8675 : END DO
8676 28076 : IF (Ndata_rep < Ndata) THEN
8677 1344 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8678 : END IF
8679 28076 : END SUBROUTINE ints2bits_13
8680 :
8681 : ! **************************************************************************************************
8682 : !> \brief ...
8683 : !> \param Ndata ...
8684 : !> \param packed_data ...
8685 : !> \param full_data ...
8686 : ! **************************************************************************************************
8687 131082 : 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 131082 : ipack = 0
8698 131082 : idata = 0
8699 131082 : pack_tmp = 0
8700 131082 : Ndata_rep = (Ndata/64)*64
8701 131082 : DO kdata = 1, Ndata_rep, 64
8702 1999330 : idata = idata + 1
8703 1999330 : data_tmp = ISHFT(pack_tmp, 13)
8704 1999330 : ipack = ipack + 1
8705 1999330 : pack_tmp = packed_data(ipack)
8706 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
8707 1999330 : pack_tmp = ISHFT(pack_tmp, -13)
8708 1999330 : idata = idata + 1
8709 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8710 1999330 : full_data(idata) = data_tmp
8711 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8712 1999330 : idata = idata + 1
8713 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8714 1999330 : full_data(idata) = data_tmp
8715 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8716 1999330 : idata = idata + 1
8717 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8718 1999330 : full_data(idata) = data_tmp
8719 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8720 1999330 : idata = idata + 1
8721 1999330 : data_tmp = ISHFT(pack_tmp, 1)
8722 1999330 : ipack = ipack + 1
8723 1999330 : pack_tmp = packed_data(ipack)
8724 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
8725 1999330 : pack_tmp = ISHFT(pack_tmp, -1)
8726 1999330 : idata = idata + 1
8727 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8728 1999330 : full_data(idata) = data_tmp
8729 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8730 1999330 : idata = idata + 1
8731 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8732 1999330 : full_data(idata) = data_tmp
8733 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8734 1999330 : idata = idata + 1
8735 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8736 1999330 : full_data(idata) = data_tmp
8737 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8738 1999330 : idata = idata + 1
8739 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8740 1999330 : full_data(idata) = data_tmp
8741 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8742 1999330 : idata = idata + 1
8743 1999330 : data_tmp = ISHFT(pack_tmp, 2)
8744 1999330 : ipack = ipack + 1
8745 1999330 : pack_tmp = packed_data(ipack)
8746 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
8747 1999330 : pack_tmp = ISHFT(pack_tmp, -2)
8748 1999330 : idata = idata + 1
8749 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8750 1999330 : full_data(idata) = data_tmp
8751 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8752 1999330 : idata = idata + 1
8753 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8754 1999330 : full_data(idata) = data_tmp
8755 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8756 1999330 : idata = idata + 1
8757 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8758 1999330 : full_data(idata) = data_tmp
8759 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8760 1999330 : idata = idata + 1
8761 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8762 1999330 : full_data(idata) = data_tmp
8763 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8764 1999330 : idata = idata + 1
8765 1999330 : data_tmp = ISHFT(pack_tmp, 3)
8766 1999330 : ipack = ipack + 1
8767 1999330 : pack_tmp = packed_data(ipack)
8768 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
8769 1999330 : pack_tmp = ISHFT(pack_tmp, -3)
8770 1999330 : idata = idata + 1
8771 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8772 1999330 : full_data(idata) = data_tmp
8773 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8774 1999330 : idata = idata + 1
8775 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8776 1999330 : full_data(idata) = data_tmp
8777 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8778 1999330 : idata = idata + 1
8779 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8780 1999330 : full_data(idata) = data_tmp
8781 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8782 1999330 : idata = idata + 1
8783 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8784 1999330 : full_data(idata) = data_tmp
8785 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8786 1999330 : idata = idata + 1
8787 1999330 : data_tmp = ISHFT(pack_tmp, 4)
8788 1999330 : ipack = ipack + 1
8789 1999330 : pack_tmp = packed_data(ipack)
8790 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8791 1999330 : pack_tmp = ISHFT(pack_tmp, -4)
8792 1999330 : idata = idata + 1
8793 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8794 1999330 : full_data(idata) = data_tmp
8795 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8796 1999330 : idata = idata + 1
8797 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8798 1999330 : full_data(idata) = data_tmp
8799 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8800 1999330 : idata = idata + 1
8801 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8802 1999330 : full_data(idata) = data_tmp
8803 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8804 1999330 : idata = idata + 1
8805 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8806 1999330 : full_data(idata) = data_tmp
8807 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8808 1999330 : idata = idata + 1
8809 1999330 : data_tmp = ISHFT(pack_tmp, 5)
8810 1999330 : ipack = ipack + 1
8811 1999330 : pack_tmp = packed_data(ipack)
8812 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
8813 1999330 : pack_tmp = ISHFT(pack_tmp, -5)
8814 1999330 : idata = idata + 1
8815 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8816 1999330 : full_data(idata) = data_tmp
8817 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8818 1999330 : idata = idata + 1
8819 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8820 1999330 : full_data(idata) = data_tmp
8821 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8822 1999330 : idata = idata + 1
8823 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8824 1999330 : full_data(idata) = data_tmp
8825 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8826 1999330 : idata = idata + 1
8827 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8828 1999330 : full_data(idata) = data_tmp
8829 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8830 1999330 : idata = idata + 1
8831 1999330 : data_tmp = ISHFT(pack_tmp, 6)
8832 1999330 : ipack = ipack + 1
8833 1999330 : pack_tmp = packed_data(ipack)
8834 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
8835 1999330 : pack_tmp = ISHFT(pack_tmp, -6)
8836 1999330 : idata = idata + 1
8837 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8838 1999330 : full_data(idata) = data_tmp
8839 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8840 1999330 : idata = idata + 1
8841 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8842 1999330 : full_data(idata) = data_tmp
8843 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8844 1999330 : idata = idata + 1
8845 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8846 1999330 : full_data(idata) = data_tmp
8847 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8848 1999330 : idata = idata + 1
8849 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8850 1999330 : full_data(idata) = data_tmp
8851 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8852 1999330 : idata = idata + 1
8853 1999330 : data_tmp = ISHFT(pack_tmp, 7)
8854 1999330 : ipack = ipack + 1
8855 1999330 : pack_tmp = packed_data(ipack)
8856 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
8857 1999330 : pack_tmp = ISHFT(pack_tmp, -7)
8858 1999330 : idata = idata + 1
8859 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8860 1999330 : full_data(idata) = data_tmp
8861 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8862 1999330 : idata = idata + 1
8863 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8864 1999330 : full_data(idata) = data_tmp
8865 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8866 1999330 : idata = idata + 1
8867 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8868 1999330 : full_data(idata) = data_tmp
8869 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8870 1999330 : idata = idata + 1
8871 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8872 1999330 : full_data(idata) = data_tmp
8873 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8874 1999330 : idata = idata + 1
8875 1999330 : data_tmp = ISHFT(pack_tmp, 8)
8876 1999330 : ipack = ipack + 1
8877 1999330 : pack_tmp = packed_data(ipack)
8878 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8879 1999330 : pack_tmp = ISHFT(pack_tmp, -8)
8880 1999330 : idata = idata + 1
8881 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8882 1999330 : full_data(idata) = data_tmp
8883 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8884 1999330 : idata = idata + 1
8885 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8886 1999330 : full_data(idata) = data_tmp
8887 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8888 1999330 : idata = idata + 1
8889 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8890 1999330 : full_data(idata) = data_tmp
8891 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8892 1999330 : idata = idata + 1
8893 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8894 1999330 : full_data(idata) = data_tmp
8895 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8896 1999330 : idata = idata + 1
8897 1999330 : data_tmp = ISHFT(pack_tmp, 9)
8898 1999330 : ipack = ipack + 1
8899 1999330 : pack_tmp = packed_data(ipack)
8900 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
8901 1999330 : pack_tmp = ISHFT(pack_tmp, -9)
8902 1999330 : idata = idata + 1
8903 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8904 1999330 : full_data(idata) = data_tmp
8905 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8906 1999330 : idata = idata + 1
8907 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8908 1999330 : full_data(idata) = data_tmp
8909 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8910 1999330 : idata = idata + 1
8911 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8912 1999330 : full_data(idata) = data_tmp
8913 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8914 1999330 : idata = idata + 1
8915 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8916 1999330 : full_data(idata) = data_tmp
8917 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8918 1999330 : idata = idata + 1
8919 1999330 : data_tmp = ISHFT(pack_tmp, 10)
8920 1999330 : ipack = ipack + 1
8921 1999330 : pack_tmp = packed_data(ipack)
8922 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
8923 1999330 : pack_tmp = ISHFT(pack_tmp, -10)
8924 1999330 : idata = idata + 1
8925 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8926 1999330 : full_data(idata) = data_tmp
8927 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8928 1999330 : idata = idata + 1
8929 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8930 1999330 : full_data(idata) = data_tmp
8931 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8932 1999330 : idata = idata + 1
8933 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8934 1999330 : full_data(idata) = data_tmp
8935 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8936 1999330 : idata = idata + 1
8937 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8938 1999330 : full_data(idata) = data_tmp
8939 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8940 1999330 : idata = idata + 1
8941 1999330 : data_tmp = ISHFT(pack_tmp, 11)
8942 1999330 : ipack = ipack + 1
8943 1999330 : pack_tmp = packed_data(ipack)
8944 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
8945 1999330 : pack_tmp = ISHFT(pack_tmp, -11)
8946 1999330 : idata = idata + 1
8947 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8948 1999330 : full_data(idata) = data_tmp
8949 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8950 1999330 : idata = idata + 1
8951 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8952 1999330 : full_data(idata) = data_tmp
8953 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8954 1999330 : idata = idata + 1
8955 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8956 1999330 : full_data(idata) = data_tmp
8957 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8958 1999330 : idata = idata + 1
8959 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8960 1999330 : full_data(idata) = data_tmp
8961 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8962 1999330 : idata = idata + 1
8963 1999330 : data_tmp = ISHFT(pack_tmp, 12)
8964 1999330 : ipack = ipack + 1
8965 1999330 : pack_tmp = packed_data(ipack)
8966 1999330 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8967 1999330 : pack_tmp = ISHFT(pack_tmp, -12)
8968 1999330 : idata = idata + 1
8969 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8970 1999330 : full_data(idata) = data_tmp
8971 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8972 1999330 : idata = idata + 1
8973 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8974 1999330 : full_data(idata) = data_tmp
8975 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8976 1999330 : idata = idata + 1
8977 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8978 1999330 : full_data(idata) = data_tmp
8979 1999330 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8980 1999330 : idata = idata + 1
8981 1999330 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8982 1999330 : full_data(idata) = data_tmp
8983 1999878 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8984 : END DO
8985 131082 : IF (Ndata_rep < Ndata) THEN
8986 10780 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8987 : END IF
8988 131082 : END SUBROUTINE bits2ints_13
8989 :
8990 : ! **************************************************************************************************
8991 : !> \brief ...
8992 : !> \param Ndata ...
8993 : !> \param packed_data ...
8994 : !> \param full_data ...
8995 : ! **************************************************************************************************
8996 27120 : 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 27120 : idata = 0
9007 27120 : ipack = 0
9008 27120 : Ndata_rep = (Ndata/64)*64
9009 27120 : DO kdata = 1, Ndata_rep, 64
9010 423806 : pack_tmp = 0
9011 423806 : idata = idata + 1
9012 423806 : data_tmp = full_data(idata)
9013 423806 : data_tmp = ISHFT(data_tmp, 50)
9014 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9015 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9016 423806 : idata = idata + 1
9017 423806 : data_tmp = full_data(idata)
9018 423806 : data_tmp = ISHFT(data_tmp, 50)
9019 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9020 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9021 423806 : idata = idata + 1
9022 423806 : data_tmp = full_data(idata)
9023 423806 : data_tmp = ISHFT(data_tmp, 50)
9024 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9025 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9026 423806 : idata = idata + 1
9027 423806 : data_tmp = full_data(idata)
9028 423806 : data_tmp = ISHFT(data_tmp, 50)
9029 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9030 423806 : pack_tmp = ISHFT(pack_tmp, -8)
9031 423806 : idata = idata + 1
9032 423806 : data_tmp = full_data(idata)
9033 423806 : data_tmp = ISHFT(data_tmp, 50)
9034 423806 : data_tmp = IAND(data_tmp, mask_left(8))
9035 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9036 423806 : ipack = ipack + 1
9037 423806 : packed_data(ipack) = pack_tmp
9038 423806 : data_tmp = full_data(idata)
9039 423806 : pack_tmp = ISHFT(data_tmp, 58)
9040 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9041 423806 : idata = idata + 1
9042 423806 : data_tmp = full_data(idata)
9043 423806 : data_tmp = ISHFT(data_tmp, 50)
9044 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9045 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9046 423806 : idata = idata + 1
9047 423806 : data_tmp = full_data(idata)
9048 423806 : data_tmp = ISHFT(data_tmp, 50)
9049 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9050 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9051 423806 : idata = idata + 1
9052 423806 : data_tmp = full_data(idata)
9053 423806 : data_tmp = ISHFT(data_tmp, 50)
9054 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9055 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9056 423806 : idata = idata + 1
9057 423806 : data_tmp = full_data(idata)
9058 423806 : data_tmp = ISHFT(data_tmp, 50)
9059 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9060 423806 : pack_tmp = ISHFT(pack_tmp, -2)
9061 423806 : idata = idata + 1
9062 423806 : data_tmp = full_data(idata)
9063 423806 : data_tmp = ISHFT(data_tmp, 50)
9064 423806 : data_tmp = IAND(data_tmp, mask_left(2))
9065 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9066 423806 : ipack = ipack + 1
9067 423806 : packed_data(ipack) = pack_tmp
9068 423806 : data_tmp = full_data(idata)
9069 423806 : pack_tmp = ISHFT(data_tmp, 52)
9070 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9071 423806 : idata = idata + 1
9072 423806 : data_tmp = full_data(idata)
9073 423806 : data_tmp = ISHFT(data_tmp, 50)
9074 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9075 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9076 423806 : idata = idata + 1
9077 423806 : data_tmp = full_data(idata)
9078 423806 : data_tmp = ISHFT(data_tmp, 50)
9079 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9080 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9081 423806 : idata = idata + 1
9082 423806 : data_tmp = full_data(idata)
9083 423806 : data_tmp = ISHFT(data_tmp, 50)
9084 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9085 423806 : pack_tmp = ISHFT(pack_tmp, -10)
9086 423806 : idata = idata + 1
9087 423806 : data_tmp = full_data(idata)
9088 423806 : data_tmp = ISHFT(data_tmp, 50)
9089 423806 : data_tmp = IAND(data_tmp, mask_left(10))
9090 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9091 423806 : ipack = ipack + 1
9092 423806 : packed_data(ipack) = pack_tmp
9093 423806 : data_tmp = full_data(idata)
9094 423806 : pack_tmp = ISHFT(data_tmp, 60)
9095 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9096 423806 : idata = idata + 1
9097 423806 : data_tmp = full_data(idata)
9098 423806 : data_tmp = ISHFT(data_tmp, 50)
9099 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9100 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9101 423806 : idata = idata + 1
9102 423806 : data_tmp = full_data(idata)
9103 423806 : data_tmp = ISHFT(data_tmp, 50)
9104 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9105 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9106 423806 : idata = idata + 1
9107 423806 : data_tmp = full_data(idata)
9108 423806 : data_tmp = ISHFT(data_tmp, 50)
9109 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9110 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9111 423806 : idata = idata + 1
9112 423806 : data_tmp = full_data(idata)
9113 423806 : data_tmp = ISHFT(data_tmp, 50)
9114 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9115 423806 : pack_tmp = ISHFT(pack_tmp, -4)
9116 423806 : idata = idata + 1
9117 423806 : data_tmp = full_data(idata)
9118 423806 : data_tmp = ISHFT(data_tmp, 50)
9119 423806 : data_tmp = IAND(data_tmp, mask_left(4))
9120 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9121 423806 : ipack = ipack + 1
9122 423806 : packed_data(ipack) = pack_tmp
9123 423806 : data_tmp = full_data(idata)
9124 423806 : pack_tmp = ISHFT(data_tmp, 54)
9125 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9126 423806 : idata = idata + 1
9127 423806 : data_tmp = full_data(idata)
9128 423806 : data_tmp = ISHFT(data_tmp, 50)
9129 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9130 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9131 423806 : idata = idata + 1
9132 423806 : data_tmp = full_data(idata)
9133 423806 : data_tmp = ISHFT(data_tmp, 50)
9134 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9135 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9136 423806 : idata = idata + 1
9137 423806 : data_tmp = full_data(idata)
9138 423806 : data_tmp = ISHFT(data_tmp, 50)
9139 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9140 423806 : pack_tmp = ISHFT(pack_tmp, -12)
9141 423806 : idata = idata + 1
9142 423806 : data_tmp = full_data(idata)
9143 423806 : data_tmp = ISHFT(data_tmp, 50)
9144 423806 : data_tmp = IAND(data_tmp, mask_left(12))
9145 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9146 423806 : ipack = ipack + 1
9147 423806 : packed_data(ipack) = pack_tmp
9148 423806 : data_tmp = full_data(idata)
9149 423806 : pack_tmp = ISHFT(data_tmp, 62)
9150 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9151 423806 : idata = idata + 1
9152 423806 : data_tmp = full_data(idata)
9153 423806 : data_tmp = ISHFT(data_tmp, 50)
9154 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9155 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9156 423806 : idata = idata + 1
9157 423806 : data_tmp = full_data(idata)
9158 423806 : data_tmp = ISHFT(data_tmp, 50)
9159 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9160 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9161 423806 : idata = idata + 1
9162 423806 : data_tmp = full_data(idata)
9163 423806 : data_tmp = ISHFT(data_tmp, 50)
9164 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9165 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9166 423806 : idata = idata + 1
9167 423806 : data_tmp = full_data(idata)
9168 423806 : data_tmp = ISHFT(data_tmp, 50)
9169 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9170 423806 : pack_tmp = ISHFT(pack_tmp, -6)
9171 423806 : idata = idata + 1
9172 423806 : data_tmp = full_data(idata)
9173 423806 : data_tmp = ISHFT(data_tmp, 50)
9174 423806 : data_tmp = IAND(data_tmp, mask_left(6))
9175 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9176 423806 : ipack = ipack + 1
9177 423806 : packed_data(ipack) = pack_tmp
9178 423806 : data_tmp = full_data(idata)
9179 423806 : pack_tmp = ISHFT(data_tmp, 56)
9180 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9181 423806 : idata = idata + 1
9182 423806 : data_tmp = full_data(idata)
9183 423806 : data_tmp = ISHFT(data_tmp, 50)
9184 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9185 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9186 423806 : idata = idata + 1
9187 423806 : data_tmp = full_data(idata)
9188 423806 : data_tmp = ISHFT(data_tmp, 50)
9189 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9190 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9191 423806 : idata = idata + 1
9192 423806 : data_tmp = full_data(idata)
9193 423806 : data_tmp = ISHFT(data_tmp, 50)
9194 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9195 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9196 423806 : idata = idata + 1
9197 423806 : data_tmp = full_data(idata)
9198 423806 : data_tmp = ISHFT(data_tmp, 50)
9199 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9200 423806 : pack_tmp = ISHFT(pack_tmp, 0)
9201 423806 : idata = idata + 1
9202 423806 : data_tmp = full_data(idata)
9203 : data_tmp = ISHFT(data_tmp, 50)
9204 423806 : data_tmp = IAND(data_tmp, mask_left(0))
9205 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9206 423806 : ipack = ipack + 1
9207 423806 : packed_data(ipack) = pack_tmp
9208 423806 : data_tmp = full_data(idata)
9209 423806 : pack_tmp = ISHFT(data_tmp, 50)
9210 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9211 423806 : idata = idata + 1
9212 423806 : data_tmp = full_data(idata)
9213 423806 : data_tmp = ISHFT(data_tmp, 50)
9214 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9215 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9216 423806 : idata = idata + 1
9217 423806 : data_tmp = full_data(idata)
9218 423806 : data_tmp = ISHFT(data_tmp, 50)
9219 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9220 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9221 423806 : idata = idata + 1
9222 423806 : data_tmp = full_data(idata)
9223 423806 : data_tmp = ISHFT(data_tmp, 50)
9224 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9225 423806 : pack_tmp = ISHFT(pack_tmp, -8)
9226 423806 : idata = idata + 1
9227 423806 : data_tmp = full_data(idata)
9228 423806 : data_tmp = ISHFT(data_tmp, 50)
9229 423806 : data_tmp = IAND(data_tmp, mask_left(8))
9230 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9231 423806 : ipack = ipack + 1
9232 423806 : packed_data(ipack) = pack_tmp
9233 423806 : data_tmp = full_data(idata)
9234 423806 : pack_tmp = ISHFT(data_tmp, 58)
9235 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9236 423806 : idata = idata + 1
9237 423806 : data_tmp = full_data(idata)
9238 423806 : data_tmp = ISHFT(data_tmp, 50)
9239 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9240 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9241 423806 : idata = idata + 1
9242 423806 : data_tmp = full_data(idata)
9243 423806 : data_tmp = ISHFT(data_tmp, 50)
9244 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9245 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9246 423806 : idata = idata + 1
9247 423806 : data_tmp = full_data(idata)
9248 423806 : data_tmp = ISHFT(data_tmp, 50)
9249 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9250 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9251 423806 : idata = idata + 1
9252 423806 : data_tmp = full_data(idata)
9253 423806 : data_tmp = ISHFT(data_tmp, 50)
9254 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9255 423806 : pack_tmp = ISHFT(pack_tmp, -2)
9256 423806 : idata = idata + 1
9257 423806 : data_tmp = full_data(idata)
9258 423806 : data_tmp = ISHFT(data_tmp, 50)
9259 423806 : data_tmp = IAND(data_tmp, mask_left(2))
9260 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9261 423806 : ipack = ipack + 1
9262 423806 : packed_data(ipack) = pack_tmp
9263 423806 : data_tmp = full_data(idata)
9264 423806 : pack_tmp = ISHFT(data_tmp, 52)
9265 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9266 423806 : idata = idata + 1
9267 423806 : data_tmp = full_data(idata)
9268 423806 : data_tmp = ISHFT(data_tmp, 50)
9269 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9270 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9271 423806 : idata = idata + 1
9272 423806 : data_tmp = full_data(idata)
9273 423806 : data_tmp = ISHFT(data_tmp, 50)
9274 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9275 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9276 423806 : idata = idata + 1
9277 423806 : data_tmp = full_data(idata)
9278 423806 : data_tmp = ISHFT(data_tmp, 50)
9279 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9280 423806 : pack_tmp = ISHFT(pack_tmp, -10)
9281 423806 : idata = idata + 1
9282 423806 : data_tmp = full_data(idata)
9283 423806 : data_tmp = ISHFT(data_tmp, 50)
9284 423806 : data_tmp = IAND(data_tmp, mask_left(10))
9285 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9286 423806 : ipack = ipack + 1
9287 423806 : packed_data(ipack) = pack_tmp
9288 423806 : data_tmp = full_data(idata)
9289 423806 : pack_tmp = ISHFT(data_tmp, 60)
9290 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9291 423806 : idata = idata + 1
9292 423806 : data_tmp = full_data(idata)
9293 423806 : data_tmp = ISHFT(data_tmp, 50)
9294 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9295 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9296 423806 : idata = idata + 1
9297 423806 : data_tmp = full_data(idata)
9298 423806 : data_tmp = ISHFT(data_tmp, 50)
9299 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9300 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9301 423806 : idata = idata + 1
9302 423806 : data_tmp = full_data(idata)
9303 423806 : data_tmp = ISHFT(data_tmp, 50)
9304 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9305 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9306 423806 : idata = idata + 1
9307 423806 : data_tmp = full_data(idata)
9308 423806 : data_tmp = ISHFT(data_tmp, 50)
9309 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9310 423806 : pack_tmp = ISHFT(pack_tmp, -4)
9311 423806 : idata = idata + 1
9312 423806 : data_tmp = full_data(idata)
9313 423806 : data_tmp = ISHFT(data_tmp, 50)
9314 423806 : data_tmp = IAND(data_tmp, mask_left(4))
9315 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9316 423806 : ipack = ipack + 1
9317 423806 : packed_data(ipack) = pack_tmp
9318 423806 : data_tmp = full_data(idata)
9319 423806 : pack_tmp = ISHFT(data_tmp, 54)
9320 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9321 423806 : idata = idata + 1
9322 423806 : data_tmp = full_data(idata)
9323 423806 : data_tmp = ISHFT(data_tmp, 50)
9324 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9325 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9326 423806 : idata = idata + 1
9327 423806 : data_tmp = full_data(idata)
9328 423806 : data_tmp = ISHFT(data_tmp, 50)
9329 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9330 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9331 423806 : idata = idata + 1
9332 423806 : data_tmp = full_data(idata)
9333 423806 : data_tmp = ISHFT(data_tmp, 50)
9334 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9335 423806 : pack_tmp = ISHFT(pack_tmp, -12)
9336 423806 : idata = idata + 1
9337 423806 : data_tmp = full_data(idata)
9338 423806 : data_tmp = ISHFT(data_tmp, 50)
9339 423806 : data_tmp = IAND(data_tmp, mask_left(12))
9340 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9341 423806 : ipack = ipack + 1
9342 423806 : packed_data(ipack) = pack_tmp
9343 423806 : data_tmp = full_data(idata)
9344 423806 : pack_tmp = ISHFT(data_tmp, 62)
9345 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9346 423806 : idata = idata + 1
9347 423806 : data_tmp = full_data(idata)
9348 423806 : data_tmp = ISHFT(data_tmp, 50)
9349 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9350 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9351 423806 : idata = idata + 1
9352 423806 : data_tmp = full_data(idata)
9353 423806 : data_tmp = ISHFT(data_tmp, 50)
9354 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9355 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9356 423806 : idata = idata + 1
9357 423806 : data_tmp = full_data(idata)
9358 423806 : data_tmp = ISHFT(data_tmp, 50)
9359 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9360 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9361 423806 : idata = idata + 1
9362 423806 : data_tmp = full_data(idata)
9363 423806 : data_tmp = ISHFT(data_tmp, 50)
9364 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9365 423806 : pack_tmp = ISHFT(pack_tmp, -6)
9366 423806 : idata = idata + 1
9367 423806 : data_tmp = full_data(idata)
9368 423806 : data_tmp = ISHFT(data_tmp, 50)
9369 423806 : data_tmp = IAND(data_tmp, mask_left(6))
9370 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9371 423806 : ipack = ipack + 1
9372 423806 : packed_data(ipack) = pack_tmp
9373 423806 : data_tmp = full_data(idata)
9374 423806 : pack_tmp = ISHFT(data_tmp, 56)
9375 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9376 423806 : idata = idata + 1
9377 423806 : data_tmp = full_data(idata)
9378 423806 : data_tmp = ISHFT(data_tmp, 50)
9379 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9380 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9381 423806 : idata = idata + 1
9382 423806 : data_tmp = full_data(idata)
9383 423806 : data_tmp = ISHFT(data_tmp, 50)
9384 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9385 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9386 423806 : idata = idata + 1
9387 423806 : data_tmp = full_data(idata)
9388 423806 : data_tmp = ISHFT(data_tmp, 50)
9389 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9390 423806 : pack_tmp = ISHFT(pack_tmp, -14)
9391 423806 : idata = idata + 1
9392 423806 : data_tmp = full_data(idata)
9393 423806 : data_tmp = ISHFT(data_tmp, 50)
9394 423806 : pack_tmp = IOR(pack_tmp, data_tmp)
9395 : pack_tmp = ISHFT(pack_tmp, 0)
9396 423806 : pack_tmp = ISHFT(pack_tmp, 0)
9397 423806 : ipack = ipack + 1
9398 423866 : packed_data(ipack) = pack_tmp
9399 : END DO
9400 27120 : IF (Ndata_rep < Ndata) THEN
9401 1124 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9402 : END IF
9403 27120 : END SUBROUTINE ints2bits_14
9404 :
9405 : ! **************************************************************************************************
9406 : !> \brief ...
9407 : !> \param Ndata ...
9408 : !> \param packed_data ...
9409 : !> \param full_data ...
9410 : ! **************************************************************************************************
9411 122822 : 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 122822 : ipack = 0
9422 122822 : idata = 0
9423 122822 : pack_tmp = 0
9424 122822 : Ndata_rep = (Ndata/64)*64
9425 122822 : DO kdata = 1, Ndata_rep, 64
9426 1887408 : idata = idata + 1
9427 1887408 : data_tmp = ISHFT(pack_tmp, 14)
9428 1887408 : ipack = ipack + 1
9429 1887408 : pack_tmp = packed_data(ipack)
9430 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9431 1887408 : pack_tmp = ISHFT(pack_tmp, -14)
9432 1887408 : idata = idata + 1
9433 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9434 1887408 : full_data(idata) = data_tmp
9435 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9436 1887408 : idata = idata + 1
9437 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9438 1887408 : full_data(idata) = data_tmp
9439 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9440 1887408 : idata = idata + 1
9441 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9442 1887408 : full_data(idata) = data_tmp
9443 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9444 1887408 : idata = idata + 1
9445 1887408 : data_tmp = ISHFT(pack_tmp, 6)
9446 1887408 : ipack = ipack + 1
9447 1887408 : pack_tmp = packed_data(ipack)
9448 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9449 1887408 : pack_tmp = ISHFT(pack_tmp, -6)
9450 1887408 : idata = idata + 1
9451 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9452 1887408 : full_data(idata) = data_tmp
9453 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9454 1887408 : idata = idata + 1
9455 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9456 1887408 : full_data(idata) = data_tmp
9457 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9458 1887408 : idata = idata + 1
9459 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9460 1887408 : full_data(idata) = data_tmp
9461 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9462 1887408 : idata = idata + 1
9463 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9464 1887408 : full_data(idata) = data_tmp
9465 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9466 1887408 : idata = idata + 1
9467 1887408 : data_tmp = ISHFT(pack_tmp, 12)
9468 1887408 : ipack = ipack + 1
9469 1887408 : pack_tmp = packed_data(ipack)
9470 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9471 1887408 : pack_tmp = ISHFT(pack_tmp, -12)
9472 1887408 : idata = idata + 1
9473 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9474 1887408 : full_data(idata) = data_tmp
9475 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9476 1887408 : idata = idata + 1
9477 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9478 1887408 : full_data(idata) = data_tmp
9479 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9480 1887408 : idata = idata + 1
9481 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9482 1887408 : full_data(idata) = data_tmp
9483 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9484 1887408 : idata = idata + 1
9485 1887408 : data_tmp = ISHFT(pack_tmp, 4)
9486 1887408 : ipack = ipack + 1
9487 1887408 : pack_tmp = packed_data(ipack)
9488 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9489 1887408 : pack_tmp = ISHFT(pack_tmp, -4)
9490 1887408 : idata = idata + 1
9491 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9492 1887408 : full_data(idata) = data_tmp
9493 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9494 1887408 : idata = idata + 1
9495 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9496 1887408 : full_data(idata) = data_tmp
9497 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9498 1887408 : idata = idata + 1
9499 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9500 1887408 : full_data(idata) = data_tmp
9501 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9502 1887408 : idata = idata + 1
9503 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9504 1887408 : full_data(idata) = data_tmp
9505 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9506 1887408 : idata = idata + 1
9507 1887408 : data_tmp = ISHFT(pack_tmp, 10)
9508 1887408 : ipack = ipack + 1
9509 1887408 : pack_tmp = packed_data(ipack)
9510 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9511 1887408 : pack_tmp = ISHFT(pack_tmp, -10)
9512 1887408 : idata = idata + 1
9513 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9514 1887408 : full_data(idata) = data_tmp
9515 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9516 1887408 : idata = idata + 1
9517 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9518 1887408 : full_data(idata) = data_tmp
9519 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9520 1887408 : idata = idata + 1
9521 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9522 1887408 : full_data(idata) = data_tmp
9523 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9524 1887408 : idata = idata + 1
9525 1887408 : data_tmp = ISHFT(pack_tmp, 2)
9526 1887408 : ipack = ipack + 1
9527 1887408 : pack_tmp = packed_data(ipack)
9528 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9529 1887408 : pack_tmp = ISHFT(pack_tmp, -2)
9530 1887408 : idata = idata + 1
9531 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9532 1887408 : full_data(idata) = data_tmp
9533 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9534 1887408 : idata = idata + 1
9535 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9536 1887408 : full_data(idata) = data_tmp
9537 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9538 1887408 : idata = idata + 1
9539 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9540 1887408 : full_data(idata) = data_tmp
9541 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9542 1887408 : idata = idata + 1
9543 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9544 1887408 : full_data(idata) = data_tmp
9545 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9546 1887408 : idata = idata + 1
9547 1887408 : data_tmp = ISHFT(pack_tmp, 8)
9548 1887408 : ipack = ipack + 1
9549 1887408 : pack_tmp = packed_data(ipack)
9550 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9551 1887408 : pack_tmp = ISHFT(pack_tmp, -8)
9552 1887408 : idata = idata + 1
9553 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9554 1887408 : full_data(idata) = data_tmp
9555 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9556 1887408 : idata = idata + 1
9557 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9558 1887408 : full_data(idata) = data_tmp
9559 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9560 1887408 : idata = idata + 1
9561 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9562 1887408 : full_data(idata) = data_tmp
9563 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9564 1887408 : idata = idata + 1
9565 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9566 1887408 : full_data(idata) = data_tmp
9567 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9568 1887408 : idata = idata + 1
9569 1887408 : data_tmp = ISHFT(pack_tmp, 14)
9570 1887408 : ipack = ipack + 1
9571 1887408 : pack_tmp = packed_data(ipack)
9572 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9573 1887408 : pack_tmp = ISHFT(pack_tmp, -14)
9574 1887408 : idata = idata + 1
9575 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9576 1887408 : full_data(idata) = data_tmp
9577 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9578 1887408 : idata = idata + 1
9579 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9580 1887408 : full_data(idata) = data_tmp
9581 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9582 1887408 : idata = idata + 1
9583 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9584 1887408 : full_data(idata) = data_tmp
9585 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9586 1887408 : idata = idata + 1
9587 1887408 : data_tmp = ISHFT(pack_tmp, 6)
9588 1887408 : ipack = ipack + 1
9589 1887408 : pack_tmp = packed_data(ipack)
9590 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9591 1887408 : pack_tmp = ISHFT(pack_tmp, -6)
9592 1887408 : idata = idata + 1
9593 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9594 1887408 : full_data(idata) = data_tmp
9595 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9596 1887408 : idata = idata + 1
9597 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9598 1887408 : full_data(idata) = data_tmp
9599 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9600 1887408 : idata = idata + 1
9601 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9602 1887408 : full_data(idata) = data_tmp
9603 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9604 1887408 : idata = idata + 1
9605 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9606 1887408 : full_data(idata) = data_tmp
9607 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9608 1887408 : idata = idata + 1
9609 1887408 : data_tmp = ISHFT(pack_tmp, 12)
9610 1887408 : ipack = ipack + 1
9611 1887408 : pack_tmp = packed_data(ipack)
9612 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9613 1887408 : pack_tmp = ISHFT(pack_tmp, -12)
9614 1887408 : idata = idata + 1
9615 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9616 1887408 : full_data(idata) = data_tmp
9617 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9618 1887408 : idata = idata + 1
9619 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9620 1887408 : full_data(idata) = data_tmp
9621 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9622 1887408 : idata = idata + 1
9623 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9624 1887408 : full_data(idata) = data_tmp
9625 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9626 1887408 : idata = idata + 1
9627 1887408 : data_tmp = ISHFT(pack_tmp, 4)
9628 1887408 : ipack = ipack + 1
9629 1887408 : pack_tmp = packed_data(ipack)
9630 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9631 1887408 : pack_tmp = ISHFT(pack_tmp, -4)
9632 1887408 : idata = idata + 1
9633 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9634 1887408 : full_data(idata) = data_tmp
9635 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9636 1887408 : idata = idata + 1
9637 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9638 1887408 : full_data(idata) = data_tmp
9639 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9640 1887408 : idata = idata + 1
9641 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9642 1887408 : full_data(idata) = data_tmp
9643 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9644 1887408 : idata = idata + 1
9645 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9646 1887408 : full_data(idata) = data_tmp
9647 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9648 1887408 : idata = idata + 1
9649 1887408 : data_tmp = ISHFT(pack_tmp, 10)
9650 1887408 : ipack = ipack + 1
9651 1887408 : pack_tmp = packed_data(ipack)
9652 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9653 1887408 : pack_tmp = ISHFT(pack_tmp, -10)
9654 1887408 : idata = idata + 1
9655 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9656 1887408 : full_data(idata) = data_tmp
9657 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9658 1887408 : idata = idata + 1
9659 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9660 1887408 : full_data(idata) = data_tmp
9661 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9662 1887408 : idata = idata + 1
9663 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9664 1887408 : full_data(idata) = data_tmp
9665 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9666 1887408 : idata = idata + 1
9667 1887408 : data_tmp = ISHFT(pack_tmp, 2)
9668 1887408 : ipack = ipack + 1
9669 1887408 : pack_tmp = packed_data(ipack)
9670 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9671 1887408 : pack_tmp = ISHFT(pack_tmp, -2)
9672 1887408 : idata = idata + 1
9673 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9674 1887408 : full_data(idata) = data_tmp
9675 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9676 1887408 : idata = idata + 1
9677 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9678 1887408 : full_data(idata) = data_tmp
9679 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9680 1887408 : idata = idata + 1
9681 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9682 1887408 : full_data(idata) = data_tmp
9683 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9684 1887408 : idata = idata + 1
9685 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9686 1887408 : full_data(idata) = data_tmp
9687 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9688 1887408 : idata = idata + 1
9689 1887408 : data_tmp = ISHFT(pack_tmp, 8)
9690 1887408 : ipack = ipack + 1
9691 1887408 : pack_tmp = packed_data(ipack)
9692 1887408 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9693 1887408 : pack_tmp = ISHFT(pack_tmp, -8)
9694 1887408 : idata = idata + 1
9695 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9696 1887408 : full_data(idata) = data_tmp
9697 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9698 1887408 : idata = idata + 1
9699 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9700 1887408 : full_data(idata) = data_tmp
9701 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9702 1887408 : idata = idata + 1
9703 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9704 1887408 : full_data(idata) = data_tmp
9705 1887408 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9706 1887408 : idata = idata + 1
9707 1887408 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9708 1887408 : full_data(idata) = data_tmp
9709 1887873 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9710 : END DO
9711 122822 : IF (Ndata_rep < Ndata) THEN
9712 8640 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9713 : END IF
9714 122822 : END SUBROUTINE bits2ints_14
9715 :
9716 : ! **************************************************************************************************
9717 : !> \brief ...
9718 : !> \param Ndata ...
9719 : !> \param packed_data ...
9720 : !> \param full_data ...
9721 : ! **************************************************************************************************
9722 27438 : 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 27438 : idata = 0
9733 27438 : ipack = 0
9734 27438 : Ndata_rep = (Ndata/64)*64
9735 27438 : DO kdata = 1, Ndata_rep, 64
9736 427312 : pack_tmp = 0
9737 427312 : idata = idata + 1
9738 427312 : data_tmp = full_data(idata)
9739 427312 : data_tmp = ISHFT(data_tmp, 49)
9740 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9741 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9742 427312 : idata = idata + 1
9743 427312 : data_tmp = full_data(idata)
9744 427312 : data_tmp = ISHFT(data_tmp, 49)
9745 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9746 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9747 427312 : idata = idata + 1
9748 427312 : data_tmp = full_data(idata)
9749 427312 : data_tmp = ISHFT(data_tmp, 49)
9750 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9751 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9752 427312 : idata = idata + 1
9753 427312 : data_tmp = full_data(idata)
9754 427312 : data_tmp = ISHFT(data_tmp, 49)
9755 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9756 427312 : pack_tmp = ISHFT(pack_tmp, -4)
9757 427312 : idata = idata + 1
9758 427312 : data_tmp = full_data(idata)
9759 427312 : data_tmp = ISHFT(data_tmp, 49)
9760 427312 : data_tmp = IAND(data_tmp, mask_left(4))
9761 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9762 427312 : ipack = ipack + 1
9763 427312 : packed_data(ipack) = pack_tmp
9764 427312 : data_tmp = full_data(idata)
9765 427312 : pack_tmp = ISHFT(data_tmp, 53)
9766 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9767 427312 : idata = idata + 1
9768 427312 : data_tmp = full_data(idata)
9769 427312 : data_tmp = ISHFT(data_tmp, 49)
9770 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9771 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9772 427312 : idata = idata + 1
9773 427312 : data_tmp = full_data(idata)
9774 427312 : data_tmp = ISHFT(data_tmp, 49)
9775 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9776 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9777 427312 : idata = idata + 1
9778 427312 : data_tmp = full_data(idata)
9779 427312 : data_tmp = ISHFT(data_tmp, 49)
9780 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9781 427312 : pack_tmp = ISHFT(pack_tmp, -8)
9782 427312 : idata = idata + 1
9783 427312 : data_tmp = full_data(idata)
9784 427312 : data_tmp = ISHFT(data_tmp, 49)
9785 427312 : data_tmp = IAND(data_tmp, mask_left(8))
9786 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9787 427312 : ipack = ipack + 1
9788 427312 : packed_data(ipack) = pack_tmp
9789 427312 : data_tmp = full_data(idata)
9790 427312 : pack_tmp = ISHFT(data_tmp, 57)
9791 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9792 427312 : idata = idata + 1
9793 427312 : data_tmp = full_data(idata)
9794 427312 : data_tmp = ISHFT(data_tmp, 49)
9795 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9796 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9797 427312 : idata = idata + 1
9798 427312 : data_tmp = full_data(idata)
9799 427312 : data_tmp = ISHFT(data_tmp, 49)
9800 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9801 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9802 427312 : idata = idata + 1
9803 427312 : data_tmp = full_data(idata)
9804 427312 : data_tmp = ISHFT(data_tmp, 49)
9805 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9806 427312 : pack_tmp = ISHFT(pack_tmp, -12)
9807 427312 : idata = idata + 1
9808 427312 : data_tmp = full_data(idata)
9809 427312 : data_tmp = ISHFT(data_tmp, 49)
9810 427312 : data_tmp = IAND(data_tmp, mask_left(12))
9811 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9812 427312 : ipack = ipack + 1
9813 427312 : packed_data(ipack) = pack_tmp
9814 427312 : data_tmp = full_data(idata)
9815 427312 : pack_tmp = ISHFT(data_tmp, 61)
9816 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9817 427312 : idata = idata + 1
9818 427312 : data_tmp = full_data(idata)
9819 427312 : data_tmp = ISHFT(data_tmp, 49)
9820 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9821 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9822 427312 : idata = idata + 1
9823 427312 : data_tmp = full_data(idata)
9824 427312 : data_tmp = ISHFT(data_tmp, 49)
9825 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9826 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9827 427312 : idata = idata + 1
9828 427312 : data_tmp = full_data(idata)
9829 427312 : data_tmp = ISHFT(data_tmp, 49)
9830 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9831 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9832 427312 : idata = idata + 1
9833 427312 : data_tmp = full_data(idata)
9834 427312 : data_tmp = ISHFT(data_tmp, 49)
9835 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9836 427312 : pack_tmp = ISHFT(pack_tmp, -1)
9837 427312 : idata = idata + 1
9838 427312 : data_tmp = full_data(idata)
9839 427312 : data_tmp = ISHFT(data_tmp, 49)
9840 427312 : data_tmp = IAND(data_tmp, mask_left(1))
9841 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9842 427312 : ipack = ipack + 1
9843 427312 : packed_data(ipack) = pack_tmp
9844 427312 : data_tmp = full_data(idata)
9845 427312 : pack_tmp = ISHFT(data_tmp, 50)
9846 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9847 427312 : idata = idata + 1
9848 427312 : data_tmp = full_data(idata)
9849 427312 : data_tmp = ISHFT(data_tmp, 49)
9850 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9851 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9852 427312 : idata = idata + 1
9853 427312 : data_tmp = full_data(idata)
9854 427312 : data_tmp = ISHFT(data_tmp, 49)
9855 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9856 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9857 427312 : idata = idata + 1
9858 427312 : data_tmp = full_data(idata)
9859 427312 : data_tmp = ISHFT(data_tmp, 49)
9860 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9861 427312 : pack_tmp = ISHFT(pack_tmp, -5)
9862 427312 : idata = idata + 1
9863 427312 : data_tmp = full_data(idata)
9864 427312 : data_tmp = ISHFT(data_tmp, 49)
9865 427312 : data_tmp = IAND(data_tmp, mask_left(5))
9866 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9867 427312 : ipack = ipack + 1
9868 427312 : packed_data(ipack) = pack_tmp
9869 427312 : data_tmp = full_data(idata)
9870 427312 : pack_tmp = ISHFT(data_tmp, 54)
9871 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9872 427312 : idata = idata + 1
9873 427312 : data_tmp = full_data(idata)
9874 427312 : data_tmp = ISHFT(data_tmp, 49)
9875 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9876 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9877 427312 : idata = idata + 1
9878 427312 : data_tmp = full_data(idata)
9879 427312 : data_tmp = ISHFT(data_tmp, 49)
9880 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9881 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9882 427312 : idata = idata + 1
9883 427312 : data_tmp = full_data(idata)
9884 427312 : data_tmp = ISHFT(data_tmp, 49)
9885 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9886 427312 : pack_tmp = ISHFT(pack_tmp, -9)
9887 427312 : idata = idata + 1
9888 427312 : data_tmp = full_data(idata)
9889 427312 : data_tmp = ISHFT(data_tmp, 49)
9890 427312 : data_tmp = IAND(data_tmp, mask_left(9))
9891 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9892 427312 : ipack = ipack + 1
9893 427312 : packed_data(ipack) = pack_tmp
9894 427312 : data_tmp = full_data(idata)
9895 427312 : pack_tmp = ISHFT(data_tmp, 58)
9896 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9897 427312 : idata = idata + 1
9898 427312 : data_tmp = full_data(idata)
9899 427312 : data_tmp = ISHFT(data_tmp, 49)
9900 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9901 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9902 427312 : idata = idata + 1
9903 427312 : data_tmp = full_data(idata)
9904 427312 : data_tmp = ISHFT(data_tmp, 49)
9905 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9906 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9907 427312 : idata = idata + 1
9908 427312 : data_tmp = full_data(idata)
9909 427312 : data_tmp = ISHFT(data_tmp, 49)
9910 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9911 427312 : pack_tmp = ISHFT(pack_tmp, -13)
9912 427312 : idata = idata + 1
9913 427312 : data_tmp = full_data(idata)
9914 427312 : data_tmp = ISHFT(data_tmp, 49)
9915 427312 : data_tmp = IAND(data_tmp, mask_left(13))
9916 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9917 427312 : ipack = ipack + 1
9918 427312 : packed_data(ipack) = pack_tmp
9919 427312 : data_tmp = full_data(idata)
9920 427312 : pack_tmp = ISHFT(data_tmp, 62)
9921 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9922 427312 : idata = idata + 1
9923 427312 : data_tmp = full_data(idata)
9924 427312 : data_tmp = ISHFT(data_tmp, 49)
9925 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9926 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9927 427312 : idata = idata + 1
9928 427312 : data_tmp = full_data(idata)
9929 427312 : data_tmp = ISHFT(data_tmp, 49)
9930 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9931 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9932 427312 : idata = idata + 1
9933 427312 : data_tmp = full_data(idata)
9934 427312 : data_tmp = ISHFT(data_tmp, 49)
9935 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9936 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9937 427312 : idata = idata + 1
9938 427312 : data_tmp = full_data(idata)
9939 427312 : data_tmp = ISHFT(data_tmp, 49)
9940 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9941 427312 : pack_tmp = ISHFT(pack_tmp, -2)
9942 427312 : idata = idata + 1
9943 427312 : data_tmp = full_data(idata)
9944 427312 : data_tmp = ISHFT(data_tmp, 49)
9945 427312 : data_tmp = IAND(data_tmp, mask_left(2))
9946 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9947 427312 : ipack = ipack + 1
9948 427312 : packed_data(ipack) = pack_tmp
9949 427312 : data_tmp = full_data(idata)
9950 427312 : pack_tmp = ISHFT(data_tmp, 51)
9951 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9952 427312 : idata = idata + 1
9953 427312 : data_tmp = full_data(idata)
9954 427312 : data_tmp = ISHFT(data_tmp, 49)
9955 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9956 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9957 427312 : idata = idata + 1
9958 427312 : data_tmp = full_data(idata)
9959 427312 : data_tmp = ISHFT(data_tmp, 49)
9960 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9961 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9962 427312 : idata = idata + 1
9963 427312 : data_tmp = full_data(idata)
9964 427312 : data_tmp = ISHFT(data_tmp, 49)
9965 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9966 427312 : pack_tmp = ISHFT(pack_tmp, -6)
9967 427312 : idata = idata + 1
9968 427312 : data_tmp = full_data(idata)
9969 427312 : data_tmp = ISHFT(data_tmp, 49)
9970 427312 : data_tmp = IAND(data_tmp, mask_left(6))
9971 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9972 427312 : ipack = ipack + 1
9973 427312 : packed_data(ipack) = pack_tmp
9974 427312 : data_tmp = full_data(idata)
9975 427312 : pack_tmp = ISHFT(data_tmp, 55)
9976 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9977 427312 : idata = idata + 1
9978 427312 : data_tmp = full_data(idata)
9979 427312 : data_tmp = ISHFT(data_tmp, 49)
9980 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9981 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9982 427312 : idata = idata + 1
9983 427312 : data_tmp = full_data(idata)
9984 427312 : data_tmp = ISHFT(data_tmp, 49)
9985 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9986 427312 : pack_tmp = ISHFT(pack_tmp, -15)
9987 427312 : idata = idata + 1
9988 427312 : data_tmp = full_data(idata)
9989 427312 : data_tmp = ISHFT(data_tmp, 49)
9990 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9991 427312 : pack_tmp = ISHFT(pack_tmp, -10)
9992 427312 : idata = idata + 1
9993 427312 : data_tmp = full_data(idata)
9994 427312 : data_tmp = ISHFT(data_tmp, 49)
9995 427312 : data_tmp = IAND(data_tmp, mask_left(10))
9996 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
9997 427312 : ipack = ipack + 1
9998 427312 : packed_data(ipack) = pack_tmp
9999 427312 : data_tmp = full_data(idata)
10000 427312 : pack_tmp = ISHFT(data_tmp, 59)
10001 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10002 427312 : idata = idata + 1
10003 427312 : data_tmp = full_data(idata)
10004 427312 : data_tmp = ISHFT(data_tmp, 49)
10005 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10006 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10007 427312 : idata = idata + 1
10008 427312 : data_tmp = full_data(idata)
10009 427312 : data_tmp = ISHFT(data_tmp, 49)
10010 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10011 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10012 427312 : idata = idata + 1
10013 427312 : data_tmp = full_data(idata)
10014 427312 : data_tmp = ISHFT(data_tmp, 49)
10015 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10016 427312 : pack_tmp = ISHFT(pack_tmp, -14)
10017 427312 : idata = idata + 1
10018 427312 : data_tmp = full_data(idata)
10019 427312 : data_tmp = ISHFT(data_tmp, 49)
10020 427312 : data_tmp = IAND(data_tmp, mask_left(14))
10021 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10022 427312 : ipack = ipack + 1
10023 427312 : packed_data(ipack) = pack_tmp
10024 427312 : data_tmp = full_data(idata)
10025 427312 : pack_tmp = ISHFT(data_tmp, 63)
10026 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10027 427312 : idata = idata + 1
10028 427312 : data_tmp = full_data(idata)
10029 427312 : data_tmp = ISHFT(data_tmp, 49)
10030 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10031 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10032 427312 : idata = idata + 1
10033 427312 : data_tmp = full_data(idata)
10034 427312 : data_tmp = ISHFT(data_tmp, 49)
10035 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10036 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10037 427312 : idata = idata + 1
10038 427312 : data_tmp = full_data(idata)
10039 427312 : data_tmp = ISHFT(data_tmp, 49)
10040 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10041 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10042 427312 : idata = idata + 1
10043 427312 : data_tmp = full_data(idata)
10044 427312 : data_tmp = ISHFT(data_tmp, 49)
10045 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10046 427312 : pack_tmp = ISHFT(pack_tmp, -3)
10047 427312 : idata = idata + 1
10048 427312 : data_tmp = full_data(idata)
10049 427312 : data_tmp = ISHFT(data_tmp, 49)
10050 427312 : data_tmp = IAND(data_tmp, mask_left(3))
10051 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10052 427312 : ipack = ipack + 1
10053 427312 : packed_data(ipack) = pack_tmp
10054 427312 : data_tmp = full_data(idata)
10055 427312 : pack_tmp = ISHFT(data_tmp, 52)
10056 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10057 427312 : idata = idata + 1
10058 427312 : data_tmp = full_data(idata)
10059 427312 : data_tmp = ISHFT(data_tmp, 49)
10060 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10061 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10062 427312 : idata = idata + 1
10063 427312 : data_tmp = full_data(idata)
10064 427312 : data_tmp = ISHFT(data_tmp, 49)
10065 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10066 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10067 427312 : idata = idata + 1
10068 427312 : data_tmp = full_data(idata)
10069 427312 : data_tmp = ISHFT(data_tmp, 49)
10070 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10071 427312 : pack_tmp = ISHFT(pack_tmp, -7)
10072 427312 : idata = idata + 1
10073 427312 : data_tmp = full_data(idata)
10074 427312 : data_tmp = ISHFT(data_tmp, 49)
10075 427312 : data_tmp = IAND(data_tmp, mask_left(7))
10076 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10077 427312 : ipack = ipack + 1
10078 427312 : packed_data(ipack) = pack_tmp
10079 427312 : data_tmp = full_data(idata)
10080 427312 : pack_tmp = ISHFT(data_tmp, 56)
10081 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10082 427312 : idata = idata + 1
10083 427312 : data_tmp = full_data(idata)
10084 427312 : data_tmp = ISHFT(data_tmp, 49)
10085 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10086 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10087 427312 : idata = idata + 1
10088 427312 : data_tmp = full_data(idata)
10089 427312 : data_tmp = ISHFT(data_tmp, 49)
10090 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10091 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10092 427312 : idata = idata + 1
10093 427312 : data_tmp = full_data(idata)
10094 427312 : data_tmp = ISHFT(data_tmp, 49)
10095 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10096 427312 : pack_tmp = ISHFT(pack_tmp, -11)
10097 427312 : idata = idata + 1
10098 427312 : data_tmp = full_data(idata)
10099 427312 : data_tmp = ISHFT(data_tmp, 49)
10100 427312 : data_tmp = IAND(data_tmp, mask_left(11))
10101 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10102 427312 : ipack = ipack + 1
10103 427312 : packed_data(ipack) = pack_tmp
10104 427312 : data_tmp = full_data(idata)
10105 427312 : pack_tmp = ISHFT(data_tmp, 60)
10106 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10107 427312 : idata = idata + 1
10108 427312 : data_tmp = full_data(idata)
10109 427312 : data_tmp = ISHFT(data_tmp, 49)
10110 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10111 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10112 427312 : idata = idata + 1
10113 427312 : data_tmp = full_data(idata)
10114 427312 : data_tmp = ISHFT(data_tmp, 49)
10115 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10116 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10117 427312 : idata = idata + 1
10118 427312 : data_tmp = full_data(idata)
10119 427312 : data_tmp = ISHFT(data_tmp, 49)
10120 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10121 427312 : pack_tmp = ISHFT(pack_tmp, -15)
10122 427312 : idata = idata + 1
10123 427312 : data_tmp = full_data(idata)
10124 427312 : data_tmp = ISHFT(data_tmp, 49)
10125 427312 : pack_tmp = IOR(pack_tmp, data_tmp)
10126 : pack_tmp = ISHFT(pack_tmp, 0)
10127 427312 : pack_tmp = ISHFT(pack_tmp, 0)
10128 427312 : ipack = ipack + 1
10129 427396 : packed_data(ipack) = pack_tmp
10130 : END DO
10131 27438 : 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 27438 : END SUBROUTINE ints2bits_15
10135 :
10136 : ! **************************************************************************************************
10137 : !> \brief ...
10138 : !> \param Ndata ...
10139 : !> \param packed_data ...
10140 : !> \param full_data ...
10141 : ! **************************************************************************************************
10142 124897 : 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 124897 : ipack = 0
10153 124897 : idata = 0
10154 124897 : pack_tmp = 0
10155 124897 : Ndata_rep = (Ndata/64)*64
10156 124897 : DO kdata = 1, Ndata_rep, 64
10157 1908184 : idata = idata + 1
10158 1908184 : data_tmp = ISHFT(pack_tmp, 15)
10159 1908184 : ipack = ipack + 1
10160 1908184 : pack_tmp = packed_data(ipack)
10161 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
10162 1908184 : pack_tmp = ISHFT(pack_tmp, -15)
10163 1908184 : idata = idata + 1
10164 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10165 1908184 : full_data(idata) = data_tmp
10166 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10167 1908184 : idata = idata + 1
10168 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10169 1908184 : full_data(idata) = data_tmp
10170 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10171 1908184 : idata = idata + 1
10172 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10173 1908184 : full_data(idata) = data_tmp
10174 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10175 1908184 : idata = idata + 1
10176 1908184 : data_tmp = ISHFT(pack_tmp, 11)
10177 1908184 : ipack = ipack + 1
10178 1908184 : pack_tmp = packed_data(ipack)
10179 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
10180 1908184 : pack_tmp = ISHFT(pack_tmp, -11)
10181 1908184 : idata = idata + 1
10182 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10183 1908184 : full_data(idata) = data_tmp
10184 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10185 1908184 : idata = idata + 1
10186 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10187 1908184 : full_data(idata) = data_tmp
10188 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10189 1908184 : idata = idata + 1
10190 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10191 1908184 : full_data(idata) = data_tmp
10192 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10193 1908184 : idata = idata + 1
10194 1908184 : data_tmp = ISHFT(pack_tmp, 7)
10195 1908184 : ipack = ipack + 1
10196 1908184 : pack_tmp = packed_data(ipack)
10197 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
10198 1908184 : pack_tmp = ISHFT(pack_tmp, -7)
10199 1908184 : idata = idata + 1
10200 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10201 1908184 : full_data(idata) = data_tmp
10202 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10203 1908184 : idata = idata + 1
10204 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10205 1908184 : full_data(idata) = data_tmp
10206 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10207 1908184 : idata = idata + 1
10208 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10209 1908184 : full_data(idata) = data_tmp
10210 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10211 1908184 : idata = idata + 1
10212 1908184 : data_tmp = ISHFT(pack_tmp, 3)
10213 1908184 : ipack = ipack + 1
10214 1908184 : pack_tmp = packed_data(ipack)
10215 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
10216 1908184 : pack_tmp = ISHFT(pack_tmp, -3)
10217 1908184 : idata = idata + 1
10218 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10219 1908184 : full_data(idata) = data_tmp
10220 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10221 1908184 : idata = idata + 1
10222 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10223 1908184 : full_data(idata) = data_tmp
10224 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10225 1908184 : idata = idata + 1
10226 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10227 1908184 : full_data(idata) = data_tmp
10228 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10229 1908184 : idata = idata + 1
10230 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10231 1908184 : full_data(idata) = data_tmp
10232 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10233 1908184 : idata = idata + 1
10234 1908184 : data_tmp = ISHFT(pack_tmp, 14)
10235 1908184 : ipack = ipack + 1
10236 1908184 : pack_tmp = packed_data(ipack)
10237 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
10238 1908184 : pack_tmp = ISHFT(pack_tmp, -14)
10239 1908184 : idata = idata + 1
10240 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10241 1908184 : full_data(idata) = data_tmp
10242 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10243 1908184 : idata = idata + 1
10244 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10245 1908184 : full_data(idata) = data_tmp
10246 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10247 1908184 : idata = idata + 1
10248 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10249 1908184 : full_data(idata) = data_tmp
10250 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10251 1908184 : idata = idata + 1
10252 1908184 : data_tmp = ISHFT(pack_tmp, 10)
10253 1908184 : ipack = ipack + 1
10254 1908184 : pack_tmp = packed_data(ipack)
10255 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
10256 1908184 : pack_tmp = ISHFT(pack_tmp, -10)
10257 1908184 : idata = idata + 1
10258 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10259 1908184 : full_data(idata) = data_tmp
10260 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10261 1908184 : idata = idata + 1
10262 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10263 1908184 : full_data(idata) = data_tmp
10264 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10265 1908184 : idata = idata + 1
10266 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10267 1908184 : full_data(idata) = data_tmp
10268 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10269 1908184 : idata = idata + 1
10270 1908184 : data_tmp = ISHFT(pack_tmp, 6)
10271 1908184 : ipack = ipack + 1
10272 1908184 : pack_tmp = packed_data(ipack)
10273 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
10274 1908184 : pack_tmp = ISHFT(pack_tmp, -6)
10275 1908184 : idata = idata + 1
10276 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10277 1908184 : full_data(idata) = data_tmp
10278 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10279 1908184 : idata = idata + 1
10280 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10281 1908184 : full_data(idata) = data_tmp
10282 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10283 1908184 : idata = idata + 1
10284 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10285 1908184 : full_data(idata) = data_tmp
10286 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10287 1908184 : idata = idata + 1
10288 1908184 : data_tmp = ISHFT(pack_tmp, 2)
10289 1908184 : ipack = ipack + 1
10290 1908184 : pack_tmp = packed_data(ipack)
10291 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
10292 1908184 : pack_tmp = ISHFT(pack_tmp, -2)
10293 1908184 : idata = idata + 1
10294 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10295 1908184 : full_data(idata) = data_tmp
10296 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10297 1908184 : idata = idata + 1
10298 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10299 1908184 : full_data(idata) = data_tmp
10300 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10301 1908184 : idata = idata + 1
10302 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10303 1908184 : full_data(idata) = data_tmp
10304 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10305 1908184 : idata = idata + 1
10306 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10307 1908184 : full_data(idata) = data_tmp
10308 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10309 1908184 : idata = idata + 1
10310 1908184 : data_tmp = ISHFT(pack_tmp, 13)
10311 1908184 : ipack = ipack + 1
10312 1908184 : pack_tmp = packed_data(ipack)
10313 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
10314 1908184 : pack_tmp = ISHFT(pack_tmp, -13)
10315 1908184 : idata = idata + 1
10316 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10317 1908184 : full_data(idata) = data_tmp
10318 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10319 1908184 : idata = idata + 1
10320 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10321 1908184 : full_data(idata) = data_tmp
10322 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10323 1908184 : idata = idata + 1
10324 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10325 1908184 : full_data(idata) = data_tmp
10326 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10327 1908184 : idata = idata + 1
10328 1908184 : data_tmp = ISHFT(pack_tmp, 9)
10329 1908184 : ipack = ipack + 1
10330 1908184 : pack_tmp = packed_data(ipack)
10331 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
10332 1908184 : pack_tmp = ISHFT(pack_tmp, -9)
10333 1908184 : idata = idata + 1
10334 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10335 1908184 : full_data(idata) = data_tmp
10336 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10337 1908184 : idata = idata + 1
10338 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10339 1908184 : full_data(idata) = data_tmp
10340 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10341 1908184 : idata = idata + 1
10342 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10343 1908184 : full_data(idata) = data_tmp
10344 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10345 1908184 : idata = idata + 1
10346 1908184 : data_tmp = ISHFT(pack_tmp, 5)
10347 1908184 : ipack = ipack + 1
10348 1908184 : pack_tmp = packed_data(ipack)
10349 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
10350 1908184 : pack_tmp = ISHFT(pack_tmp, -5)
10351 1908184 : idata = idata + 1
10352 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10353 1908184 : full_data(idata) = data_tmp
10354 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10355 1908184 : idata = idata + 1
10356 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10357 1908184 : full_data(idata) = data_tmp
10358 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10359 1908184 : idata = idata + 1
10360 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10361 1908184 : full_data(idata) = data_tmp
10362 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10363 1908184 : idata = idata + 1
10364 1908184 : data_tmp = ISHFT(pack_tmp, 1)
10365 1908184 : ipack = ipack + 1
10366 1908184 : pack_tmp = packed_data(ipack)
10367 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
10368 1908184 : pack_tmp = ISHFT(pack_tmp, -1)
10369 1908184 : idata = idata + 1
10370 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10371 1908184 : full_data(idata) = data_tmp
10372 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10373 1908184 : idata = idata + 1
10374 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10375 1908184 : full_data(idata) = data_tmp
10376 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10377 1908184 : idata = idata + 1
10378 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10379 1908184 : full_data(idata) = data_tmp
10380 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10381 1908184 : idata = idata + 1
10382 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10383 1908184 : full_data(idata) = data_tmp
10384 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10385 1908184 : idata = idata + 1
10386 1908184 : data_tmp = ISHFT(pack_tmp, 12)
10387 1908184 : ipack = ipack + 1
10388 1908184 : pack_tmp = packed_data(ipack)
10389 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
10390 1908184 : pack_tmp = ISHFT(pack_tmp, -12)
10391 1908184 : idata = idata + 1
10392 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10393 1908184 : full_data(idata) = data_tmp
10394 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10395 1908184 : idata = idata + 1
10396 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10397 1908184 : full_data(idata) = data_tmp
10398 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10399 1908184 : idata = idata + 1
10400 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10401 1908184 : full_data(idata) = data_tmp
10402 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10403 1908184 : idata = idata + 1
10404 1908184 : data_tmp = ISHFT(pack_tmp, 8)
10405 1908184 : ipack = ipack + 1
10406 1908184 : pack_tmp = packed_data(ipack)
10407 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
10408 1908184 : pack_tmp = ISHFT(pack_tmp, -8)
10409 1908184 : idata = idata + 1
10410 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10411 1908184 : full_data(idata) = data_tmp
10412 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10413 1908184 : idata = idata + 1
10414 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10415 1908184 : full_data(idata) = data_tmp
10416 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10417 1908184 : idata = idata + 1
10418 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10419 1908184 : full_data(idata) = data_tmp
10420 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10421 1908184 : idata = idata + 1
10422 1908184 : data_tmp = ISHFT(pack_tmp, 4)
10423 1908184 : ipack = ipack + 1
10424 1908184 : pack_tmp = packed_data(ipack)
10425 1908184 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
10426 1908184 : pack_tmp = ISHFT(pack_tmp, -4)
10427 1908184 : idata = idata + 1
10428 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10429 1908184 : full_data(idata) = data_tmp
10430 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10431 1908184 : idata = idata + 1
10432 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10433 1908184 : full_data(idata) = data_tmp
10434 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10435 1908184 : idata = idata + 1
10436 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10437 1908184 : full_data(idata) = data_tmp
10438 1908184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10439 1908184 : idata = idata + 1
10440 1908184 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10441 1908184 : full_data(idata) = data_tmp
10442 1908824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10443 : END DO
10444 124897 : IF (Ndata_rep < Ndata) THEN
10445 10608 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
10446 : END IF
10447 124897 : END SUBROUTINE bits2ints_15
10448 :
10449 : ! **************************************************************************************************
10450 : !> \brief ...
10451 : !> \param Ndata ...
10452 : !> \param packed_data ...
10453 : !> \param full_data ...
10454 : ! **************************************************************************************************
10455 28308 : 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 28308 : idata = 0
10466 28308 : ipack = 0
10467 28308 : Ndata_rep = (Ndata/64)*64
10468 28308 : DO kdata = 1, Ndata_rep, 64
10469 438912 : pack_tmp = 0
10470 438912 : idata = idata + 1
10471 438912 : data_tmp = full_data(idata)
10472 438912 : data_tmp = ISHFT(data_tmp, 48)
10473 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10474 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10475 438912 : idata = idata + 1
10476 438912 : data_tmp = full_data(idata)
10477 438912 : data_tmp = ISHFT(data_tmp, 48)
10478 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10479 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10480 438912 : idata = idata + 1
10481 438912 : data_tmp = full_data(idata)
10482 438912 : data_tmp = ISHFT(data_tmp, 48)
10483 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10484 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10485 438912 : idata = idata + 1
10486 438912 : data_tmp = full_data(idata)
10487 438912 : data_tmp = ISHFT(data_tmp, 48)
10488 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10489 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10490 438912 : idata = idata + 1
10491 438912 : data_tmp = full_data(idata)
10492 : data_tmp = ISHFT(data_tmp, 48)
10493 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10494 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10495 438912 : ipack = ipack + 1
10496 438912 : packed_data(ipack) = pack_tmp
10497 438912 : data_tmp = full_data(idata)
10498 438912 : pack_tmp = ISHFT(data_tmp, 48)
10499 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10500 438912 : idata = idata + 1
10501 438912 : data_tmp = full_data(idata)
10502 438912 : data_tmp = ISHFT(data_tmp, 48)
10503 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10504 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10505 438912 : idata = idata + 1
10506 438912 : data_tmp = full_data(idata)
10507 438912 : data_tmp = ISHFT(data_tmp, 48)
10508 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10509 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10510 438912 : idata = idata + 1
10511 438912 : data_tmp = full_data(idata)
10512 438912 : data_tmp = ISHFT(data_tmp, 48)
10513 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10514 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10515 438912 : idata = idata + 1
10516 438912 : data_tmp = full_data(idata)
10517 : data_tmp = ISHFT(data_tmp, 48)
10518 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10519 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10520 438912 : ipack = ipack + 1
10521 438912 : packed_data(ipack) = pack_tmp
10522 438912 : data_tmp = full_data(idata)
10523 438912 : pack_tmp = ISHFT(data_tmp, 48)
10524 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10525 438912 : idata = idata + 1
10526 438912 : data_tmp = full_data(idata)
10527 438912 : data_tmp = ISHFT(data_tmp, 48)
10528 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10529 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10530 438912 : idata = idata + 1
10531 438912 : data_tmp = full_data(idata)
10532 438912 : data_tmp = ISHFT(data_tmp, 48)
10533 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10534 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10535 438912 : idata = idata + 1
10536 438912 : data_tmp = full_data(idata)
10537 438912 : data_tmp = ISHFT(data_tmp, 48)
10538 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10539 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10540 438912 : idata = idata + 1
10541 438912 : data_tmp = full_data(idata)
10542 : data_tmp = ISHFT(data_tmp, 48)
10543 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10544 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10545 438912 : ipack = ipack + 1
10546 438912 : packed_data(ipack) = pack_tmp
10547 438912 : data_tmp = full_data(idata)
10548 438912 : pack_tmp = ISHFT(data_tmp, 48)
10549 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10550 438912 : idata = idata + 1
10551 438912 : data_tmp = full_data(idata)
10552 438912 : data_tmp = ISHFT(data_tmp, 48)
10553 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10554 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10555 438912 : idata = idata + 1
10556 438912 : data_tmp = full_data(idata)
10557 438912 : data_tmp = ISHFT(data_tmp, 48)
10558 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10559 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10560 438912 : idata = idata + 1
10561 438912 : data_tmp = full_data(idata)
10562 438912 : data_tmp = ISHFT(data_tmp, 48)
10563 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10564 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10565 438912 : idata = idata + 1
10566 438912 : data_tmp = full_data(idata)
10567 : data_tmp = ISHFT(data_tmp, 48)
10568 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10569 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10570 438912 : ipack = ipack + 1
10571 438912 : packed_data(ipack) = pack_tmp
10572 438912 : data_tmp = full_data(idata)
10573 438912 : pack_tmp = ISHFT(data_tmp, 48)
10574 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10575 438912 : idata = idata + 1
10576 438912 : data_tmp = full_data(idata)
10577 438912 : data_tmp = ISHFT(data_tmp, 48)
10578 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10579 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10580 438912 : idata = idata + 1
10581 438912 : data_tmp = full_data(idata)
10582 438912 : data_tmp = ISHFT(data_tmp, 48)
10583 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10584 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10585 438912 : idata = idata + 1
10586 438912 : data_tmp = full_data(idata)
10587 438912 : data_tmp = ISHFT(data_tmp, 48)
10588 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10589 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10590 438912 : idata = idata + 1
10591 438912 : data_tmp = full_data(idata)
10592 : data_tmp = ISHFT(data_tmp, 48)
10593 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10594 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10595 438912 : ipack = ipack + 1
10596 438912 : packed_data(ipack) = pack_tmp
10597 438912 : data_tmp = full_data(idata)
10598 438912 : pack_tmp = ISHFT(data_tmp, 48)
10599 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10600 438912 : idata = idata + 1
10601 438912 : data_tmp = full_data(idata)
10602 438912 : data_tmp = ISHFT(data_tmp, 48)
10603 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10604 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10605 438912 : idata = idata + 1
10606 438912 : data_tmp = full_data(idata)
10607 438912 : data_tmp = ISHFT(data_tmp, 48)
10608 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10609 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10610 438912 : idata = idata + 1
10611 438912 : data_tmp = full_data(idata)
10612 438912 : data_tmp = ISHFT(data_tmp, 48)
10613 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10614 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10615 438912 : idata = idata + 1
10616 438912 : data_tmp = full_data(idata)
10617 : data_tmp = ISHFT(data_tmp, 48)
10618 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10619 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10620 438912 : ipack = ipack + 1
10621 438912 : packed_data(ipack) = pack_tmp
10622 438912 : data_tmp = full_data(idata)
10623 438912 : pack_tmp = ISHFT(data_tmp, 48)
10624 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10625 438912 : idata = idata + 1
10626 438912 : data_tmp = full_data(idata)
10627 438912 : data_tmp = ISHFT(data_tmp, 48)
10628 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10629 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10630 438912 : idata = idata + 1
10631 438912 : data_tmp = full_data(idata)
10632 438912 : data_tmp = ISHFT(data_tmp, 48)
10633 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10634 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10635 438912 : idata = idata + 1
10636 438912 : data_tmp = full_data(idata)
10637 438912 : data_tmp = ISHFT(data_tmp, 48)
10638 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10639 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10640 438912 : idata = idata + 1
10641 438912 : data_tmp = full_data(idata)
10642 : data_tmp = ISHFT(data_tmp, 48)
10643 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10644 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10645 438912 : ipack = ipack + 1
10646 438912 : packed_data(ipack) = pack_tmp
10647 438912 : data_tmp = full_data(idata)
10648 438912 : pack_tmp = ISHFT(data_tmp, 48)
10649 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10650 438912 : idata = idata + 1
10651 438912 : data_tmp = full_data(idata)
10652 438912 : data_tmp = ISHFT(data_tmp, 48)
10653 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10654 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10655 438912 : idata = idata + 1
10656 438912 : data_tmp = full_data(idata)
10657 438912 : data_tmp = ISHFT(data_tmp, 48)
10658 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10659 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10660 438912 : idata = idata + 1
10661 438912 : data_tmp = full_data(idata)
10662 438912 : data_tmp = ISHFT(data_tmp, 48)
10663 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10664 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10665 438912 : idata = idata + 1
10666 438912 : data_tmp = full_data(idata)
10667 : data_tmp = ISHFT(data_tmp, 48)
10668 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10669 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10670 438912 : ipack = ipack + 1
10671 438912 : packed_data(ipack) = pack_tmp
10672 438912 : data_tmp = full_data(idata)
10673 438912 : pack_tmp = ISHFT(data_tmp, 48)
10674 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10675 438912 : idata = idata + 1
10676 438912 : data_tmp = full_data(idata)
10677 438912 : data_tmp = ISHFT(data_tmp, 48)
10678 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10679 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10680 438912 : idata = idata + 1
10681 438912 : data_tmp = full_data(idata)
10682 438912 : data_tmp = ISHFT(data_tmp, 48)
10683 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10684 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10685 438912 : idata = idata + 1
10686 438912 : data_tmp = full_data(idata)
10687 438912 : data_tmp = ISHFT(data_tmp, 48)
10688 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10689 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10690 438912 : idata = idata + 1
10691 438912 : data_tmp = full_data(idata)
10692 : data_tmp = ISHFT(data_tmp, 48)
10693 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10694 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10695 438912 : ipack = ipack + 1
10696 438912 : packed_data(ipack) = pack_tmp
10697 438912 : data_tmp = full_data(idata)
10698 438912 : pack_tmp = ISHFT(data_tmp, 48)
10699 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10700 438912 : idata = idata + 1
10701 438912 : data_tmp = full_data(idata)
10702 438912 : data_tmp = ISHFT(data_tmp, 48)
10703 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10704 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10705 438912 : idata = idata + 1
10706 438912 : data_tmp = full_data(idata)
10707 438912 : data_tmp = ISHFT(data_tmp, 48)
10708 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10709 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10710 438912 : idata = idata + 1
10711 438912 : data_tmp = full_data(idata)
10712 438912 : data_tmp = ISHFT(data_tmp, 48)
10713 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10714 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10715 438912 : idata = idata + 1
10716 438912 : data_tmp = full_data(idata)
10717 : data_tmp = ISHFT(data_tmp, 48)
10718 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10719 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10720 438912 : ipack = ipack + 1
10721 438912 : packed_data(ipack) = pack_tmp
10722 438912 : data_tmp = full_data(idata)
10723 438912 : pack_tmp = ISHFT(data_tmp, 48)
10724 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10725 438912 : idata = idata + 1
10726 438912 : data_tmp = full_data(idata)
10727 438912 : data_tmp = ISHFT(data_tmp, 48)
10728 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10729 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10730 438912 : idata = idata + 1
10731 438912 : data_tmp = full_data(idata)
10732 438912 : data_tmp = ISHFT(data_tmp, 48)
10733 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10734 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10735 438912 : idata = idata + 1
10736 438912 : data_tmp = full_data(idata)
10737 438912 : data_tmp = ISHFT(data_tmp, 48)
10738 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10739 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10740 438912 : idata = idata + 1
10741 438912 : data_tmp = full_data(idata)
10742 : data_tmp = ISHFT(data_tmp, 48)
10743 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10744 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10745 438912 : ipack = ipack + 1
10746 438912 : packed_data(ipack) = pack_tmp
10747 438912 : data_tmp = full_data(idata)
10748 438912 : pack_tmp = ISHFT(data_tmp, 48)
10749 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10750 438912 : idata = idata + 1
10751 438912 : data_tmp = full_data(idata)
10752 438912 : data_tmp = ISHFT(data_tmp, 48)
10753 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10754 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10755 438912 : idata = idata + 1
10756 438912 : data_tmp = full_data(idata)
10757 438912 : data_tmp = ISHFT(data_tmp, 48)
10758 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10759 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10760 438912 : idata = idata + 1
10761 438912 : data_tmp = full_data(idata)
10762 438912 : data_tmp = ISHFT(data_tmp, 48)
10763 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10764 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10765 438912 : idata = idata + 1
10766 438912 : data_tmp = full_data(idata)
10767 : data_tmp = ISHFT(data_tmp, 48)
10768 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10769 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10770 438912 : ipack = ipack + 1
10771 438912 : packed_data(ipack) = pack_tmp
10772 438912 : data_tmp = full_data(idata)
10773 438912 : pack_tmp = ISHFT(data_tmp, 48)
10774 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10775 438912 : idata = idata + 1
10776 438912 : data_tmp = full_data(idata)
10777 438912 : data_tmp = ISHFT(data_tmp, 48)
10778 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10779 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10780 438912 : idata = idata + 1
10781 438912 : data_tmp = full_data(idata)
10782 438912 : data_tmp = ISHFT(data_tmp, 48)
10783 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10784 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10785 438912 : idata = idata + 1
10786 438912 : data_tmp = full_data(idata)
10787 438912 : data_tmp = ISHFT(data_tmp, 48)
10788 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10789 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10790 438912 : idata = idata + 1
10791 438912 : data_tmp = full_data(idata)
10792 : data_tmp = ISHFT(data_tmp, 48)
10793 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10794 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10795 438912 : ipack = ipack + 1
10796 438912 : packed_data(ipack) = pack_tmp
10797 438912 : data_tmp = full_data(idata)
10798 438912 : pack_tmp = ISHFT(data_tmp, 48)
10799 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10800 438912 : idata = idata + 1
10801 438912 : data_tmp = full_data(idata)
10802 438912 : data_tmp = ISHFT(data_tmp, 48)
10803 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10804 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10805 438912 : idata = idata + 1
10806 438912 : data_tmp = full_data(idata)
10807 438912 : data_tmp = ISHFT(data_tmp, 48)
10808 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10809 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10810 438912 : idata = idata + 1
10811 438912 : data_tmp = full_data(idata)
10812 438912 : data_tmp = ISHFT(data_tmp, 48)
10813 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10814 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10815 438912 : idata = idata + 1
10816 438912 : data_tmp = full_data(idata)
10817 : data_tmp = ISHFT(data_tmp, 48)
10818 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10819 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10820 438912 : ipack = ipack + 1
10821 438912 : packed_data(ipack) = pack_tmp
10822 438912 : data_tmp = full_data(idata)
10823 438912 : pack_tmp = ISHFT(data_tmp, 48)
10824 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10825 438912 : idata = idata + 1
10826 438912 : data_tmp = full_data(idata)
10827 438912 : data_tmp = ISHFT(data_tmp, 48)
10828 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10829 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10830 438912 : idata = idata + 1
10831 438912 : data_tmp = full_data(idata)
10832 438912 : data_tmp = ISHFT(data_tmp, 48)
10833 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10834 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10835 438912 : idata = idata + 1
10836 438912 : data_tmp = full_data(idata)
10837 438912 : data_tmp = ISHFT(data_tmp, 48)
10838 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10839 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10840 438912 : idata = idata + 1
10841 438912 : data_tmp = full_data(idata)
10842 : data_tmp = ISHFT(data_tmp, 48)
10843 438912 : data_tmp = IAND(data_tmp, mask_left(0))
10844 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10845 438912 : ipack = ipack + 1
10846 438912 : packed_data(ipack) = pack_tmp
10847 438912 : data_tmp = full_data(idata)
10848 438912 : pack_tmp = ISHFT(data_tmp, 48)
10849 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10850 438912 : idata = idata + 1
10851 438912 : data_tmp = full_data(idata)
10852 438912 : data_tmp = ISHFT(data_tmp, 48)
10853 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10854 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10855 438912 : idata = idata + 1
10856 438912 : data_tmp = full_data(idata)
10857 438912 : data_tmp = ISHFT(data_tmp, 48)
10858 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10859 438912 : pack_tmp = ISHFT(pack_tmp, -16)
10860 438912 : idata = idata + 1
10861 438912 : data_tmp = full_data(idata)
10862 438912 : data_tmp = ISHFT(data_tmp, 48)
10863 438912 : pack_tmp = IOR(pack_tmp, data_tmp)
10864 : pack_tmp = ISHFT(pack_tmp, 0)
10865 438912 : pack_tmp = ISHFT(pack_tmp, 0)
10866 438912 : ipack = ipack + 1
10867 439788 : packed_data(ipack) = pack_tmp
10868 : END DO
10869 28308 : 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 28308 : END SUBROUTINE ints2bits_16
10873 :
10874 : ! **************************************************************************************************
10875 : !> \brief ...
10876 : !> \param Ndata ...
10877 : !> \param packed_data ...
10878 : !> \param full_data ...
10879 : ! **************************************************************************************************
10880 137301 : 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 137301 : ipack = 0
10891 137301 : idata = 0
10892 137301 : pack_tmp = 0
10893 137301 : Ndata_rep = (Ndata/64)*64
10894 137301 : DO kdata = 1, Ndata_rep, 64
10895 2071200 : idata = idata + 1
10896 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10897 2071200 : ipack = ipack + 1
10898 2071200 : pack_tmp = packed_data(ipack)
10899 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10900 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10901 2071200 : idata = idata + 1
10902 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10903 2071200 : full_data(idata) = data_tmp
10904 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10905 2071200 : idata = idata + 1
10906 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10907 2071200 : full_data(idata) = data_tmp
10908 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10909 2071200 : idata = idata + 1
10910 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10911 2071200 : full_data(idata) = data_tmp
10912 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10913 2071200 : idata = idata + 1
10914 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10915 2071200 : ipack = ipack + 1
10916 2071200 : pack_tmp = packed_data(ipack)
10917 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10918 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10919 2071200 : idata = idata + 1
10920 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10921 2071200 : full_data(idata) = data_tmp
10922 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10923 2071200 : idata = idata + 1
10924 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10925 2071200 : full_data(idata) = data_tmp
10926 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10927 2071200 : idata = idata + 1
10928 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10929 2071200 : full_data(idata) = data_tmp
10930 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10931 2071200 : idata = idata + 1
10932 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10933 2071200 : ipack = ipack + 1
10934 2071200 : pack_tmp = packed_data(ipack)
10935 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10936 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10937 2071200 : idata = idata + 1
10938 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10939 2071200 : full_data(idata) = data_tmp
10940 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10941 2071200 : idata = idata + 1
10942 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10943 2071200 : full_data(idata) = data_tmp
10944 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10945 2071200 : idata = idata + 1
10946 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10947 2071200 : full_data(idata) = data_tmp
10948 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10949 2071200 : idata = idata + 1
10950 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10951 2071200 : ipack = ipack + 1
10952 2071200 : pack_tmp = packed_data(ipack)
10953 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10954 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10955 2071200 : idata = idata + 1
10956 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10957 2071200 : full_data(idata) = data_tmp
10958 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10959 2071200 : idata = idata + 1
10960 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10961 2071200 : full_data(idata) = data_tmp
10962 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10963 2071200 : idata = idata + 1
10964 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10965 2071200 : full_data(idata) = data_tmp
10966 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10967 2071200 : idata = idata + 1
10968 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10969 2071200 : ipack = ipack + 1
10970 2071200 : pack_tmp = packed_data(ipack)
10971 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10972 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10973 2071200 : idata = idata + 1
10974 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10975 2071200 : full_data(idata) = data_tmp
10976 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10977 2071200 : idata = idata + 1
10978 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10979 2071200 : full_data(idata) = data_tmp
10980 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10981 2071200 : idata = idata + 1
10982 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10983 2071200 : full_data(idata) = data_tmp
10984 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10985 2071200 : idata = idata + 1
10986 2071200 : data_tmp = ISHFT(pack_tmp, 16)
10987 2071200 : ipack = ipack + 1
10988 2071200 : pack_tmp = packed_data(ipack)
10989 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10990 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
10991 2071200 : idata = idata + 1
10992 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10993 2071200 : full_data(idata) = data_tmp
10994 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10995 2071200 : idata = idata + 1
10996 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10997 2071200 : full_data(idata) = data_tmp
10998 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10999 2071200 : idata = idata + 1
11000 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11001 2071200 : full_data(idata) = data_tmp
11002 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11003 2071200 : idata = idata + 1
11004 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11005 2071200 : ipack = ipack + 1
11006 2071200 : pack_tmp = packed_data(ipack)
11007 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11008 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11009 2071200 : idata = idata + 1
11010 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11011 2071200 : full_data(idata) = data_tmp
11012 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11013 2071200 : idata = idata + 1
11014 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11015 2071200 : full_data(idata) = data_tmp
11016 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11017 2071200 : idata = idata + 1
11018 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11019 2071200 : full_data(idata) = data_tmp
11020 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11021 2071200 : idata = idata + 1
11022 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11023 2071200 : ipack = ipack + 1
11024 2071200 : pack_tmp = packed_data(ipack)
11025 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11026 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11027 2071200 : idata = idata + 1
11028 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11029 2071200 : full_data(idata) = data_tmp
11030 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11031 2071200 : idata = idata + 1
11032 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11033 2071200 : full_data(idata) = data_tmp
11034 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11035 2071200 : idata = idata + 1
11036 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11037 2071200 : full_data(idata) = data_tmp
11038 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11039 2071200 : idata = idata + 1
11040 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11041 2071200 : ipack = ipack + 1
11042 2071200 : pack_tmp = packed_data(ipack)
11043 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11044 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11045 2071200 : idata = idata + 1
11046 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11047 2071200 : full_data(idata) = data_tmp
11048 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11049 2071200 : idata = idata + 1
11050 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11051 2071200 : full_data(idata) = data_tmp
11052 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11053 2071200 : idata = idata + 1
11054 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11055 2071200 : full_data(idata) = data_tmp
11056 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11057 2071200 : idata = idata + 1
11058 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11059 2071200 : ipack = ipack + 1
11060 2071200 : pack_tmp = packed_data(ipack)
11061 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11062 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11063 2071200 : idata = idata + 1
11064 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11065 2071200 : full_data(idata) = data_tmp
11066 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11067 2071200 : idata = idata + 1
11068 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11069 2071200 : full_data(idata) = data_tmp
11070 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11071 2071200 : idata = idata + 1
11072 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11073 2071200 : full_data(idata) = data_tmp
11074 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11075 2071200 : idata = idata + 1
11076 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11077 2071200 : ipack = ipack + 1
11078 2071200 : pack_tmp = packed_data(ipack)
11079 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11080 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11081 2071200 : idata = idata + 1
11082 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11083 2071200 : full_data(idata) = data_tmp
11084 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11085 2071200 : idata = idata + 1
11086 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11087 2071200 : full_data(idata) = data_tmp
11088 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11089 2071200 : idata = idata + 1
11090 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11091 2071200 : full_data(idata) = data_tmp
11092 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11093 2071200 : idata = idata + 1
11094 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11095 2071200 : ipack = ipack + 1
11096 2071200 : pack_tmp = packed_data(ipack)
11097 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11098 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11099 2071200 : idata = idata + 1
11100 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11101 2071200 : full_data(idata) = data_tmp
11102 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11103 2071200 : idata = idata + 1
11104 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11105 2071200 : full_data(idata) = data_tmp
11106 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11107 2071200 : idata = idata + 1
11108 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11109 2071200 : full_data(idata) = data_tmp
11110 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11111 2071200 : idata = idata + 1
11112 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11113 2071200 : ipack = ipack + 1
11114 2071200 : pack_tmp = packed_data(ipack)
11115 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11116 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11117 2071200 : idata = idata + 1
11118 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11119 2071200 : full_data(idata) = data_tmp
11120 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11121 2071200 : idata = idata + 1
11122 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11123 2071200 : full_data(idata) = data_tmp
11124 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11125 2071200 : idata = idata + 1
11126 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11127 2071200 : full_data(idata) = data_tmp
11128 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11129 2071200 : idata = idata + 1
11130 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11131 2071200 : ipack = ipack + 1
11132 2071200 : pack_tmp = packed_data(ipack)
11133 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11134 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11135 2071200 : idata = idata + 1
11136 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11137 2071200 : full_data(idata) = data_tmp
11138 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11139 2071200 : idata = idata + 1
11140 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11141 2071200 : full_data(idata) = data_tmp
11142 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11143 2071200 : idata = idata + 1
11144 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11145 2071200 : full_data(idata) = data_tmp
11146 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11147 2071200 : idata = idata + 1
11148 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11149 2071200 : ipack = ipack + 1
11150 2071200 : pack_tmp = packed_data(ipack)
11151 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11152 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11153 2071200 : idata = idata + 1
11154 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11155 2071200 : full_data(idata) = data_tmp
11156 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11157 2071200 : idata = idata + 1
11158 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11159 2071200 : full_data(idata) = data_tmp
11160 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11161 2071200 : idata = idata + 1
11162 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11163 2071200 : full_data(idata) = data_tmp
11164 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11165 2071200 : idata = idata + 1
11166 2071200 : data_tmp = ISHFT(pack_tmp, 16)
11167 2071200 : ipack = ipack + 1
11168 2071200 : pack_tmp = packed_data(ipack)
11169 2071200 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11170 2071200 : pack_tmp = ISHFT(pack_tmp, -16)
11171 2071200 : idata = idata + 1
11172 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11173 2071200 : full_data(idata) = data_tmp
11174 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11175 2071200 : idata = idata + 1
11176 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11177 2071200 : full_data(idata) = data_tmp
11178 2071200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11179 2071200 : idata = idata + 1
11180 2071200 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11181 2071200 : full_data(idata) = data_tmp
11182 2079051 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11183 : END DO
11184 137301 : 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 137301 : END SUBROUTINE bits2ints_16
11188 :
11189 : ! **************************************************************************************************
11190 : !> \brief ...
11191 : !> \param Ndata ...
11192 : !> \param packed_data ...
11193 : !> \param full_data ...
11194 : ! **************************************************************************************************
11195 31814 : 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 31814 : idata = 0
11206 31814 : ipack = 0
11207 31814 : Ndata_rep = (Ndata/64)*64
11208 31814 : DO kdata = 1, Ndata_rep, 64
11209 481335 : pack_tmp = 0
11210 481335 : idata = idata + 1
11211 481335 : data_tmp = full_data(idata)
11212 481335 : data_tmp = ISHFT(data_tmp, 47)
11213 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11214 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11215 481335 : idata = idata + 1
11216 481335 : data_tmp = full_data(idata)
11217 481335 : data_tmp = ISHFT(data_tmp, 47)
11218 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11219 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11220 481335 : idata = idata + 1
11221 481335 : data_tmp = full_data(idata)
11222 481335 : data_tmp = ISHFT(data_tmp, 47)
11223 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11224 481335 : pack_tmp = ISHFT(pack_tmp, -13)
11225 481335 : idata = idata + 1
11226 481335 : data_tmp = full_data(idata)
11227 481335 : data_tmp = ISHFT(data_tmp, 47)
11228 481335 : data_tmp = IAND(data_tmp, mask_left(13))
11229 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11230 481335 : ipack = ipack + 1
11231 481335 : packed_data(ipack) = pack_tmp
11232 481335 : data_tmp = full_data(idata)
11233 481335 : pack_tmp = ISHFT(data_tmp, 60)
11234 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11235 481335 : idata = idata + 1
11236 481335 : data_tmp = full_data(idata)
11237 481335 : data_tmp = ISHFT(data_tmp, 47)
11238 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11239 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11240 481335 : idata = idata + 1
11241 481335 : data_tmp = full_data(idata)
11242 481335 : data_tmp = ISHFT(data_tmp, 47)
11243 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11244 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11245 481335 : idata = idata + 1
11246 481335 : data_tmp = full_data(idata)
11247 481335 : data_tmp = ISHFT(data_tmp, 47)
11248 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11249 481335 : pack_tmp = ISHFT(pack_tmp, -9)
11250 481335 : idata = idata + 1
11251 481335 : data_tmp = full_data(idata)
11252 481335 : data_tmp = ISHFT(data_tmp, 47)
11253 481335 : data_tmp = IAND(data_tmp, mask_left(9))
11254 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11255 481335 : ipack = ipack + 1
11256 481335 : packed_data(ipack) = pack_tmp
11257 481335 : data_tmp = full_data(idata)
11258 481335 : pack_tmp = ISHFT(data_tmp, 56)
11259 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11260 481335 : idata = idata + 1
11261 481335 : data_tmp = full_data(idata)
11262 481335 : data_tmp = ISHFT(data_tmp, 47)
11263 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11264 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11265 481335 : idata = idata + 1
11266 481335 : data_tmp = full_data(idata)
11267 481335 : data_tmp = ISHFT(data_tmp, 47)
11268 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11269 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11270 481335 : idata = idata + 1
11271 481335 : data_tmp = full_data(idata)
11272 481335 : data_tmp = ISHFT(data_tmp, 47)
11273 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11274 481335 : pack_tmp = ISHFT(pack_tmp, -5)
11275 481335 : idata = idata + 1
11276 481335 : data_tmp = full_data(idata)
11277 481335 : data_tmp = ISHFT(data_tmp, 47)
11278 481335 : data_tmp = IAND(data_tmp, mask_left(5))
11279 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11280 481335 : ipack = ipack + 1
11281 481335 : packed_data(ipack) = pack_tmp
11282 481335 : data_tmp = full_data(idata)
11283 481335 : pack_tmp = ISHFT(data_tmp, 52)
11284 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11285 481335 : idata = idata + 1
11286 481335 : data_tmp = full_data(idata)
11287 481335 : data_tmp = ISHFT(data_tmp, 47)
11288 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11289 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11290 481335 : idata = idata + 1
11291 481335 : data_tmp = full_data(idata)
11292 481335 : data_tmp = ISHFT(data_tmp, 47)
11293 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11294 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11295 481335 : idata = idata + 1
11296 481335 : data_tmp = full_data(idata)
11297 481335 : data_tmp = ISHFT(data_tmp, 47)
11298 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11299 481335 : pack_tmp = ISHFT(pack_tmp, -1)
11300 481335 : idata = idata + 1
11301 481335 : data_tmp = full_data(idata)
11302 481335 : data_tmp = ISHFT(data_tmp, 47)
11303 481335 : data_tmp = IAND(data_tmp, mask_left(1))
11304 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11305 481335 : ipack = ipack + 1
11306 481335 : packed_data(ipack) = pack_tmp
11307 481335 : data_tmp = full_data(idata)
11308 481335 : pack_tmp = ISHFT(data_tmp, 48)
11309 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11310 481335 : idata = idata + 1
11311 481335 : data_tmp = full_data(idata)
11312 481335 : data_tmp = ISHFT(data_tmp, 47)
11313 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11314 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11315 481335 : idata = idata + 1
11316 481335 : data_tmp = full_data(idata)
11317 481335 : data_tmp = ISHFT(data_tmp, 47)
11318 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11319 481335 : pack_tmp = ISHFT(pack_tmp, -14)
11320 481335 : idata = idata + 1
11321 481335 : data_tmp = full_data(idata)
11322 481335 : data_tmp = ISHFT(data_tmp, 47)
11323 481335 : data_tmp = IAND(data_tmp, mask_left(14))
11324 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11325 481335 : ipack = ipack + 1
11326 481335 : packed_data(ipack) = pack_tmp
11327 481335 : data_tmp = full_data(idata)
11328 481335 : pack_tmp = ISHFT(data_tmp, 61)
11329 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11330 481335 : idata = idata + 1
11331 481335 : data_tmp = full_data(idata)
11332 481335 : data_tmp = ISHFT(data_tmp, 47)
11333 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11334 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11335 481335 : idata = idata + 1
11336 481335 : data_tmp = full_data(idata)
11337 481335 : data_tmp = ISHFT(data_tmp, 47)
11338 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11339 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11340 481335 : idata = idata + 1
11341 481335 : data_tmp = full_data(idata)
11342 481335 : data_tmp = ISHFT(data_tmp, 47)
11343 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11344 481335 : pack_tmp = ISHFT(pack_tmp, -10)
11345 481335 : idata = idata + 1
11346 481335 : data_tmp = full_data(idata)
11347 481335 : data_tmp = ISHFT(data_tmp, 47)
11348 481335 : data_tmp = IAND(data_tmp, mask_left(10))
11349 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11350 481335 : ipack = ipack + 1
11351 481335 : packed_data(ipack) = pack_tmp
11352 481335 : data_tmp = full_data(idata)
11353 481335 : pack_tmp = ISHFT(data_tmp, 57)
11354 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11355 481335 : idata = idata + 1
11356 481335 : data_tmp = full_data(idata)
11357 481335 : data_tmp = ISHFT(data_tmp, 47)
11358 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11359 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11360 481335 : idata = idata + 1
11361 481335 : data_tmp = full_data(idata)
11362 481335 : data_tmp = ISHFT(data_tmp, 47)
11363 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11364 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11365 481335 : idata = idata + 1
11366 481335 : data_tmp = full_data(idata)
11367 481335 : data_tmp = ISHFT(data_tmp, 47)
11368 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11369 481335 : pack_tmp = ISHFT(pack_tmp, -6)
11370 481335 : idata = idata + 1
11371 481335 : data_tmp = full_data(idata)
11372 481335 : data_tmp = ISHFT(data_tmp, 47)
11373 481335 : data_tmp = IAND(data_tmp, mask_left(6))
11374 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11375 481335 : ipack = ipack + 1
11376 481335 : packed_data(ipack) = pack_tmp
11377 481335 : data_tmp = full_data(idata)
11378 481335 : pack_tmp = ISHFT(data_tmp, 53)
11379 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11380 481335 : idata = idata + 1
11381 481335 : data_tmp = full_data(idata)
11382 481335 : data_tmp = ISHFT(data_tmp, 47)
11383 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11384 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11385 481335 : idata = idata + 1
11386 481335 : data_tmp = full_data(idata)
11387 481335 : data_tmp = ISHFT(data_tmp, 47)
11388 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11389 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11390 481335 : idata = idata + 1
11391 481335 : data_tmp = full_data(idata)
11392 481335 : data_tmp = ISHFT(data_tmp, 47)
11393 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11394 481335 : pack_tmp = ISHFT(pack_tmp, -2)
11395 481335 : idata = idata + 1
11396 481335 : data_tmp = full_data(idata)
11397 481335 : data_tmp = ISHFT(data_tmp, 47)
11398 481335 : data_tmp = IAND(data_tmp, mask_left(2))
11399 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11400 481335 : ipack = ipack + 1
11401 481335 : packed_data(ipack) = pack_tmp
11402 481335 : data_tmp = full_data(idata)
11403 481335 : pack_tmp = ISHFT(data_tmp, 49)
11404 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11405 481335 : idata = idata + 1
11406 481335 : data_tmp = full_data(idata)
11407 481335 : data_tmp = ISHFT(data_tmp, 47)
11408 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11409 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11410 481335 : idata = idata + 1
11411 481335 : data_tmp = full_data(idata)
11412 481335 : data_tmp = ISHFT(data_tmp, 47)
11413 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11414 481335 : pack_tmp = ISHFT(pack_tmp, -15)
11415 481335 : idata = idata + 1
11416 481335 : data_tmp = full_data(idata)
11417 481335 : data_tmp = ISHFT(data_tmp, 47)
11418 481335 : data_tmp = IAND(data_tmp, mask_left(15))
11419 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11420 481335 : ipack = ipack + 1
11421 481335 : packed_data(ipack) = pack_tmp
11422 481335 : data_tmp = full_data(idata)
11423 481335 : pack_tmp = ISHFT(data_tmp, 62)
11424 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11425 481335 : idata = idata + 1
11426 481335 : data_tmp = full_data(idata)
11427 481335 : data_tmp = ISHFT(data_tmp, 47)
11428 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11429 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11430 481335 : idata = idata + 1
11431 481335 : data_tmp = full_data(idata)
11432 481335 : data_tmp = ISHFT(data_tmp, 47)
11433 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11434 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11435 481335 : idata = idata + 1
11436 481335 : data_tmp = full_data(idata)
11437 481335 : data_tmp = ISHFT(data_tmp, 47)
11438 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11439 481335 : pack_tmp = ISHFT(pack_tmp, -11)
11440 481335 : idata = idata + 1
11441 481335 : data_tmp = full_data(idata)
11442 481335 : data_tmp = ISHFT(data_tmp, 47)
11443 481335 : data_tmp = IAND(data_tmp, mask_left(11))
11444 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11445 481335 : ipack = ipack + 1
11446 481335 : packed_data(ipack) = pack_tmp
11447 481335 : data_tmp = full_data(idata)
11448 481335 : pack_tmp = ISHFT(data_tmp, 58)
11449 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11450 481335 : idata = idata + 1
11451 481335 : data_tmp = full_data(idata)
11452 481335 : data_tmp = ISHFT(data_tmp, 47)
11453 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11454 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11455 481335 : idata = idata + 1
11456 481335 : data_tmp = full_data(idata)
11457 481335 : data_tmp = ISHFT(data_tmp, 47)
11458 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11459 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11460 481335 : idata = idata + 1
11461 481335 : data_tmp = full_data(idata)
11462 481335 : data_tmp = ISHFT(data_tmp, 47)
11463 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11464 481335 : pack_tmp = ISHFT(pack_tmp, -7)
11465 481335 : idata = idata + 1
11466 481335 : data_tmp = full_data(idata)
11467 481335 : data_tmp = ISHFT(data_tmp, 47)
11468 481335 : data_tmp = IAND(data_tmp, mask_left(7))
11469 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11470 481335 : ipack = ipack + 1
11471 481335 : packed_data(ipack) = pack_tmp
11472 481335 : data_tmp = full_data(idata)
11473 481335 : pack_tmp = ISHFT(data_tmp, 54)
11474 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11475 481335 : idata = idata + 1
11476 481335 : data_tmp = full_data(idata)
11477 481335 : data_tmp = ISHFT(data_tmp, 47)
11478 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11479 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11480 481335 : idata = idata + 1
11481 481335 : data_tmp = full_data(idata)
11482 481335 : data_tmp = ISHFT(data_tmp, 47)
11483 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11484 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11485 481335 : idata = idata + 1
11486 481335 : data_tmp = full_data(idata)
11487 481335 : data_tmp = ISHFT(data_tmp, 47)
11488 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11489 481335 : pack_tmp = ISHFT(pack_tmp, -3)
11490 481335 : idata = idata + 1
11491 481335 : data_tmp = full_data(idata)
11492 481335 : data_tmp = ISHFT(data_tmp, 47)
11493 481335 : data_tmp = IAND(data_tmp, mask_left(3))
11494 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11495 481335 : ipack = ipack + 1
11496 481335 : packed_data(ipack) = pack_tmp
11497 481335 : data_tmp = full_data(idata)
11498 481335 : pack_tmp = ISHFT(data_tmp, 50)
11499 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11500 481335 : idata = idata + 1
11501 481335 : data_tmp = full_data(idata)
11502 481335 : data_tmp = ISHFT(data_tmp, 47)
11503 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11504 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11505 481335 : idata = idata + 1
11506 481335 : data_tmp = full_data(idata)
11507 481335 : data_tmp = ISHFT(data_tmp, 47)
11508 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11509 481335 : pack_tmp = ISHFT(pack_tmp, -16)
11510 481335 : idata = idata + 1
11511 481335 : data_tmp = full_data(idata)
11512 481335 : data_tmp = ISHFT(data_tmp, 47)
11513 481335 : data_tmp = IAND(data_tmp, mask_left(16))
11514 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11515 481335 : ipack = ipack + 1
11516 481335 : packed_data(ipack) = pack_tmp
11517 481335 : data_tmp = full_data(idata)
11518 481335 : pack_tmp = ISHFT(data_tmp, 63)
11519 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11520 481335 : idata = idata + 1
11521 481335 : data_tmp = full_data(idata)
11522 481335 : data_tmp = ISHFT(data_tmp, 47)
11523 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11524 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11525 481335 : idata = idata + 1
11526 481335 : data_tmp = full_data(idata)
11527 481335 : data_tmp = ISHFT(data_tmp, 47)
11528 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11529 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11530 481335 : idata = idata + 1
11531 481335 : data_tmp = full_data(idata)
11532 481335 : data_tmp = ISHFT(data_tmp, 47)
11533 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11534 481335 : pack_tmp = ISHFT(pack_tmp, -12)
11535 481335 : idata = idata + 1
11536 481335 : data_tmp = full_data(idata)
11537 481335 : data_tmp = ISHFT(data_tmp, 47)
11538 481335 : data_tmp = IAND(data_tmp, mask_left(12))
11539 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11540 481335 : ipack = ipack + 1
11541 481335 : packed_data(ipack) = pack_tmp
11542 481335 : data_tmp = full_data(idata)
11543 481335 : pack_tmp = ISHFT(data_tmp, 59)
11544 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11545 481335 : idata = idata + 1
11546 481335 : data_tmp = full_data(idata)
11547 481335 : data_tmp = ISHFT(data_tmp, 47)
11548 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11549 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11550 481335 : idata = idata + 1
11551 481335 : data_tmp = full_data(idata)
11552 481335 : data_tmp = ISHFT(data_tmp, 47)
11553 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11554 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11555 481335 : idata = idata + 1
11556 481335 : data_tmp = full_data(idata)
11557 481335 : data_tmp = ISHFT(data_tmp, 47)
11558 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11559 481335 : pack_tmp = ISHFT(pack_tmp, -8)
11560 481335 : idata = idata + 1
11561 481335 : data_tmp = full_data(idata)
11562 481335 : data_tmp = ISHFT(data_tmp, 47)
11563 481335 : data_tmp = IAND(data_tmp, mask_left(8))
11564 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11565 481335 : ipack = ipack + 1
11566 481335 : packed_data(ipack) = pack_tmp
11567 481335 : data_tmp = full_data(idata)
11568 481335 : pack_tmp = ISHFT(data_tmp, 55)
11569 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11570 481335 : idata = idata + 1
11571 481335 : data_tmp = full_data(idata)
11572 481335 : data_tmp = ISHFT(data_tmp, 47)
11573 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11574 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11575 481335 : idata = idata + 1
11576 481335 : data_tmp = full_data(idata)
11577 481335 : data_tmp = ISHFT(data_tmp, 47)
11578 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11579 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11580 481335 : idata = idata + 1
11581 481335 : data_tmp = full_data(idata)
11582 481335 : data_tmp = ISHFT(data_tmp, 47)
11583 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11584 481335 : pack_tmp = ISHFT(pack_tmp, -4)
11585 481335 : idata = idata + 1
11586 481335 : data_tmp = full_data(idata)
11587 481335 : data_tmp = ISHFT(data_tmp, 47)
11588 481335 : data_tmp = IAND(data_tmp, mask_left(4))
11589 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11590 481335 : ipack = ipack + 1
11591 481335 : packed_data(ipack) = pack_tmp
11592 481335 : data_tmp = full_data(idata)
11593 481335 : pack_tmp = ISHFT(data_tmp, 51)
11594 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11595 481335 : idata = idata + 1
11596 481335 : data_tmp = full_data(idata)
11597 481335 : data_tmp = ISHFT(data_tmp, 47)
11598 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11599 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11600 481335 : idata = idata + 1
11601 481335 : data_tmp = full_data(idata)
11602 481335 : data_tmp = ISHFT(data_tmp, 47)
11603 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11604 481335 : pack_tmp = ISHFT(pack_tmp, -17)
11605 481335 : idata = idata + 1
11606 481335 : data_tmp = full_data(idata)
11607 481335 : data_tmp = ISHFT(data_tmp, 47)
11608 481335 : pack_tmp = IOR(pack_tmp, data_tmp)
11609 : pack_tmp = ISHFT(pack_tmp, 0)
11610 481335 : pack_tmp = ISHFT(pack_tmp, 0)
11611 481335 : ipack = ipack + 1
11612 481478 : packed_data(ipack) = pack_tmp
11613 : END DO
11614 31814 : IF (Ndata_rep < Ndata) THEN
11615 3154 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11616 : END IF
11617 31814 : END SUBROUTINE ints2bits_17
11618 :
11619 : ! **************************************************************************************************
11620 : !> \brief ...
11621 : !> \param Ndata ...
11622 : !> \param packed_data ...
11623 : !> \param full_data ...
11624 : ! **************************************************************************************************
11625 162988 : 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 162988 : ipack = 0
11636 162988 : idata = 0
11637 162988 : pack_tmp = 0
11638 162988 : Ndata_rep = (Ndata/64)*64
11639 162988 : DO kdata = 1, Ndata_rep, 64
11640 2382648 : idata = idata + 1
11641 2382648 : data_tmp = ISHFT(pack_tmp, 17)
11642 2382648 : ipack = ipack + 1
11643 2382648 : pack_tmp = packed_data(ipack)
11644 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
11645 2382648 : pack_tmp = ISHFT(pack_tmp, -17)
11646 2382648 : idata = idata + 1
11647 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11648 2382648 : full_data(idata) = data_tmp
11649 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11650 2382648 : idata = idata + 1
11651 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11652 2382648 : full_data(idata) = data_tmp
11653 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11654 2382648 : idata = idata + 1
11655 2382648 : data_tmp = ISHFT(pack_tmp, 4)
11656 2382648 : ipack = ipack + 1
11657 2382648 : pack_tmp = packed_data(ipack)
11658 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
11659 2382648 : pack_tmp = ISHFT(pack_tmp, -4)
11660 2382648 : idata = idata + 1
11661 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11662 2382648 : full_data(idata) = data_tmp
11663 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11664 2382648 : idata = idata + 1
11665 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11666 2382648 : full_data(idata) = data_tmp
11667 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11668 2382648 : idata = idata + 1
11669 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11670 2382648 : full_data(idata) = data_tmp
11671 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11672 2382648 : idata = idata + 1
11673 2382648 : data_tmp = ISHFT(pack_tmp, 8)
11674 2382648 : ipack = ipack + 1
11675 2382648 : pack_tmp = packed_data(ipack)
11676 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
11677 2382648 : pack_tmp = ISHFT(pack_tmp, -8)
11678 2382648 : idata = idata + 1
11679 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11680 2382648 : full_data(idata) = data_tmp
11681 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11682 2382648 : idata = idata + 1
11683 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11684 2382648 : full_data(idata) = data_tmp
11685 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11686 2382648 : idata = idata + 1
11687 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11688 2382648 : full_data(idata) = data_tmp
11689 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11690 2382648 : idata = idata + 1
11691 2382648 : data_tmp = ISHFT(pack_tmp, 12)
11692 2382648 : ipack = ipack + 1
11693 2382648 : pack_tmp = packed_data(ipack)
11694 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
11695 2382648 : pack_tmp = ISHFT(pack_tmp, -12)
11696 2382648 : idata = idata + 1
11697 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11698 2382648 : full_data(idata) = data_tmp
11699 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11700 2382648 : idata = idata + 1
11701 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11702 2382648 : full_data(idata) = data_tmp
11703 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11704 2382648 : idata = idata + 1
11705 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11706 2382648 : full_data(idata) = data_tmp
11707 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11708 2382648 : idata = idata + 1
11709 2382648 : data_tmp = ISHFT(pack_tmp, 16)
11710 2382648 : ipack = ipack + 1
11711 2382648 : pack_tmp = packed_data(ipack)
11712 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11713 2382648 : pack_tmp = ISHFT(pack_tmp, -16)
11714 2382648 : idata = idata + 1
11715 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11716 2382648 : full_data(idata) = data_tmp
11717 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11718 2382648 : idata = idata + 1
11719 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11720 2382648 : full_data(idata) = data_tmp
11721 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11722 2382648 : idata = idata + 1
11723 2382648 : data_tmp = ISHFT(pack_tmp, 3)
11724 2382648 : ipack = ipack + 1
11725 2382648 : pack_tmp = packed_data(ipack)
11726 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
11727 2382648 : pack_tmp = ISHFT(pack_tmp, -3)
11728 2382648 : idata = idata + 1
11729 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11730 2382648 : full_data(idata) = data_tmp
11731 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11732 2382648 : idata = idata + 1
11733 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11734 2382648 : full_data(idata) = data_tmp
11735 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11736 2382648 : idata = idata + 1
11737 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11738 2382648 : full_data(idata) = data_tmp
11739 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11740 2382648 : idata = idata + 1
11741 2382648 : data_tmp = ISHFT(pack_tmp, 7)
11742 2382648 : ipack = ipack + 1
11743 2382648 : pack_tmp = packed_data(ipack)
11744 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
11745 2382648 : pack_tmp = ISHFT(pack_tmp, -7)
11746 2382648 : idata = idata + 1
11747 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11748 2382648 : full_data(idata) = data_tmp
11749 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11750 2382648 : idata = idata + 1
11751 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11752 2382648 : full_data(idata) = data_tmp
11753 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11754 2382648 : idata = idata + 1
11755 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11756 2382648 : full_data(idata) = data_tmp
11757 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11758 2382648 : idata = idata + 1
11759 2382648 : data_tmp = ISHFT(pack_tmp, 11)
11760 2382648 : ipack = ipack + 1
11761 2382648 : pack_tmp = packed_data(ipack)
11762 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
11763 2382648 : pack_tmp = ISHFT(pack_tmp, -11)
11764 2382648 : idata = idata + 1
11765 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11766 2382648 : full_data(idata) = data_tmp
11767 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11768 2382648 : idata = idata + 1
11769 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11770 2382648 : full_data(idata) = data_tmp
11771 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11772 2382648 : idata = idata + 1
11773 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11774 2382648 : full_data(idata) = data_tmp
11775 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11776 2382648 : idata = idata + 1
11777 2382648 : data_tmp = ISHFT(pack_tmp, 15)
11778 2382648 : ipack = ipack + 1
11779 2382648 : pack_tmp = packed_data(ipack)
11780 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
11781 2382648 : pack_tmp = ISHFT(pack_tmp, -15)
11782 2382648 : idata = idata + 1
11783 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11784 2382648 : full_data(idata) = data_tmp
11785 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11786 2382648 : idata = idata + 1
11787 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11788 2382648 : full_data(idata) = data_tmp
11789 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11790 2382648 : idata = idata + 1
11791 2382648 : data_tmp = ISHFT(pack_tmp, 2)
11792 2382648 : ipack = ipack + 1
11793 2382648 : pack_tmp = packed_data(ipack)
11794 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
11795 2382648 : pack_tmp = ISHFT(pack_tmp, -2)
11796 2382648 : idata = idata + 1
11797 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11798 2382648 : full_data(idata) = data_tmp
11799 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11800 2382648 : idata = idata + 1
11801 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11802 2382648 : full_data(idata) = data_tmp
11803 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11804 2382648 : idata = idata + 1
11805 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11806 2382648 : full_data(idata) = data_tmp
11807 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11808 2382648 : idata = idata + 1
11809 2382648 : data_tmp = ISHFT(pack_tmp, 6)
11810 2382648 : ipack = ipack + 1
11811 2382648 : pack_tmp = packed_data(ipack)
11812 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
11813 2382648 : pack_tmp = ISHFT(pack_tmp, -6)
11814 2382648 : idata = idata + 1
11815 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11816 2382648 : full_data(idata) = data_tmp
11817 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11818 2382648 : idata = idata + 1
11819 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11820 2382648 : full_data(idata) = data_tmp
11821 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11822 2382648 : idata = idata + 1
11823 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11824 2382648 : full_data(idata) = data_tmp
11825 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11826 2382648 : idata = idata + 1
11827 2382648 : data_tmp = ISHFT(pack_tmp, 10)
11828 2382648 : ipack = ipack + 1
11829 2382648 : pack_tmp = packed_data(ipack)
11830 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
11831 2382648 : pack_tmp = ISHFT(pack_tmp, -10)
11832 2382648 : idata = idata + 1
11833 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11834 2382648 : full_data(idata) = data_tmp
11835 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11836 2382648 : idata = idata + 1
11837 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11838 2382648 : full_data(idata) = data_tmp
11839 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11840 2382648 : idata = idata + 1
11841 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11842 2382648 : full_data(idata) = data_tmp
11843 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11844 2382648 : idata = idata + 1
11845 2382648 : data_tmp = ISHFT(pack_tmp, 14)
11846 2382648 : ipack = ipack + 1
11847 2382648 : pack_tmp = packed_data(ipack)
11848 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
11849 2382648 : pack_tmp = ISHFT(pack_tmp, -14)
11850 2382648 : idata = idata + 1
11851 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11852 2382648 : full_data(idata) = data_tmp
11853 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11854 2382648 : idata = idata + 1
11855 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11856 2382648 : full_data(idata) = data_tmp
11857 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11858 2382648 : idata = idata + 1
11859 2382648 : data_tmp = ISHFT(pack_tmp, 1)
11860 2382648 : ipack = ipack + 1
11861 2382648 : pack_tmp = packed_data(ipack)
11862 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
11863 2382648 : pack_tmp = ISHFT(pack_tmp, -1)
11864 2382648 : idata = idata + 1
11865 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11866 2382648 : full_data(idata) = data_tmp
11867 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11868 2382648 : idata = idata + 1
11869 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11870 2382648 : full_data(idata) = data_tmp
11871 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11872 2382648 : idata = idata + 1
11873 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11874 2382648 : full_data(idata) = data_tmp
11875 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11876 2382648 : idata = idata + 1
11877 2382648 : data_tmp = ISHFT(pack_tmp, 5)
11878 2382648 : ipack = ipack + 1
11879 2382648 : pack_tmp = packed_data(ipack)
11880 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
11881 2382648 : pack_tmp = ISHFT(pack_tmp, -5)
11882 2382648 : idata = idata + 1
11883 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11884 2382648 : full_data(idata) = data_tmp
11885 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11886 2382648 : idata = idata + 1
11887 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11888 2382648 : full_data(idata) = data_tmp
11889 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11890 2382648 : idata = idata + 1
11891 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11892 2382648 : full_data(idata) = data_tmp
11893 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11894 2382648 : idata = idata + 1
11895 2382648 : data_tmp = ISHFT(pack_tmp, 9)
11896 2382648 : ipack = ipack + 1
11897 2382648 : pack_tmp = packed_data(ipack)
11898 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
11899 2382648 : pack_tmp = ISHFT(pack_tmp, -9)
11900 2382648 : idata = idata + 1
11901 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11902 2382648 : full_data(idata) = data_tmp
11903 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11904 2382648 : idata = idata + 1
11905 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11906 2382648 : full_data(idata) = data_tmp
11907 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11908 2382648 : idata = idata + 1
11909 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11910 2382648 : full_data(idata) = data_tmp
11911 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11912 2382648 : idata = idata + 1
11913 2382648 : data_tmp = ISHFT(pack_tmp, 13)
11914 2382648 : ipack = ipack + 1
11915 2382648 : pack_tmp = packed_data(ipack)
11916 2382648 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
11917 2382648 : pack_tmp = ISHFT(pack_tmp, -13)
11918 2382648 : idata = idata + 1
11919 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11920 2382648 : full_data(idata) = data_tmp
11921 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11922 2382648 : idata = idata + 1
11923 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11924 2382648 : full_data(idata) = data_tmp
11925 2382648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11926 2382648 : idata = idata + 1
11927 2382648 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11928 2382648 : full_data(idata) = data_tmp
11929 2383675 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11930 : END DO
11931 162988 : IF (Ndata_rep < Ndata) THEN
11932 25680 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11933 : END IF
11934 162988 : END SUBROUTINE bits2ints_17
11935 :
11936 : ! **************************************************************************************************
11937 : !> \brief ...
11938 : !> \param Ndata ...
11939 : !> \param packed_data ...
11940 : !> \param full_data ...
11941 : ! **************************************************************************************************
11942 32721 : 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 32721 : idata = 0
11953 32721 : ipack = 0
11954 32721 : Ndata_rep = (Ndata/64)*64
11955 32721 : DO kdata = 1, Ndata_rep, 64
11956 490352 : pack_tmp = 0
11957 490352 : idata = idata + 1
11958 490352 : data_tmp = full_data(idata)
11959 490352 : data_tmp = ISHFT(data_tmp, 46)
11960 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11961 490352 : pack_tmp = ISHFT(pack_tmp, -18)
11962 490352 : idata = idata + 1
11963 490352 : data_tmp = full_data(idata)
11964 490352 : data_tmp = ISHFT(data_tmp, 46)
11965 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11966 490352 : pack_tmp = ISHFT(pack_tmp, -18)
11967 490352 : idata = idata + 1
11968 490352 : data_tmp = full_data(idata)
11969 490352 : data_tmp = ISHFT(data_tmp, 46)
11970 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11971 490352 : pack_tmp = ISHFT(pack_tmp, -10)
11972 490352 : idata = idata + 1
11973 490352 : data_tmp = full_data(idata)
11974 490352 : data_tmp = ISHFT(data_tmp, 46)
11975 490352 : data_tmp = IAND(data_tmp, mask_left(10))
11976 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11977 490352 : ipack = ipack + 1
11978 490352 : packed_data(ipack) = pack_tmp
11979 490352 : data_tmp = full_data(idata)
11980 490352 : pack_tmp = ISHFT(data_tmp, 56)
11981 490352 : pack_tmp = ISHFT(pack_tmp, -18)
11982 490352 : idata = idata + 1
11983 490352 : data_tmp = full_data(idata)
11984 490352 : data_tmp = ISHFT(data_tmp, 46)
11985 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11986 490352 : pack_tmp = ISHFT(pack_tmp, -18)
11987 490352 : idata = idata + 1
11988 490352 : data_tmp = full_data(idata)
11989 490352 : data_tmp = ISHFT(data_tmp, 46)
11990 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11991 490352 : pack_tmp = ISHFT(pack_tmp, -18)
11992 490352 : idata = idata + 1
11993 490352 : data_tmp = full_data(idata)
11994 490352 : data_tmp = ISHFT(data_tmp, 46)
11995 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
11996 490352 : pack_tmp = ISHFT(pack_tmp, -2)
11997 490352 : idata = idata + 1
11998 490352 : data_tmp = full_data(idata)
11999 490352 : data_tmp = ISHFT(data_tmp, 46)
12000 490352 : data_tmp = IAND(data_tmp, mask_left(2))
12001 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12002 490352 : ipack = ipack + 1
12003 490352 : packed_data(ipack) = pack_tmp
12004 490352 : data_tmp = full_data(idata)
12005 490352 : pack_tmp = ISHFT(data_tmp, 48)
12006 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12007 490352 : idata = idata + 1
12008 490352 : data_tmp = full_data(idata)
12009 490352 : data_tmp = ISHFT(data_tmp, 46)
12010 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12011 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12012 490352 : idata = idata + 1
12013 490352 : data_tmp = full_data(idata)
12014 490352 : data_tmp = ISHFT(data_tmp, 46)
12015 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12016 490352 : pack_tmp = ISHFT(pack_tmp, -12)
12017 490352 : idata = idata + 1
12018 490352 : data_tmp = full_data(idata)
12019 490352 : data_tmp = ISHFT(data_tmp, 46)
12020 490352 : data_tmp = IAND(data_tmp, mask_left(12))
12021 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12022 490352 : ipack = ipack + 1
12023 490352 : packed_data(ipack) = pack_tmp
12024 490352 : data_tmp = full_data(idata)
12025 490352 : pack_tmp = ISHFT(data_tmp, 58)
12026 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12027 490352 : idata = idata + 1
12028 490352 : data_tmp = full_data(idata)
12029 490352 : data_tmp = ISHFT(data_tmp, 46)
12030 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12031 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12032 490352 : idata = idata + 1
12033 490352 : data_tmp = full_data(idata)
12034 490352 : data_tmp = ISHFT(data_tmp, 46)
12035 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12036 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12037 490352 : idata = idata + 1
12038 490352 : data_tmp = full_data(idata)
12039 490352 : data_tmp = ISHFT(data_tmp, 46)
12040 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12041 490352 : pack_tmp = ISHFT(pack_tmp, -4)
12042 490352 : idata = idata + 1
12043 490352 : data_tmp = full_data(idata)
12044 490352 : data_tmp = ISHFT(data_tmp, 46)
12045 490352 : data_tmp = IAND(data_tmp, mask_left(4))
12046 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12047 490352 : ipack = ipack + 1
12048 490352 : packed_data(ipack) = pack_tmp
12049 490352 : data_tmp = full_data(idata)
12050 490352 : pack_tmp = ISHFT(data_tmp, 50)
12051 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12052 490352 : idata = idata + 1
12053 490352 : data_tmp = full_data(idata)
12054 490352 : data_tmp = ISHFT(data_tmp, 46)
12055 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12056 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12057 490352 : idata = idata + 1
12058 490352 : data_tmp = full_data(idata)
12059 490352 : data_tmp = ISHFT(data_tmp, 46)
12060 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12061 490352 : pack_tmp = ISHFT(pack_tmp, -14)
12062 490352 : idata = idata + 1
12063 490352 : data_tmp = full_data(idata)
12064 490352 : data_tmp = ISHFT(data_tmp, 46)
12065 490352 : data_tmp = IAND(data_tmp, mask_left(14))
12066 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12067 490352 : ipack = ipack + 1
12068 490352 : packed_data(ipack) = pack_tmp
12069 490352 : data_tmp = full_data(idata)
12070 490352 : pack_tmp = ISHFT(data_tmp, 60)
12071 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12072 490352 : idata = idata + 1
12073 490352 : data_tmp = full_data(idata)
12074 490352 : data_tmp = ISHFT(data_tmp, 46)
12075 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12076 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12077 490352 : idata = idata + 1
12078 490352 : data_tmp = full_data(idata)
12079 490352 : data_tmp = ISHFT(data_tmp, 46)
12080 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12081 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12082 490352 : idata = idata + 1
12083 490352 : data_tmp = full_data(idata)
12084 490352 : data_tmp = ISHFT(data_tmp, 46)
12085 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12086 490352 : pack_tmp = ISHFT(pack_tmp, -6)
12087 490352 : idata = idata + 1
12088 490352 : data_tmp = full_data(idata)
12089 490352 : data_tmp = ISHFT(data_tmp, 46)
12090 490352 : data_tmp = IAND(data_tmp, mask_left(6))
12091 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12092 490352 : ipack = ipack + 1
12093 490352 : packed_data(ipack) = pack_tmp
12094 490352 : data_tmp = full_data(idata)
12095 490352 : pack_tmp = ISHFT(data_tmp, 52)
12096 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12097 490352 : idata = idata + 1
12098 490352 : data_tmp = full_data(idata)
12099 490352 : data_tmp = ISHFT(data_tmp, 46)
12100 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12101 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12102 490352 : idata = idata + 1
12103 490352 : data_tmp = full_data(idata)
12104 490352 : data_tmp = ISHFT(data_tmp, 46)
12105 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12106 490352 : pack_tmp = ISHFT(pack_tmp, -16)
12107 490352 : idata = idata + 1
12108 490352 : data_tmp = full_data(idata)
12109 490352 : data_tmp = ISHFT(data_tmp, 46)
12110 490352 : data_tmp = IAND(data_tmp, mask_left(16))
12111 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12112 490352 : ipack = ipack + 1
12113 490352 : packed_data(ipack) = pack_tmp
12114 490352 : data_tmp = full_data(idata)
12115 490352 : pack_tmp = ISHFT(data_tmp, 62)
12116 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12117 490352 : idata = idata + 1
12118 490352 : data_tmp = full_data(idata)
12119 490352 : data_tmp = ISHFT(data_tmp, 46)
12120 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12121 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12122 490352 : idata = idata + 1
12123 490352 : data_tmp = full_data(idata)
12124 490352 : data_tmp = ISHFT(data_tmp, 46)
12125 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12126 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12127 490352 : idata = idata + 1
12128 490352 : data_tmp = full_data(idata)
12129 490352 : data_tmp = ISHFT(data_tmp, 46)
12130 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12131 490352 : pack_tmp = ISHFT(pack_tmp, -8)
12132 490352 : idata = idata + 1
12133 490352 : data_tmp = full_data(idata)
12134 490352 : data_tmp = ISHFT(data_tmp, 46)
12135 490352 : data_tmp = IAND(data_tmp, mask_left(8))
12136 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12137 490352 : ipack = ipack + 1
12138 490352 : packed_data(ipack) = pack_tmp
12139 490352 : data_tmp = full_data(idata)
12140 490352 : pack_tmp = ISHFT(data_tmp, 54)
12141 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12142 490352 : idata = idata + 1
12143 490352 : data_tmp = full_data(idata)
12144 490352 : data_tmp = ISHFT(data_tmp, 46)
12145 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12146 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12147 490352 : idata = idata + 1
12148 490352 : data_tmp = full_data(idata)
12149 490352 : data_tmp = ISHFT(data_tmp, 46)
12150 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12151 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12152 490352 : idata = idata + 1
12153 490352 : data_tmp = full_data(idata)
12154 490352 : data_tmp = ISHFT(data_tmp, 46)
12155 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12156 490352 : pack_tmp = ISHFT(pack_tmp, 0)
12157 490352 : idata = idata + 1
12158 490352 : data_tmp = full_data(idata)
12159 : data_tmp = ISHFT(data_tmp, 46)
12160 490352 : data_tmp = IAND(data_tmp, mask_left(0))
12161 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12162 490352 : ipack = ipack + 1
12163 490352 : packed_data(ipack) = pack_tmp
12164 490352 : data_tmp = full_data(idata)
12165 490352 : pack_tmp = ISHFT(data_tmp, 46)
12166 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12167 490352 : idata = idata + 1
12168 490352 : data_tmp = full_data(idata)
12169 490352 : data_tmp = ISHFT(data_tmp, 46)
12170 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12171 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12172 490352 : idata = idata + 1
12173 490352 : data_tmp = full_data(idata)
12174 490352 : data_tmp = ISHFT(data_tmp, 46)
12175 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12176 490352 : pack_tmp = ISHFT(pack_tmp, -10)
12177 490352 : idata = idata + 1
12178 490352 : data_tmp = full_data(idata)
12179 490352 : data_tmp = ISHFT(data_tmp, 46)
12180 490352 : data_tmp = IAND(data_tmp, mask_left(10))
12181 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12182 490352 : ipack = ipack + 1
12183 490352 : packed_data(ipack) = pack_tmp
12184 490352 : data_tmp = full_data(idata)
12185 490352 : pack_tmp = ISHFT(data_tmp, 56)
12186 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12187 490352 : idata = idata + 1
12188 490352 : data_tmp = full_data(idata)
12189 490352 : data_tmp = ISHFT(data_tmp, 46)
12190 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12191 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12192 490352 : idata = idata + 1
12193 490352 : data_tmp = full_data(idata)
12194 490352 : data_tmp = ISHFT(data_tmp, 46)
12195 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12196 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12197 490352 : idata = idata + 1
12198 490352 : data_tmp = full_data(idata)
12199 490352 : data_tmp = ISHFT(data_tmp, 46)
12200 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12201 490352 : pack_tmp = ISHFT(pack_tmp, -2)
12202 490352 : idata = idata + 1
12203 490352 : data_tmp = full_data(idata)
12204 490352 : data_tmp = ISHFT(data_tmp, 46)
12205 490352 : data_tmp = IAND(data_tmp, mask_left(2))
12206 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12207 490352 : ipack = ipack + 1
12208 490352 : packed_data(ipack) = pack_tmp
12209 490352 : data_tmp = full_data(idata)
12210 490352 : pack_tmp = ISHFT(data_tmp, 48)
12211 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12212 490352 : idata = idata + 1
12213 490352 : data_tmp = full_data(idata)
12214 490352 : data_tmp = ISHFT(data_tmp, 46)
12215 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12216 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12217 490352 : idata = idata + 1
12218 490352 : data_tmp = full_data(idata)
12219 490352 : data_tmp = ISHFT(data_tmp, 46)
12220 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12221 490352 : pack_tmp = ISHFT(pack_tmp, -12)
12222 490352 : idata = idata + 1
12223 490352 : data_tmp = full_data(idata)
12224 490352 : data_tmp = ISHFT(data_tmp, 46)
12225 490352 : data_tmp = IAND(data_tmp, mask_left(12))
12226 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12227 490352 : ipack = ipack + 1
12228 490352 : packed_data(ipack) = pack_tmp
12229 490352 : data_tmp = full_data(idata)
12230 490352 : pack_tmp = ISHFT(data_tmp, 58)
12231 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12232 490352 : idata = idata + 1
12233 490352 : data_tmp = full_data(idata)
12234 490352 : data_tmp = ISHFT(data_tmp, 46)
12235 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12236 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12237 490352 : idata = idata + 1
12238 490352 : data_tmp = full_data(idata)
12239 490352 : data_tmp = ISHFT(data_tmp, 46)
12240 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12241 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12242 490352 : idata = idata + 1
12243 490352 : data_tmp = full_data(idata)
12244 490352 : data_tmp = ISHFT(data_tmp, 46)
12245 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12246 490352 : pack_tmp = ISHFT(pack_tmp, -4)
12247 490352 : idata = idata + 1
12248 490352 : data_tmp = full_data(idata)
12249 490352 : data_tmp = ISHFT(data_tmp, 46)
12250 490352 : data_tmp = IAND(data_tmp, mask_left(4))
12251 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12252 490352 : ipack = ipack + 1
12253 490352 : packed_data(ipack) = pack_tmp
12254 490352 : data_tmp = full_data(idata)
12255 490352 : pack_tmp = ISHFT(data_tmp, 50)
12256 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12257 490352 : idata = idata + 1
12258 490352 : data_tmp = full_data(idata)
12259 490352 : data_tmp = ISHFT(data_tmp, 46)
12260 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12261 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12262 490352 : idata = idata + 1
12263 490352 : data_tmp = full_data(idata)
12264 490352 : data_tmp = ISHFT(data_tmp, 46)
12265 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12266 490352 : pack_tmp = ISHFT(pack_tmp, -14)
12267 490352 : idata = idata + 1
12268 490352 : data_tmp = full_data(idata)
12269 490352 : data_tmp = ISHFT(data_tmp, 46)
12270 490352 : data_tmp = IAND(data_tmp, mask_left(14))
12271 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12272 490352 : ipack = ipack + 1
12273 490352 : packed_data(ipack) = pack_tmp
12274 490352 : data_tmp = full_data(idata)
12275 490352 : pack_tmp = ISHFT(data_tmp, 60)
12276 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12277 490352 : idata = idata + 1
12278 490352 : data_tmp = full_data(idata)
12279 490352 : data_tmp = ISHFT(data_tmp, 46)
12280 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12281 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12282 490352 : idata = idata + 1
12283 490352 : data_tmp = full_data(idata)
12284 490352 : data_tmp = ISHFT(data_tmp, 46)
12285 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12286 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12287 490352 : idata = idata + 1
12288 490352 : data_tmp = full_data(idata)
12289 490352 : data_tmp = ISHFT(data_tmp, 46)
12290 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12291 490352 : pack_tmp = ISHFT(pack_tmp, -6)
12292 490352 : idata = idata + 1
12293 490352 : data_tmp = full_data(idata)
12294 490352 : data_tmp = ISHFT(data_tmp, 46)
12295 490352 : data_tmp = IAND(data_tmp, mask_left(6))
12296 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12297 490352 : ipack = ipack + 1
12298 490352 : packed_data(ipack) = pack_tmp
12299 490352 : data_tmp = full_data(idata)
12300 490352 : pack_tmp = ISHFT(data_tmp, 52)
12301 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12302 490352 : idata = idata + 1
12303 490352 : data_tmp = full_data(idata)
12304 490352 : data_tmp = ISHFT(data_tmp, 46)
12305 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12306 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12307 490352 : idata = idata + 1
12308 490352 : data_tmp = full_data(idata)
12309 490352 : data_tmp = ISHFT(data_tmp, 46)
12310 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12311 490352 : pack_tmp = ISHFT(pack_tmp, -16)
12312 490352 : idata = idata + 1
12313 490352 : data_tmp = full_data(idata)
12314 490352 : data_tmp = ISHFT(data_tmp, 46)
12315 490352 : data_tmp = IAND(data_tmp, mask_left(16))
12316 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12317 490352 : ipack = ipack + 1
12318 490352 : packed_data(ipack) = pack_tmp
12319 490352 : data_tmp = full_data(idata)
12320 490352 : pack_tmp = ISHFT(data_tmp, 62)
12321 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12322 490352 : idata = idata + 1
12323 490352 : data_tmp = full_data(idata)
12324 490352 : data_tmp = ISHFT(data_tmp, 46)
12325 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12326 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12327 490352 : idata = idata + 1
12328 490352 : data_tmp = full_data(idata)
12329 490352 : data_tmp = ISHFT(data_tmp, 46)
12330 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12331 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12332 490352 : idata = idata + 1
12333 490352 : data_tmp = full_data(idata)
12334 490352 : data_tmp = ISHFT(data_tmp, 46)
12335 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12336 490352 : pack_tmp = ISHFT(pack_tmp, -8)
12337 490352 : idata = idata + 1
12338 490352 : data_tmp = full_data(idata)
12339 490352 : data_tmp = ISHFT(data_tmp, 46)
12340 490352 : data_tmp = IAND(data_tmp, mask_left(8))
12341 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12342 490352 : ipack = ipack + 1
12343 490352 : packed_data(ipack) = pack_tmp
12344 490352 : data_tmp = full_data(idata)
12345 490352 : pack_tmp = ISHFT(data_tmp, 54)
12346 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12347 490352 : idata = idata + 1
12348 490352 : data_tmp = full_data(idata)
12349 490352 : data_tmp = ISHFT(data_tmp, 46)
12350 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12351 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12352 490352 : idata = idata + 1
12353 490352 : data_tmp = full_data(idata)
12354 490352 : data_tmp = ISHFT(data_tmp, 46)
12355 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12356 490352 : pack_tmp = ISHFT(pack_tmp, -18)
12357 490352 : idata = idata + 1
12358 490352 : data_tmp = full_data(idata)
12359 490352 : data_tmp = ISHFT(data_tmp, 46)
12360 490352 : pack_tmp = IOR(pack_tmp, data_tmp)
12361 : pack_tmp = ISHFT(pack_tmp, 0)
12362 490352 : pack_tmp = ISHFT(pack_tmp, 0)
12363 490352 : ipack = ipack + 1
12364 490448 : packed_data(ipack) = pack_tmp
12365 : END DO
12366 32721 : 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 32721 : END SUBROUTINE ints2bits_18
12370 :
12371 : ! **************************************************************************************************
12372 : !> \brief ...
12373 : !> \param Ndata ...
12374 : !> \param packed_data ...
12375 : !> \param full_data ...
12376 : ! **************************************************************************************************
12377 170117 : 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 170117 : ipack = 0
12388 170117 : idata = 0
12389 170117 : pack_tmp = 0
12390 170117 : Ndata_rep = (Ndata/64)*64
12391 170117 : DO kdata = 1, Ndata_rep, 64
12392 2450824 : idata = idata + 1
12393 2450824 : data_tmp = ISHFT(pack_tmp, 18)
12394 2450824 : ipack = ipack + 1
12395 2450824 : pack_tmp = packed_data(ipack)
12396 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12397 2450824 : pack_tmp = ISHFT(pack_tmp, -18)
12398 2450824 : idata = idata + 1
12399 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12400 2450824 : full_data(idata) = data_tmp
12401 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12402 2450824 : idata = idata + 1
12403 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12404 2450824 : full_data(idata) = data_tmp
12405 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12406 2450824 : idata = idata + 1
12407 2450824 : data_tmp = ISHFT(pack_tmp, 8)
12408 2450824 : ipack = ipack + 1
12409 2450824 : pack_tmp = packed_data(ipack)
12410 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12411 2450824 : pack_tmp = ISHFT(pack_tmp, -8)
12412 2450824 : idata = idata + 1
12413 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12414 2450824 : full_data(idata) = data_tmp
12415 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12416 2450824 : idata = idata + 1
12417 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12418 2450824 : full_data(idata) = data_tmp
12419 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12420 2450824 : idata = idata + 1
12421 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12422 2450824 : full_data(idata) = data_tmp
12423 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12424 2450824 : idata = idata + 1
12425 2450824 : data_tmp = ISHFT(pack_tmp, 16)
12426 2450824 : ipack = ipack + 1
12427 2450824 : pack_tmp = packed_data(ipack)
12428 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12429 2450824 : pack_tmp = ISHFT(pack_tmp, -16)
12430 2450824 : idata = idata + 1
12431 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12432 2450824 : full_data(idata) = data_tmp
12433 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12434 2450824 : idata = idata + 1
12435 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12436 2450824 : full_data(idata) = data_tmp
12437 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12438 2450824 : idata = idata + 1
12439 2450824 : data_tmp = ISHFT(pack_tmp, 6)
12440 2450824 : ipack = ipack + 1
12441 2450824 : pack_tmp = packed_data(ipack)
12442 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12443 2450824 : pack_tmp = ISHFT(pack_tmp, -6)
12444 2450824 : idata = idata + 1
12445 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12446 2450824 : full_data(idata) = data_tmp
12447 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12448 2450824 : idata = idata + 1
12449 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12450 2450824 : full_data(idata) = data_tmp
12451 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12452 2450824 : idata = idata + 1
12453 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12454 2450824 : full_data(idata) = data_tmp
12455 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12456 2450824 : idata = idata + 1
12457 2450824 : data_tmp = ISHFT(pack_tmp, 14)
12458 2450824 : ipack = ipack + 1
12459 2450824 : pack_tmp = packed_data(ipack)
12460 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12461 2450824 : pack_tmp = ISHFT(pack_tmp, -14)
12462 2450824 : idata = idata + 1
12463 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12464 2450824 : full_data(idata) = data_tmp
12465 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12466 2450824 : idata = idata + 1
12467 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12468 2450824 : full_data(idata) = data_tmp
12469 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12470 2450824 : idata = idata + 1
12471 2450824 : data_tmp = ISHFT(pack_tmp, 4)
12472 2450824 : ipack = ipack + 1
12473 2450824 : pack_tmp = packed_data(ipack)
12474 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12475 2450824 : pack_tmp = ISHFT(pack_tmp, -4)
12476 2450824 : idata = idata + 1
12477 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12478 2450824 : full_data(idata) = data_tmp
12479 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12480 2450824 : idata = idata + 1
12481 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12482 2450824 : full_data(idata) = data_tmp
12483 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12484 2450824 : idata = idata + 1
12485 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12486 2450824 : full_data(idata) = data_tmp
12487 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12488 2450824 : idata = idata + 1
12489 2450824 : data_tmp = ISHFT(pack_tmp, 12)
12490 2450824 : ipack = ipack + 1
12491 2450824 : pack_tmp = packed_data(ipack)
12492 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12493 2450824 : pack_tmp = ISHFT(pack_tmp, -12)
12494 2450824 : idata = idata + 1
12495 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12496 2450824 : full_data(idata) = data_tmp
12497 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12498 2450824 : idata = idata + 1
12499 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12500 2450824 : full_data(idata) = data_tmp
12501 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12502 2450824 : idata = idata + 1
12503 2450824 : data_tmp = ISHFT(pack_tmp, 2)
12504 2450824 : ipack = ipack + 1
12505 2450824 : pack_tmp = packed_data(ipack)
12506 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12507 2450824 : pack_tmp = ISHFT(pack_tmp, -2)
12508 2450824 : idata = idata + 1
12509 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12510 2450824 : full_data(idata) = data_tmp
12511 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12512 2450824 : idata = idata + 1
12513 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12514 2450824 : full_data(idata) = data_tmp
12515 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12516 2450824 : idata = idata + 1
12517 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12518 2450824 : full_data(idata) = data_tmp
12519 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12520 2450824 : idata = idata + 1
12521 2450824 : data_tmp = ISHFT(pack_tmp, 10)
12522 2450824 : ipack = ipack + 1
12523 2450824 : pack_tmp = packed_data(ipack)
12524 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12525 2450824 : pack_tmp = ISHFT(pack_tmp, -10)
12526 2450824 : idata = idata + 1
12527 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12528 2450824 : full_data(idata) = data_tmp
12529 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12530 2450824 : idata = idata + 1
12531 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12532 2450824 : full_data(idata) = data_tmp
12533 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12534 2450824 : idata = idata + 1
12535 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12536 2450824 : full_data(idata) = data_tmp
12537 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12538 2450824 : idata = idata + 1
12539 2450824 : data_tmp = ISHFT(pack_tmp, 18)
12540 2450824 : ipack = ipack + 1
12541 2450824 : pack_tmp = packed_data(ipack)
12542 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12543 2450824 : pack_tmp = ISHFT(pack_tmp, -18)
12544 2450824 : idata = idata + 1
12545 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12546 2450824 : full_data(idata) = data_tmp
12547 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12548 2450824 : idata = idata + 1
12549 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12550 2450824 : full_data(idata) = data_tmp
12551 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12552 2450824 : idata = idata + 1
12553 2450824 : data_tmp = ISHFT(pack_tmp, 8)
12554 2450824 : ipack = ipack + 1
12555 2450824 : pack_tmp = packed_data(ipack)
12556 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12557 2450824 : pack_tmp = ISHFT(pack_tmp, -8)
12558 2450824 : idata = idata + 1
12559 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12560 2450824 : full_data(idata) = data_tmp
12561 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12562 2450824 : idata = idata + 1
12563 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12564 2450824 : full_data(idata) = data_tmp
12565 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12566 2450824 : idata = idata + 1
12567 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12568 2450824 : full_data(idata) = data_tmp
12569 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12570 2450824 : idata = idata + 1
12571 2450824 : data_tmp = ISHFT(pack_tmp, 16)
12572 2450824 : ipack = ipack + 1
12573 2450824 : pack_tmp = packed_data(ipack)
12574 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12575 2450824 : pack_tmp = ISHFT(pack_tmp, -16)
12576 2450824 : idata = idata + 1
12577 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12578 2450824 : full_data(idata) = data_tmp
12579 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12580 2450824 : idata = idata + 1
12581 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12582 2450824 : full_data(idata) = data_tmp
12583 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12584 2450824 : idata = idata + 1
12585 2450824 : data_tmp = ISHFT(pack_tmp, 6)
12586 2450824 : ipack = ipack + 1
12587 2450824 : pack_tmp = packed_data(ipack)
12588 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12589 2450824 : pack_tmp = ISHFT(pack_tmp, -6)
12590 2450824 : idata = idata + 1
12591 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12592 2450824 : full_data(idata) = data_tmp
12593 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12594 2450824 : idata = idata + 1
12595 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12596 2450824 : full_data(idata) = data_tmp
12597 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12598 2450824 : idata = idata + 1
12599 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12600 2450824 : full_data(idata) = data_tmp
12601 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12602 2450824 : idata = idata + 1
12603 2450824 : data_tmp = ISHFT(pack_tmp, 14)
12604 2450824 : ipack = ipack + 1
12605 2450824 : pack_tmp = packed_data(ipack)
12606 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12607 2450824 : pack_tmp = ISHFT(pack_tmp, -14)
12608 2450824 : idata = idata + 1
12609 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12610 2450824 : full_data(idata) = data_tmp
12611 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12612 2450824 : idata = idata + 1
12613 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12614 2450824 : full_data(idata) = data_tmp
12615 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12616 2450824 : idata = idata + 1
12617 2450824 : data_tmp = ISHFT(pack_tmp, 4)
12618 2450824 : ipack = ipack + 1
12619 2450824 : pack_tmp = packed_data(ipack)
12620 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12621 2450824 : pack_tmp = ISHFT(pack_tmp, -4)
12622 2450824 : idata = idata + 1
12623 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12624 2450824 : full_data(idata) = data_tmp
12625 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12626 2450824 : idata = idata + 1
12627 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12628 2450824 : full_data(idata) = data_tmp
12629 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12630 2450824 : idata = idata + 1
12631 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12632 2450824 : full_data(idata) = data_tmp
12633 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12634 2450824 : idata = idata + 1
12635 2450824 : data_tmp = ISHFT(pack_tmp, 12)
12636 2450824 : ipack = ipack + 1
12637 2450824 : pack_tmp = packed_data(ipack)
12638 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12639 2450824 : pack_tmp = ISHFT(pack_tmp, -12)
12640 2450824 : idata = idata + 1
12641 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12642 2450824 : full_data(idata) = data_tmp
12643 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12644 2450824 : idata = idata + 1
12645 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12646 2450824 : full_data(idata) = data_tmp
12647 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12648 2450824 : idata = idata + 1
12649 2450824 : data_tmp = ISHFT(pack_tmp, 2)
12650 2450824 : ipack = ipack + 1
12651 2450824 : pack_tmp = packed_data(ipack)
12652 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12653 2450824 : pack_tmp = ISHFT(pack_tmp, -2)
12654 2450824 : idata = idata + 1
12655 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12656 2450824 : full_data(idata) = data_tmp
12657 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12658 2450824 : idata = idata + 1
12659 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12660 2450824 : full_data(idata) = data_tmp
12661 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12662 2450824 : idata = idata + 1
12663 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12664 2450824 : full_data(idata) = data_tmp
12665 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12666 2450824 : idata = idata + 1
12667 2450824 : data_tmp = ISHFT(pack_tmp, 10)
12668 2450824 : ipack = ipack + 1
12669 2450824 : pack_tmp = packed_data(ipack)
12670 2450824 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12671 2450824 : pack_tmp = ISHFT(pack_tmp, -10)
12672 2450824 : idata = idata + 1
12673 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12674 2450824 : full_data(idata) = data_tmp
12675 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12676 2450824 : idata = idata + 1
12677 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12678 2450824 : full_data(idata) = data_tmp
12679 2450824 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12680 2450824 : idata = idata + 1
12681 2450824 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12682 2450824 : full_data(idata) = data_tmp
12683 2451567 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12684 : END DO
12685 170117 : IF (Ndata_rep < Ndata) THEN
12686 31888 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
12687 : END IF
12688 170117 : END SUBROUTINE bits2ints_18
12689 :
12690 : ! **************************************************************************************************
12691 : !> \brief ...
12692 : !> \param Ndata ...
12693 : !> \param packed_data ...
12694 : !> \param full_data ...
12695 : ! **************************************************************************************************
12696 30454 : 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 30454 : idata = 0
12707 30454 : ipack = 0
12708 30454 : Ndata_rep = (Ndata/64)*64
12709 30454 : DO kdata = 1, Ndata_rep, 64
12710 462837 : pack_tmp = 0
12711 462837 : idata = idata + 1
12712 462837 : data_tmp = full_data(idata)
12713 462837 : data_tmp = ISHFT(data_tmp, 45)
12714 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12715 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12716 462837 : idata = idata + 1
12717 462837 : data_tmp = full_data(idata)
12718 462837 : data_tmp = ISHFT(data_tmp, 45)
12719 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12720 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12721 462837 : idata = idata + 1
12722 462837 : data_tmp = full_data(idata)
12723 462837 : data_tmp = ISHFT(data_tmp, 45)
12724 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12725 462837 : pack_tmp = ISHFT(pack_tmp, -7)
12726 462837 : idata = idata + 1
12727 462837 : data_tmp = full_data(idata)
12728 462837 : data_tmp = ISHFT(data_tmp, 45)
12729 462837 : data_tmp = IAND(data_tmp, mask_left(7))
12730 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12731 462837 : ipack = ipack + 1
12732 462837 : packed_data(ipack) = pack_tmp
12733 462837 : data_tmp = full_data(idata)
12734 462837 : pack_tmp = ISHFT(data_tmp, 52)
12735 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12736 462837 : idata = idata + 1
12737 462837 : data_tmp = full_data(idata)
12738 462837 : data_tmp = ISHFT(data_tmp, 45)
12739 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12740 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12741 462837 : idata = idata + 1
12742 462837 : data_tmp = full_data(idata)
12743 462837 : data_tmp = ISHFT(data_tmp, 45)
12744 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12745 462837 : pack_tmp = ISHFT(pack_tmp, -14)
12746 462837 : idata = idata + 1
12747 462837 : data_tmp = full_data(idata)
12748 462837 : data_tmp = ISHFT(data_tmp, 45)
12749 462837 : data_tmp = IAND(data_tmp, mask_left(14))
12750 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12751 462837 : ipack = ipack + 1
12752 462837 : packed_data(ipack) = pack_tmp
12753 462837 : data_tmp = full_data(idata)
12754 462837 : pack_tmp = ISHFT(data_tmp, 59)
12755 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12756 462837 : idata = idata + 1
12757 462837 : data_tmp = full_data(idata)
12758 462837 : data_tmp = ISHFT(data_tmp, 45)
12759 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12760 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12761 462837 : idata = idata + 1
12762 462837 : data_tmp = full_data(idata)
12763 462837 : data_tmp = ISHFT(data_tmp, 45)
12764 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12765 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12766 462837 : idata = idata + 1
12767 462837 : data_tmp = full_data(idata)
12768 462837 : data_tmp = ISHFT(data_tmp, 45)
12769 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12770 462837 : pack_tmp = ISHFT(pack_tmp, -2)
12771 462837 : idata = idata + 1
12772 462837 : data_tmp = full_data(idata)
12773 462837 : data_tmp = ISHFT(data_tmp, 45)
12774 462837 : data_tmp = IAND(data_tmp, mask_left(2))
12775 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12776 462837 : ipack = ipack + 1
12777 462837 : packed_data(ipack) = pack_tmp
12778 462837 : data_tmp = full_data(idata)
12779 462837 : pack_tmp = ISHFT(data_tmp, 47)
12780 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12781 462837 : idata = idata + 1
12782 462837 : data_tmp = full_data(idata)
12783 462837 : data_tmp = ISHFT(data_tmp, 45)
12784 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12785 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12786 462837 : idata = idata + 1
12787 462837 : data_tmp = full_data(idata)
12788 462837 : data_tmp = ISHFT(data_tmp, 45)
12789 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12790 462837 : pack_tmp = ISHFT(pack_tmp, -9)
12791 462837 : idata = idata + 1
12792 462837 : data_tmp = full_data(idata)
12793 462837 : data_tmp = ISHFT(data_tmp, 45)
12794 462837 : data_tmp = IAND(data_tmp, mask_left(9))
12795 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12796 462837 : ipack = ipack + 1
12797 462837 : packed_data(ipack) = pack_tmp
12798 462837 : data_tmp = full_data(idata)
12799 462837 : pack_tmp = ISHFT(data_tmp, 54)
12800 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12801 462837 : idata = idata + 1
12802 462837 : data_tmp = full_data(idata)
12803 462837 : data_tmp = ISHFT(data_tmp, 45)
12804 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12805 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12806 462837 : idata = idata + 1
12807 462837 : data_tmp = full_data(idata)
12808 462837 : data_tmp = ISHFT(data_tmp, 45)
12809 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12810 462837 : pack_tmp = ISHFT(pack_tmp, -16)
12811 462837 : idata = idata + 1
12812 462837 : data_tmp = full_data(idata)
12813 462837 : data_tmp = ISHFT(data_tmp, 45)
12814 462837 : data_tmp = IAND(data_tmp, mask_left(16))
12815 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12816 462837 : ipack = ipack + 1
12817 462837 : packed_data(ipack) = pack_tmp
12818 462837 : data_tmp = full_data(idata)
12819 462837 : pack_tmp = ISHFT(data_tmp, 61)
12820 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12821 462837 : idata = idata + 1
12822 462837 : data_tmp = full_data(idata)
12823 462837 : data_tmp = ISHFT(data_tmp, 45)
12824 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12825 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12826 462837 : idata = idata + 1
12827 462837 : data_tmp = full_data(idata)
12828 462837 : data_tmp = ISHFT(data_tmp, 45)
12829 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12830 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12831 462837 : idata = idata + 1
12832 462837 : data_tmp = full_data(idata)
12833 462837 : data_tmp = ISHFT(data_tmp, 45)
12834 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12835 462837 : pack_tmp = ISHFT(pack_tmp, -4)
12836 462837 : idata = idata + 1
12837 462837 : data_tmp = full_data(idata)
12838 462837 : data_tmp = ISHFT(data_tmp, 45)
12839 462837 : data_tmp = IAND(data_tmp, mask_left(4))
12840 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12841 462837 : ipack = ipack + 1
12842 462837 : packed_data(ipack) = pack_tmp
12843 462837 : data_tmp = full_data(idata)
12844 462837 : pack_tmp = ISHFT(data_tmp, 49)
12845 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12846 462837 : idata = idata + 1
12847 462837 : data_tmp = full_data(idata)
12848 462837 : data_tmp = ISHFT(data_tmp, 45)
12849 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12850 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12851 462837 : idata = idata + 1
12852 462837 : data_tmp = full_data(idata)
12853 462837 : data_tmp = ISHFT(data_tmp, 45)
12854 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12855 462837 : pack_tmp = ISHFT(pack_tmp, -11)
12856 462837 : idata = idata + 1
12857 462837 : data_tmp = full_data(idata)
12858 462837 : data_tmp = ISHFT(data_tmp, 45)
12859 462837 : data_tmp = IAND(data_tmp, mask_left(11))
12860 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12861 462837 : ipack = ipack + 1
12862 462837 : packed_data(ipack) = pack_tmp
12863 462837 : data_tmp = full_data(idata)
12864 462837 : pack_tmp = ISHFT(data_tmp, 56)
12865 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12866 462837 : idata = idata + 1
12867 462837 : data_tmp = full_data(idata)
12868 462837 : data_tmp = ISHFT(data_tmp, 45)
12869 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12870 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12871 462837 : idata = idata + 1
12872 462837 : data_tmp = full_data(idata)
12873 462837 : data_tmp = ISHFT(data_tmp, 45)
12874 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12875 462837 : pack_tmp = ISHFT(pack_tmp, -18)
12876 462837 : idata = idata + 1
12877 462837 : data_tmp = full_data(idata)
12878 462837 : data_tmp = ISHFT(data_tmp, 45)
12879 462837 : data_tmp = IAND(data_tmp, mask_left(18))
12880 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12881 462837 : ipack = ipack + 1
12882 462837 : packed_data(ipack) = pack_tmp
12883 462837 : data_tmp = full_data(idata)
12884 462837 : pack_tmp = ISHFT(data_tmp, 63)
12885 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12886 462837 : idata = idata + 1
12887 462837 : data_tmp = full_data(idata)
12888 462837 : data_tmp = ISHFT(data_tmp, 45)
12889 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12890 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12891 462837 : idata = idata + 1
12892 462837 : data_tmp = full_data(idata)
12893 462837 : data_tmp = ISHFT(data_tmp, 45)
12894 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12895 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12896 462837 : idata = idata + 1
12897 462837 : data_tmp = full_data(idata)
12898 462837 : data_tmp = ISHFT(data_tmp, 45)
12899 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12900 462837 : pack_tmp = ISHFT(pack_tmp, -6)
12901 462837 : idata = idata + 1
12902 462837 : data_tmp = full_data(idata)
12903 462837 : data_tmp = ISHFT(data_tmp, 45)
12904 462837 : data_tmp = IAND(data_tmp, mask_left(6))
12905 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12906 462837 : ipack = ipack + 1
12907 462837 : packed_data(ipack) = pack_tmp
12908 462837 : data_tmp = full_data(idata)
12909 462837 : pack_tmp = ISHFT(data_tmp, 51)
12910 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12911 462837 : idata = idata + 1
12912 462837 : data_tmp = full_data(idata)
12913 462837 : data_tmp = ISHFT(data_tmp, 45)
12914 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12915 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12916 462837 : idata = idata + 1
12917 462837 : data_tmp = full_data(idata)
12918 462837 : data_tmp = ISHFT(data_tmp, 45)
12919 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12920 462837 : pack_tmp = ISHFT(pack_tmp, -13)
12921 462837 : idata = idata + 1
12922 462837 : data_tmp = full_data(idata)
12923 462837 : data_tmp = ISHFT(data_tmp, 45)
12924 462837 : data_tmp = IAND(data_tmp, mask_left(13))
12925 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12926 462837 : ipack = ipack + 1
12927 462837 : packed_data(ipack) = pack_tmp
12928 462837 : data_tmp = full_data(idata)
12929 462837 : pack_tmp = ISHFT(data_tmp, 58)
12930 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12931 462837 : idata = idata + 1
12932 462837 : data_tmp = full_data(idata)
12933 462837 : data_tmp = ISHFT(data_tmp, 45)
12934 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12935 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12936 462837 : idata = idata + 1
12937 462837 : data_tmp = full_data(idata)
12938 462837 : data_tmp = ISHFT(data_tmp, 45)
12939 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12940 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12941 462837 : idata = idata + 1
12942 462837 : data_tmp = full_data(idata)
12943 462837 : data_tmp = ISHFT(data_tmp, 45)
12944 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12945 462837 : pack_tmp = ISHFT(pack_tmp, -1)
12946 462837 : idata = idata + 1
12947 462837 : data_tmp = full_data(idata)
12948 462837 : data_tmp = ISHFT(data_tmp, 45)
12949 462837 : data_tmp = IAND(data_tmp, mask_left(1))
12950 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12951 462837 : ipack = ipack + 1
12952 462837 : packed_data(ipack) = pack_tmp
12953 462837 : data_tmp = full_data(idata)
12954 462837 : pack_tmp = ISHFT(data_tmp, 46)
12955 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12956 462837 : idata = idata + 1
12957 462837 : data_tmp = full_data(idata)
12958 462837 : data_tmp = ISHFT(data_tmp, 45)
12959 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12960 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12961 462837 : idata = idata + 1
12962 462837 : data_tmp = full_data(idata)
12963 462837 : data_tmp = ISHFT(data_tmp, 45)
12964 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12965 462837 : pack_tmp = ISHFT(pack_tmp, -8)
12966 462837 : idata = idata + 1
12967 462837 : data_tmp = full_data(idata)
12968 462837 : data_tmp = ISHFT(data_tmp, 45)
12969 462837 : data_tmp = IAND(data_tmp, mask_left(8))
12970 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12971 462837 : ipack = ipack + 1
12972 462837 : packed_data(ipack) = pack_tmp
12973 462837 : data_tmp = full_data(idata)
12974 462837 : pack_tmp = ISHFT(data_tmp, 53)
12975 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12976 462837 : idata = idata + 1
12977 462837 : data_tmp = full_data(idata)
12978 462837 : data_tmp = ISHFT(data_tmp, 45)
12979 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12980 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12981 462837 : idata = idata + 1
12982 462837 : data_tmp = full_data(idata)
12983 462837 : data_tmp = ISHFT(data_tmp, 45)
12984 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12985 462837 : pack_tmp = ISHFT(pack_tmp, -15)
12986 462837 : idata = idata + 1
12987 462837 : data_tmp = full_data(idata)
12988 462837 : data_tmp = ISHFT(data_tmp, 45)
12989 462837 : data_tmp = IAND(data_tmp, mask_left(15))
12990 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
12991 462837 : ipack = ipack + 1
12992 462837 : packed_data(ipack) = pack_tmp
12993 462837 : data_tmp = full_data(idata)
12994 462837 : pack_tmp = ISHFT(data_tmp, 60)
12995 462837 : pack_tmp = ISHFT(pack_tmp, -19)
12996 462837 : idata = idata + 1
12997 462837 : data_tmp = full_data(idata)
12998 462837 : data_tmp = ISHFT(data_tmp, 45)
12999 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13000 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13001 462837 : idata = idata + 1
13002 462837 : data_tmp = full_data(idata)
13003 462837 : data_tmp = ISHFT(data_tmp, 45)
13004 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13005 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13006 462837 : idata = idata + 1
13007 462837 : data_tmp = full_data(idata)
13008 462837 : data_tmp = ISHFT(data_tmp, 45)
13009 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13010 462837 : pack_tmp = ISHFT(pack_tmp, -3)
13011 462837 : idata = idata + 1
13012 462837 : data_tmp = full_data(idata)
13013 462837 : data_tmp = ISHFT(data_tmp, 45)
13014 462837 : data_tmp = IAND(data_tmp, mask_left(3))
13015 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13016 462837 : ipack = ipack + 1
13017 462837 : packed_data(ipack) = pack_tmp
13018 462837 : data_tmp = full_data(idata)
13019 462837 : pack_tmp = ISHFT(data_tmp, 48)
13020 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13021 462837 : idata = idata + 1
13022 462837 : data_tmp = full_data(idata)
13023 462837 : data_tmp = ISHFT(data_tmp, 45)
13024 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13025 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13026 462837 : idata = idata + 1
13027 462837 : data_tmp = full_data(idata)
13028 462837 : data_tmp = ISHFT(data_tmp, 45)
13029 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13030 462837 : pack_tmp = ISHFT(pack_tmp, -10)
13031 462837 : idata = idata + 1
13032 462837 : data_tmp = full_data(idata)
13033 462837 : data_tmp = ISHFT(data_tmp, 45)
13034 462837 : data_tmp = IAND(data_tmp, mask_left(10))
13035 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13036 462837 : ipack = ipack + 1
13037 462837 : packed_data(ipack) = pack_tmp
13038 462837 : data_tmp = full_data(idata)
13039 462837 : pack_tmp = ISHFT(data_tmp, 55)
13040 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13041 462837 : idata = idata + 1
13042 462837 : data_tmp = full_data(idata)
13043 462837 : data_tmp = ISHFT(data_tmp, 45)
13044 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13045 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13046 462837 : idata = idata + 1
13047 462837 : data_tmp = full_data(idata)
13048 462837 : data_tmp = ISHFT(data_tmp, 45)
13049 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13050 462837 : pack_tmp = ISHFT(pack_tmp, -17)
13051 462837 : idata = idata + 1
13052 462837 : data_tmp = full_data(idata)
13053 462837 : data_tmp = ISHFT(data_tmp, 45)
13054 462837 : data_tmp = IAND(data_tmp, mask_left(17))
13055 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13056 462837 : ipack = ipack + 1
13057 462837 : packed_data(ipack) = pack_tmp
13058 462837 : data_tmp = full_data(idata)
13059 462837 : pack_tmp = ISHFT(data_tmp, 62)
13060 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13061 462837 : idata = idata + 1
13062 462837 : data_tmp = full_data(idata)
13063 462837 : data_tmp = ISHFT(data_tmp, 45)
13064 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13065 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13066 462837 : idata = idata + 1
13067 462837 : data_tmp = full_data(idata)
13068 462837 : data_tmp = ISHFT(data_tmp, 45)
13069 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13070 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13071 462837 : idata = idata + 1
13072 462837 : data_tmp = full_data(idata)
13073 462837 : data_tmp = ISHFT(data_tmp, 45)
13074 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13075 462837 : pack_tmp = ISHFT(pack_tmp, -5)
13076 462837 : idata = idata + 1
13077 462837 : data_tmp = full_data(idata)
13078 462837 : data_tmp = ISHFT(data_tmp, 45)
13079 462837 : data_tmp = IAND(data_tmp, mask_left(5))
13080 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13081 462837 : ipack = ipack + 1
13082 462837 : packed_data(ipack) = pack_tmp
13083 462837 : data_tmp = full_data(idata)
13084 462837 : pack_tmp = ISHFT(data_tmp, 50)
13085 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13086 462837 : idata = idata + 1
13087 462837 : data_tmp = full_data(idata)
13088 462837 : data_tmp = ISHFT(data_tmp, 45)
13089 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13090 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13091 462837 : idata = idata + 1
13092 462837 : data_tmp = full_data(idata)
13093 462837 : data_tmp = ISHFT(data_tmp, 45)
13094 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13095 462837 : pack_tmp = ISHFT(pack_tmp, -12)
13096 462837 : idata = idata + 1
13097 462837 : data_tmp = full_data(idata)
13098 462837 : data_tmp = ISHFT(data_tmp, 45)
13099 462837 : data_tmp = IAND(data_tmp, mask_left(12))
13100 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13101 462837 : ipack = ipack + 1
13102 462837 : packed_data(ipack) = pack_tmp
13103 462837 : data_tmp = full_data(idata)
13104 462837 : pack_tmp = ISHFT(data_tmp, 57)
13105 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13106 462837 : idata = idata + 1
13107 462837 : data_tmp = full_data(idata)
13108 462837 : data_tmp = ISHFT(data_tmp, 45)
13109 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13110 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13111 462837 : idata = idata + 1
13112 462837 : data_tmp = full_data(idata)
13113 462837 : data_tmp = ISHFT(data_tmp, 45)
13114 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13115 462837 : pack_tmp = ISHFT(pack_tmp, -19)
13116 462837 : idata = idata + 1
13117 462837 : data_tmp = full_data(idata)
13118 462837 : data_tmp = ISHFT(data_tmp, 45)
13119 462837 : pack_tmp = IOR(pack_tmp, data_tmp)
13120 : pack_tmp = ISHFT(pack_tmp, 0)
13121 462837 : pack_tmp = ISHFT(pack_tmp, 0)
13122 462837 : ipack = ipack + 1
13123 462931 : packed_data(ipack) = pack_tmp
13124 : END DO
13125 30454 : IF (Ndata_rep < Ndata) THEN
13126 2774 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13127 : END IF
13128 30454 : END SUBROUTINE ints2bits_19
13129 :
13130 : ! **************************************************************************************************
13131 : !> \brief ...
13132 : !> \param Ndata ...
13133 : !> \param packed_data ...
13134 : !> \param full_data ...
13135 : ! **************************************************************************************************
13136 154104 : 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 154104 : ipack = 0
13147 154104 : idata = 0
13148 154104 : pack_tmp = 0
13149 154104 : Ndata_rep = (Ndata/64)*64
13150 154104 : DO kdata = 1, Ndata_rep, 64
13151 2260856 : idata = idata + 1
13152 2260856 : data_tmp = ISHFT(pack_tmp, 19)
13153 2260856 : ipack = ipack + 1
13154 2260856 : pack_tmp = packed_data(ipack)
13155 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
13156 2260856 : pack_tmp = ISHFT(pack_tmp, -19)
13157 2260856 : idata = idata + 1
13158 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13159 2260856 : full_data(idata) = data_tmp
13160 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13161 2260856 : idata = idata + 1
13162 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13163 2260856 : full_data(idata) = data_tmp
13164 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13165 2260856 : idata = idata + 1
13166 2260856 : data_tmp = ISHFT(pack_tmp, 12)
13167 2260856 : ipack = ipack + 1
13168 2260856 : pack_tmp = packed_data(ipack)
13169 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13170 2260856 : pack_tmp = ISHFT(pack_tmp, -12)
13171 2260856 : idata = idata + 1
13172 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13173 2260856 : full_data(idata) = data_tmp
13174 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13175 2260856 : idata = idata + 1
13176 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13177 2260856 : full_data(idata) = data_tmp
13178 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13179 2260856 : idata = idata + 1
13180 2260856 : data_tmp = ISHFT(pack_tmp, 5)
13181 2260856 : ipack = ipack + 1
13182 2260856 : pack_tmp = packed_data(ipack)
13183 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
13184 2260856 : pack_tmp = ISHFT(pack_tmp, -5)
13185 2260856 : idata = idata + 1
13186 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13187 2260856 : full_data(idata) = data_tmp
13188 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13189 2260856 : idata = idata + 1
13190 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13191 2260856 : full_data(idata) = data_tmp
13192 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13193 2260856 : idata = idata + 1
13194 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13195 2260856 : full_data(idata) = data_tmp
13196 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13197 2260856 : idata = idata + 1
13198 2260856 : data_tmp = ISHFT(pack_tmp, 17)
13199 2260856 : ipack = ipack + 1
13200 2260856 : pack_tmp = packed_data(ipack)
13201 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
13202 2260856 : pack_tmp = ISHFT(pack_tmp, -17)
13203 2260856 : idata = idata + 1
13204 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13205 2260856 : full_data(idata) = data_tmp
13206 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13207 2260856 : idata = idata + 1
13208 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13209 2260856 : full_data(idata) = data_tmp
13210 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13211 2260856 : idata = idata + 1
13212 2260856 : data_tmp = ISHFT(pack_tmp, 10)
13213 2260856 : ipack = ipack + 1
13214 2260856 : pack_tmp = packed_data(ipack)
13215 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
13216 2260856 : pack_tmp = ISHFT(pack_tmp, -10)
13217 2260856 : idata = idata + 1
13218 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13219 2260856 : full_data(idata) = data_tmp
13220 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13221 2260856 : idata = idata + 1
13222 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13223 2260856 : full_data(idata) = data_tmp
13224 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13225 2260856 : idata = idata + 1
13226 2260856 : data_tmp = ISHFT(pack_tmp, 3)
13227 2260856 : ipack = ipack + 1
13228 2260856 : pack_tmp = packed_data(ipack)
13229 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
13230 2260856 : pack_tmp = ISHFT(pack_tmp, -3)
13231 2260856 : idata = idata + 1
13232 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13233 2260856 : full_data(idata) = data_tmp
13234 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13235 2260856 : idata = idata + 1
13236 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13237 2260856 : full_data(idata) = data_tmp
13238 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13239 2260856 : idata = idata + 1
13240 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13241 2260856 : full_data(idata) = data_tmp
13242 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13243 2260856 : idata = idata + 1
13244 2260856 : data_tmp = ISHFT(pack_tmp, 15)
13245 2260856 : ipack = ipack + 1
13246 2260856 : pack_tmp = packed_data(ipack)
13247 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
13248 2260856 : pack_tmp = ISHFT(pack_tmp, -15)
13249 2260856 : idata = idata + 1
13250 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13251 2260856 : full_data(idata) = data_tmp
13252 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13253 2260856 : idata = idata + 1
13254 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13255 2260856 : full_data(idata) = data_tmp
13256 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13257 2260856 : idata = idata + 1
13258 2260856 : data_tmp = ISHFT(pack_tmp, 8)
13259 2260856 : ipack = ipack + 1
13260 2260856 : pack_tmp = packed_data(ipack)
13261 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13262 2260856 : pack_tmp = ISHFT(pack_tmp, -8)
13263 2260856 : idata = idata + 1
13264 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13265 2260856 : full_data(idata) = data_tmp
13266 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13267 2260856 : idata = idata + 1
13268 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13269 2260856 : full_data(idata) = data_tmp
13270 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13271 2260856 : idata = idata + 1
13272 2260856 : data_tmp = ISHFT(pack_tmp, 1)
13273 2260856 : ipack = ipack + 1
13274 2260856 : pack_tmp = packed_data(ipack)
13275 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
13276 2260856 : pack_tmp = ISHFT(pack_tmp, -1)
13277 2260856 : idata = idata + 1
13278 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13279 2260856 : full_data(idata) = data_tmp
13280 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13281 2260856 : idata = idata + 1
13282 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13283 2260856 : full_data(idata) = data_tmp
13284 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13285 2260856 : idata = idata + 1
13286 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13287 2260856 : full_data(idata) = data_tmp
13288 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13289 2260856 : idata = idata + 1
13290 2260856 : data_tmp = ISHFT(pack_tmp, 13)
13291 2260856 : ipack = ipack + 1
13292 2260856 : pack_tmp = packed_data(ipack)
13293 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
13294 2260856 : pack_tmp = ISHFT(pack_tmp, -13)
13295 2260856 : idata = idata + 1
13296 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13297 2260856 : full_data(idata) = data_tmp
13298 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13299 2260856 : idata = idata + 1
13300 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13301 2260856 : full_data(idata) = data_tmp
13302 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13303 2260856 : idata = idata + 1
13304 2260856 : data_tmp = ISHFT(pack_tmp, 6)
13305 2260856 : ipack = ipack + 1
13306 2260856 : pack_tmp = packed_data(ipack)
13307 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
13308 2260856 : pack_tmp = ISHFT(pack_tmp, -6)
13309 2260856 : idata = idata + 1
13310 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13311 2260856 : full_data(idata) = data_tmp
13312 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13313 2260856 : idata = idata + 1
13314 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13315 2260856 : full_data(idata) = data_tmp
13316 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13317 2260856 : idata = idata + 1
13318 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13319 2260856 : full_data(idata) = data_tmp
13320 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13321 2260856 : idata = idata + 1
13322 2260856 : data_tmp = ISHFT(pack_tmp, 18)
13323 2260856 : ipack = ipack + 1
13324 2260856 : pack_tmp = packed_data(ipack)
13325 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
13326 2260856 : pack_tmp = ISHFT(pack_tmp, -18)
13327 2260856 : idata = idata + 1
13328 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13329 2260856 : full_data(idata) = data_tmp
13330 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13331 2260856 : idata = idata + 1
13332 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13333 2260856 : full_data(idata) = data_tmp
13334 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13335 2260856 : idata = idata + 1
13336 2260856 : data_tmp = ISHFT(pack_tmp, 11)
13337 2260856 : ipack = ipack + 1
13338 2260856 : pack_tmp = packed_data(ipack)
13339 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
13340 2260856 : pack_tmp = ISHFT(pack_tmp, -11)
13341 2260856 : idata = idata + 1
13342 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13343 2260856 : full_data(idata) = data_tmp
13344 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13345 2260856 : idata = idata + 1
13346 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13347 2260856 : full_data(idata) = data_tmp
13348 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13349 2260856 : idata = idata + 1
13350 2260856 : data_tmp = ISHFT(pack_tmp, 4)
13351 2260856 : ipack = ipack + 1
13352 2260856 : pack_tmp = packed_data(ipack)
13353 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13354 2260856 : pack_tmp = ISHFT(pack_tmp, -4)
13355 2260856 : idata = idata + 1
13356 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13357 2260856 : full_data(idata) = data_tmp
13358 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13359 2260856 : idata = idata + 1
13360 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13361 2260856 : full_data(idata) = data_tmp
13362 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13363 2260856 : idata = idata + 1
13364 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13365 2260856 : full_data(idata) = data_tmp
13366 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13367 2260856 : idata = idata + 1
13368 2260856 : data_tmp = ISHFT(pack_tmp, 16)
13369 2260856 : ipack = ipack + 1
13370 2260856 : pack_tmp = packed_data(ipack)
13371 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13372 2260856 : pack_tmp = ISHFT(pack_tmp, -16)
13373 2260856 : idata = idata + 1
13374 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13375 2260856 : full_data(idata) = data_tmp
13376 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13377 2260856 : idata = idata + 1
13378 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13379 2260856 : full_data(idata) = data_tmp
13380 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13381 2260856 : idata = idata + 1
13382 2260856 : data_tmp = ISHFT(pack_tmp, 9)
13383 2260856 : ipack = ipack + 1
13384 2260856 : pack_tmp = packed_data(ipack)
13385 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
13386 2260856 : pack_tmp = ISHFT(pack_tmp, -9)
13387 2260856 : idata = idata + 1
13388 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13389 2260856 : full_data(idata) = data_tmp
13390 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13391 2260856 : idata = idata + 1
13392 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13393 2260856 : full_data(idata) = data_tmp
13394 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13395 2260856 : idata = idata + 1
13396 2260856 : data_tmp = ISHFT(pack_tmp, 2)
13397 2260856 : ipack = ipack + 1
13398 2260856 : pack_tmp = packed_data(ipack)
13399 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
13400 2260856 : pack_tmp = ISHFT(pack_tmp, -2)
13401 2260856 : idata = idata + 1
13402 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13403 2260856 : full_data(idata) = data_tmp
13404 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13405 2260856 : idata = idata + 1
13406 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13407 2260856 : full_data(idata) = data_tmp
13408 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13409 2260856 : idata = idata + 1
13410 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13411 2260856 : full_data(idata) = data_tmp
13412 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13413 2260856 : idata = idata + 1
13414 2260856 : data_tmp = ISHFT(pack_tmp, 14)
13415 2260856 : ipack = ipack + 1
13416 2260856 : pack_tmp = packed_data(ipack)
13417 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
13418 2260856 : pack_tmp = ISHFT(pack_tmp, -14)
13419 2260856 : idata = idata + 1
13420 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13421 2260856 : full_data(idata) = data_tmp
13422 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13423 2260856 : idata = idata + 1
13424 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13425 2260856 : full_data(idata) = data_tmp
13426 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13427 2260856 : idata = idata + 1
13428 2260856 : data_tmp = ISHFT(pack_tmp, 7)
13429 2260856 : ipack = ipack + 1
13430 2260856 : pack_tmp = packed_data(ipack)
13431 2260856 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
13432 2260856 : pack_tmp = ISHFT(pack_tmp, -7)
13433 2260856 : idata = idata + 1
13434 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13435 2260856 : full_data(idata) = data_tmp
13436 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13437 2260856 : idata = idata + 1
13438 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13439 2260856 : full_data(idata) = data_tmp
13440 2260856 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13441 2260856 : idata = idata + 1
13442 2260856 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13443 2260856 : full_data(idata) = data_tmp
13444 2261629 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13445 : END DO
13446 154104 : IF (Ndata_rep < Ndata) THEN
13447 23280 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13448 : END IF
13449 154104 : END SUBROUTINE bits2ints_19
13450 :
13451 : ! **************************************************************************************************
13452 : !> \brief ...
13453 : !> \param Ndata ...
13454 : !> \param packed_data ...
13455 : !> \param full_data ...
13456 : ! **************************************************************************************************
13457 41397 : 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 41397 : idata = 0
13468 41397 : ipack = 0
13469 41397 : Ndata_rep = (Ndata/64)*64
13470 41397 : DO kdata = 1, Ndata_rep, 64
13471 592256 : pack_tmp = 0
13472 592256 : idata = idata + 1
13473 592256 : data_tmp = full_data(idata)
13474 592256 : data_tmp = ISHFT(data_tmp, 44)
13475 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13476 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13477 592256 : idata = idata + 1
13478 592256 : data_tmp = full_data(idata)
13479 592256 : data_tmp = ISHFT(data_tmp, 44)
13480 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13481 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13482 592256 : idata = idata + 1
13483 592256 : data_tmp = full_data(idata)
13484 592256 : data_tmp = ISHFT(data_tmp, 44)
13485 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13486 592256 : pack_tmp = ISHFT(pack_tmp, -4)
13487 592256 : idata = idata + 1
13488 592256 : data_tmp = full_data(idata)
13489 592256 : data_tmp = ISHFT(data_tmp, 44)
13490 592256 : data_tmp = IAND(data_tmp, mask_left(4))
13491 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13492 592256 : ipack = ipack + 1
13493 592256 : packed_data(ipack) = pack_tmp
13494 592256 : data_tmp = full_data(idata)
13495 592256 : pack_tmp = ISHFT(data_tmp, 48)
13496 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13497 592256 : idata = idata + 1
13498 592256 : data_tmp = full_data(idata)
13499 592256 : data_tmp = ISHFT(data_tmp, 44)
13500 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13501 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13502 592256 : idata = idata + 1
13503 592256 : data_tmp = full_data(idata)
13504 592256 : data_tmp = ISHFT(data_tmp, 44)
13505 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13506 592256 : pack_tmp = ISHFT(pack_tmp, -8)
13507 592256 : idata = idata + 1
13508 592256 : data_tmp = full_data(idata)
13509 592256 : data_tmp = ISHFT(data_tmp, 44)
13510 592256 : data_tmp = IAND(data_tmp, mask_left(8))
13511 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13512 592256 : ipack = ipack + 1
13513 592256 : packed_data(ipack) = pack_tmp
13514 592256 : data_tmp = full_data(idata)
13515 592256 : pack_tmp = ISHFT(data_tmp, 52)
13516 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13517 592256 : idata = idata + 1
13518 592256 : data_tmp = full_data(idata)
13519 592256 : data_tmp = ISHFT(data_tmp, 44)
13520 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13521 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13522 592256 : idata = idata + 1
13523 592256 : data_tmp = full_data(idata)
13524 592256 : data_tmp = ISHFT(data_tmp, 44)
13525 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13526 592256 : pack_tmp = ISHFT(pack_tmp, -12)
13527 592256 : idata = idata + 1
13528 592256 : data_tmp = full_data(idata)
13529 592256 : data_tmp = ISHFT(data_tmp, 44)
13530 592256 : data_tmp = IAND(data_tmp, mask_left(12))
13531 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13532 592256 : ipack = ipack + 1
13533 592256 : packed_data(ipack) = pack_tmp
13534 592256 : data_tmp = full_data(idata)
13535 592256 : pack_tmp = ISHFT(data_tmp, 56)
13536 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13537 592256 : idata = idata + 1
13538 592256 : data_tmp = full_data(idata)
13539 592256 : data_tmp = ISHFT(data_tmp, 44)
13540 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13541 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13542 592256 : idata = idata + 1
13543 592256 : data_tmp = full_data(idata)
13544 592256 : data_tmp = ISHFT(data_tmp, 44)
13545 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13546 592256 : pack_tmp = ISHFT(pack_tmp, -16)
13547 592256 : idata = idata + 1
13548 592256 : data_tmp = full_data(idata)
13549 592256 : data_tmp = ISHFT(data_tmp, 44)
13550 592256 : data_tmp = IAND(data_tmp, mask_left(16))
13551 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13552 592256 : ipack = ipack + 1
13553 592256 : packed_data(ipack) = pack_tmp
13554 592256 : data_tmp = full_data(idata)
13555 592256 : pack_tmp = ISHFT(data_tmp, 60)
13556 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13557 592256 : idata = idata + 1
13558 592256 : data_tmp = full_data(idata)
13559 592256 : data_tmp = ISHFT(data_tmp, 44)
13560 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13561 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13562 592256 : idata = idata + 1
13563 592256 : data_tmp = full_data(idata)
13564 592256 : data_tmp = ISHFT(data_tmp, 44)
13565 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13566 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13567 592256 : idata = idata + 1
13568 592256 : data_tmp = full_data(idata)
13569 592256 : data_tmp = ISHFT(data_tmp, 44)
13570 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13571 592256 : pack_tmp = ISHFT(pack_tmp, 0)
13572 592256 : idata = idata + 1
13573 592256 : data_tmp = full_data(idata)
13574 : data_tmp = ISHFT(data_tmp, 44)
13575 592256 : data_tmp = IAND(data_tmp, mask_left(0))
13576 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13577 592256 : ipack = ipack + 1
13578 592256 : packed_data(ipack) = pack_tmp
13579 592256 : data_tmp = full_data(idata)
13580 592256 : pack_tmp = ISHFT(data_tmp, 44)
13581 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13582 592256 : idata = idata + 1
13583 592256 : data_tmp = full_data(idata)
13584 592256 : data_tmp = ISHFT(data_tmp, 44)
13585 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13586 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13587 592256 : idata = idata + 1
13588 592256 : data_tmp = full_data(idata)
13589 592256 : data_tmp = ISHFT(data_tmp, 44)
13590 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13591 592256 : pack_tmp = ISHFT(pack_tmp, -4)
13592 592256 : idata = idata + 1
13593 592256 : data_tmp = full_data(idata)
13594 592256 : data_tmp = ISHFT(data_tmp, 44)
13595 592256 : data_tmp = IAND(data_tmp, mask_left(4))
13596 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13597 592256 : ipack = ipack + 1
13598 592256 : packed_data(ipack) = pack_tmp
13599 592256 : data_tmp = full_data(idata)
13600 592256 : pack_tmp = ISHFT(data_tmp, 48)
13601 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13602 592256 : idata = idata + 1
13603 592256 : data_tmp = full_data(idata)
13604 592256 : data_tmp = ISHFT(data_tmp, 44)
13605 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13606 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13607 592256 : idata = idata + 1
13608 592256 : data_tmp = full_data(idata)
13609 592256 : data_tmp = ISHFT(data_tmp, 44)
13610 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13611 592256 : pack_tmp = ISHFT(pack_tmp, -8)
13612 592256 : idata = idata + 1
13613 592256 : data_tmp = full_data(idata)
13614 592256 : data_tmp = ISHFT(data_tmp, 44)
13615 592256 : data_tmp = IAND(data_tmp, mask_left(8))
13616 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13617 592256 : ipack = ipack + 1
13618 592256 : packed_data(ipack) = pack_tmp
13619 592256 : data_tmp = full_data(idata)
13620 592256 : pack_tmp = ISHFT(data_tmp, 52)
13621 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13622 592256 : idata = idata + 1
13623 592256 : data_tmp = full_data(idata)
13624 592256 : data_tmp = ISHFT(data_tmp, 44)
13625 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13626 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13627 592256 : idata = idata + 1
13628 592256 : data_tmp = full_data(idata)
13629 592256 : data_tmp = ISHFT(data_tmp, 44)
13630 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13631 592256 : pack_tmp = ISHFT(pack_tmp, -12)
13632 592256 : idata = idata + 1
13633 592256 : data_tmp = full_data(idata)
13634 592256 : data_tmp = ISHFT(data_tmp, 44)
13635 592256 : data_tmp = IAND(data_tmp, mask_left(12))
13636 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13637 592256 : ipack = ipack + 1
13638 592256 : packed_data(ipack) = pack_tmp
13639 592256 : data_tmp = full_data(idata)
13640 592256 : pack_tmp = ISHFT(data_tmp, 56)
13641 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13642 592256 : idata = idata + 1
13643 592256 : data_tmp = full_data(idata)
13644 592256 : data_tmp = ISHFT(data_tmp, 44)
13645 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13646 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13647 592256 : idata = idata + 1
13648 592256 : data_tmp = full_data(idata)
13649 592256 : data_tmp = ISHFT(data_tmp, 44)
13650 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13651 592256 : pack_tmp = ISHFT(pack_tmp, -16)
13652 592256 : idata = idata + 1
13653 592256 : data_tmp = full_data(idata)
13654 592256 : data_tmp = ISHFT(data_tmp, 44)
13655 592256 : data_tmp = IAND(data_tmp, mask_left(16))
13656 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13657 592256 : ipack = ipack + 1
13658 592256 : packed_data(ipack) = pack_tmp
13659 592256 : data_tmp = full_data(idata)
13660 592256 : pack_tmp = ISHFT(data_tmp, 60)
13661 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13662 592256 : idata = idata + 1
13663 592256 : data_tmp = full_data(idata)
13664 592256 : data_tmp = ISHFT(data_tmp, 44)
13665 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13666 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13667 592256 : idata = idata + 1
13668 592256 : data_tmp = full_data(idata)
13669 592256 : data_tmp = ISHFT(data_tmp, 44)
13670 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13671 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13672 592256 : idata = idata + 1
13673 592256 : data_tmp = full_data(idata)
13674 592256 : data_tmp = ISHFT(data_tmp, 44)
13675 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13676 592256 : pack_tmp = ISHFT(pack_tmp, 0)
13677 592256 : idata = idata + 1
13678 592256 : data_tmp = full_data(idata)
13679 : data_tmp = ISHFT(data_tmp, 44)
13680 592256 : data_tmp = IAND(data_tmp, mask_left(0))
13681 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13682 592256 : ipack = ipack + 1
13683 592256 : packed_data(ipack) = pack_tmp
13684 592256 : data_tmp = full_data(idata)
13685 592256 : pack_tmp = ISHFT(data_tmp, 44)
13686 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13687 592256 : idata = idata + 1
13688 592256 : data_tmp = full_data(idata)
13689 592256 : data_tmp = ISHFT(data_tmp, 44)
13690 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13691 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13692 592256 : idata = idata + 1
13693 592256 : data_tmp = full_data(idata)
13694 592256 : data_tmp = ISHFT(data_tmp, 44)
13695 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13696 592256 : pack_tmp = ISHFT(pack_tmp, -4)
13697 592256 : idata = idata + 1
13698 592256 : data_tmp = full_data(idata)
13699 592256 : data_tmp = ISHFT(data_tmp, 44)
13700 592256 : data_tmp = IAND(data_tmp, mask_left(4))
13701 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13702 592256 : ipack = ipack + 1
13703 592256 : packed_data(ipack) = pack_tmp
13704 592256 : data_tmp = full_data(idata)
13705 592256 : pack_tmp = ISHFT(data_tmp, 48)
13706 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13707 592256 : idata = idata + 1
13708 592256 : data_tmp = full_data(idata)
13709 592256 : data_tmp = ISHFT(data_tmp, 44)
13710 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13711 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13712 592256 : idata = idata + 1
13713 592256 : data_tmp = full_data(idata)
13714 592256 : data_tmp = ISHFT(data_tmp, 44)
13715 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13716 592256 : pack_tmp = ISHFT(pack_tmp, -8)
13717 592256 : idata = idata + 1
13718 592256 : data_tmp = full_data(idata)
13719 592256 : data_tmp = ISHFT(data_tmp, 44)
13720 592256 : data_tmp = IAND(data_tmp, mask_left(8))
13721 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13722 592256 : ipack = ipack + 1
13723 592256 : packed_data(ipack) = pack_tmp
13724 592256 : data_tmp = full_data(idata)
13725 592256 : pack_tmp = ISHFT(data_tmp, 52)
13726 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13727 592256 : idata = idata + 1
13728 592256 : data_tmp = full_data(idata)
13729 592256 : data_tmp = ISHFT(data_tmp, 44)
13730 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13731 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13732 592256 : idata = idata + 1
13733 592256 : data_tmp = full_data(idata)
13734 592256 : data_tmp = ISHFT(data_tmp, 44)
13735 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13736 592256 : pack_tmp = ISHFT(pack_tmp, -12)
13737 592256 : idata = idata + 1
13738 592256 : data_tmp = full_data(idata)
13739 592256 : data_tmp = ISHFT(data_tmp, 44)
13740 592256 : data_tmp = IAND(data_tmp, mask_left(12))
13741 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13742 592256 : ipack = ipack + 1
13743 592256 : packed_data(ipack) = pack_tmp
13744 592256 : data_tmp = full_data(idata)
13745 592256 : pack_tmp = ISHFT(data_tmp, 56)
13746 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13747 592256 : idata = idata + 1
13748 592256 : data_tmp = full_data(idata)
13749 592256 : data_tmp = ISHFT(data_tmp, 44)
13750 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13751 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13752 592256 : idata = idata + 1
13753 592256 : data_tmp = full_data(idata)
13754 592256 : data_tmp = ISHFT(data_tmp, 44)
13755 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13756 592256 : pack_tmp = ISHFT(pack_tmp, -16)
13757 592256 : idata = idata + 1
13758 592256 : data_tmp = full_data(idata)
13759 592256 : data_tmp = ISHFT(data_tmp, 44)
13760 592256 : data_tmp = IAND(data_tmp, mask_left(16))
13761 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13762 592256 : ipack = ipack + 1
13763 592256 : packed_data(ipack) = pack_tmp
13764 592256 : data_tmp = full_data(idata)
13765 592256 : pack_tmp = ISHFT(data_tmp, 60)
13766 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13767 592256 : idata = idata + 1
13768 592256 : data_tmp = full_data(idata)
13769 592256 : data_tmp = ISHFT(data_tmp, 44)
13770 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13771 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13772 592256 : idata = idata + 1
13773 592256 : data_tmp = full_data(idata)
13774 592256 : data_tmp = ISHFT(data_tmp, 44)
13775 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13776 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13777 592256 : idata = idata + 1
13778 592256 : data_tmp = full_data(idata)
13779 592256 : data_tmp = ISHFT(data_tmp, 44)
13780 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13781 592256 : pack_tmp = ISHFT(pack_tmp, 0)
13782 592256 : idata = idata + 1
13783 592256 : data_tmp = full_data(idata)
13784 : data_tmp = ISHFT(data_tmp, 44)
13785 592256 : data_tmp = IAND(data_tmp, mask_left(0))
13786 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13787 592256 : ipack = ipack + 1
13788 592256 : packed_data(ipack) = pack_tmp
13789 592256 : data_tmp = full_data(idata)
13790 592256 : pack_tmp = ISHFT(data_tmp, 44)
13791 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13792 592256 : idata = idata + 1
13793 592256 : data_tmp = full_data(idata)
13794 592256 : data_tmp = ISHFT(data_tmp, 44)
13795 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13796 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13797 592256 : idata = idata + 1
13798 592256 : data_tmp = full_data(idata)
13799 592256 : data_tmp = ISHFT(data_tmp, 44)
13800 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13801 592256 : pack_tmp = ISHFT(pack_tmp, -4)
13802 592256 : idata = idata + 1
13803 592256 : data_tmp = full_data(idata)
13804 592256 : data_tmp = ISHFT(data_tmp, 44)
13805 592256 : data_tmp = IAND(data_tmp, mask_left(4))
13806 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13807 592256 : ipack = ipack + 1
13808 592256 : packed_data(ipack) = pack_tmp
13809 592256 : data_tmp = full_data(idata)
13810 592256 : pack_tmp = ISHFT(data_tmp, 48)
13811 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13812 592256 : idata = idata + 1
13813 592256 : data_tmp = full_data(idata)
13814 592256 : data_tmp = ISHFT(data_tmp, 44)
13815 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13816 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13817 592256 : idata = idata + 1
13818 592256 : data_tmp = full_data(idata)
13819 592256 : data_tmp = ISHFT(data_tmp, 44)
13820 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13821 592256 : pack_tmp = ISHFT(pack_tmp, -8)
13822 592256 : idata = idata + 1
13823 592256 : data_tmp = full_data(idata)
13824 592256 : data_tmp = ISHFT(data_tmp, 44)
13825 592256 : data_tmp = IAND(data_tmp, mask_left(8))
13826 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13827 592256 : ipack = ipack + 1
13828 592256 : packed_data(ipack) = pack_tmp
13829 592256 : data_tmp = full_data(idata)
13830 592256 : pack_tmp = ISHFT(data_tmp, 52)
13831 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13832 592256 : idata = idata + 1
13833 592256 : data_tmp = full_data(idata)
13834 592256 : data_tmp = ISHFT(data_tmp, 44)
13835 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13836 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13837 592256 : idata = idata + 1
13838 592256 : data_tmp = full_data(idata)
13839 592256 : data_tmp = ISHFT(data_tmp, 44)
13840 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13841 592256 : pack_tmp = ISHFT(pack_tmp, -12)
13842 592256 : idata = idata + 1
13843 592256 : data_tmp = full_data(idata)
13844 592256 : data_tmp = ISHFT(data_tmp, 44)
13845 592256 : data_tmp = IAND(data_tmp, mask_left(12))
13846 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13847 592256 : ipack = ipack + 1
13848 592256 : packed_data(ipack) = pack_tmp
13849 592256 : data_tmp = full_data(idata)
13850 592256 : pack_tmp = ISHFT(data_tmp, 56)
13851 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13852 592256 : idata = idata + 1
13853 592256 : data_tmp = full_data(idata)
13854 592256 : data_tmp = ISHFT(data_tmp, 44)
13855 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13856 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13857 592256 : idata = idata + 1
13858 592256 : data_tmp = full_data(idata)
13859 592256 : data_tmp = ISHFT(data_tmp, 44)
13860 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13861 592256 : pack_tmp = ISHFT(pack_tmp, -16)
13862 592256 : idata = idata + 1
13863 592256 : data_tmp = full_data(idata)
13864 592256 : data_tmp = ISHFT(data_tmp, 44)
13865 592256 : data_tmp = IAND(data_tmp, mask_left(16))
13866 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13867 592256 : ipack = ipack + 1
13868 592256 : packed_data(ipack) = pack_tmp
13869 592256 : data_tmp = full_data(idata)
13870 592256 : pack_tmp = ISHFT(data_tmp, 60)
13871 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13872 592256 : idata = idata + 1
13873 592256 : data_tmp = full_data(idata)
13874 592256 : data_tmp = ISHFT(data_tmp, 44)
13875 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13876 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13877 592256 : idata = idata + 1
13878 592256 : data_tmp = full_data(idata)
13879 592256 : data_tmp = ISHFT(data_tmp, 44)
13880 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13881 592256 : pack_tmp = ISHFT(pack_tmp, -20)
13882 592256 : idata = idata + 1
13883 592256 : data_tmp = full_data(idata)
13884 592256 : data_tmp = ISHFT(data_tmp, 44)
13885 592256 : pack_tmp = IOR(pack_tmp, data_tmp)
13886 : pack_tmp = ISHFT(pack_tmp, 0)
13887 592256 : pack_tmp = ISHFT(pack_tmp, 0)
13888 592256 : ipack = ipack + 1
13889 592644 : packed_data(ipack) = pack_tmp
13890 : END DO
13891 41397 : IF (Ndata_rep < Ndata) THEN
13892 7296 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13893 : END IF
13894 41397 : END SUBROUTINE ints2bits_20
13895 :
13896 : ! **************************************************************************************************
13897 : !> \brief ...
13898 : !> \param Ndata ...
13899 : !> \param packed_data ...
13900 : !> \param full_data ...
13901 : ! **************************************************************************************************
13902 283120 : 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 283120 : ipack = 0
13913 283120 : idata = 0
13914 283120 : pack_tmp = 0
13915 283120 : Ndata_rep = (Ndata/64)*64
13916 283120 : DO kdata = 1, Ndata_rep, 64
13917 3798307 : idata = idata + 1
13918 3798307 : data_tmp = ISHFT(pack_tmp, 20)
13919 3798307 : ipack = ipack + 1
13920 3798307 : pack_tmp = packed_data(ipack)
13921 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13922 3798307 : pack_tmp = ISHFT(pack_tmp, -20)
13923 3798307 : idata = idata + 1
13924 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13925 3798307 : full_data(idata) = data_tmp
13926 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13927 3798307 : idata = idata + 1
13928 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13929 3798307 : full_data(idata) = data_tmp
13930 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13931 3798307 : idata = idata + 1
13932 3798307 : data_tmp = ISHFT(pack_tmp, 16)
13933 3798307 : ipack = ipack + 1
13934 3798307 : pack_tmp = packed_data(ipack)
13935 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13936 3798307 : pack_tmp = ISHFT(pack_tmp, -16)
13937 3798307 : idata = idata + 1
13938 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13939 3798307 : full_data(idata) = data_tmp
13940 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13941 3798307 : idata = idata + 1
13942 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13943 3798307 : full_data(idata) = data_tmp
13944 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13945 3798307 : idata = idata + 1
13946 3798307 : data_tmp = ISHFT(pack_tmp, 12)
13947 3798307 : ipack = ipack + 1
13948 3798307 : pack_tmp = packed_data(ipack)
13949 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13950 3798307 : pack_tmp = ISHFT(pack_tmp, -12)
13951 3798307 : idata = idata + 1
13952 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13953 3798307 : full_data(idata) = data_tmp
13954 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13955 3798307 : idata = idata + 1
13956 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13957 3798307 : full_data(idata) = data_tmp
13958 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13959 3798307 : idata = idata + 1
13960 3798307 : data_tmp = ISHFT(pack_tmp, 8)
13961 3798307 : ipack = ipack + 1
13962 3798307 : pack_tmp = packed_data(ipack)
13963 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13964 3798307 : pack_tmp = ISHFT(pack_tmp, -8)
13965 3798307 : idata = idata + 1
13966 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13967 3798307 : full_data(idata) = data_tmp
13968 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13969 3798307 : idata = idata + 1
13970 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13971 3798307 : full_data(idata) = data_tmp
13972 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13973 3798307 : idata = idata + 1
13974 3798307 : data_tmp = ISHFT(pack_tmp, 4)
13975 3798307 : ipack = ipack + 1
13976 3798307 : pack_tmp = packed_data(ipack)
13977 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13978 3798307 : pack_tmp = ISHFT(pack_tmp, -4)
13979 3798307 : idata = idata + 1
13980 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13981 3798307 : full_data(idata) = data_tmp
13982 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13983 3798307 : idata = idata + 1
13984 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13985 3798307 : full_data(idata) = data_tmp
13986 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13987 3798307 : idata = idata + 1
13988 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13989 3798307 : full_data(idata) = data_tmp
13990 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13991 3798307 : idata = idata + 1
13992 3798307 : data_tmp = ISHFT(pack_tmp, 20)
13993 3798307 : ipack = ipack + 1
13994 3798307 : pack_tmp = packed_data(ipack)
13995 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13996 3798307 : pack_tmp = ISHFT(pack_tmp, -20)
13997 3798307 : idata = idata + 1
13998 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13999 3798307 : full_data(idata) = data_tmp
14000 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14001 3798307 : idata = idata + 1
14002 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14003 3798307 : full_data(idata) = data_tmp
14004 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14005 3798307 : idata = idata + 1
14006 3798307 : data_tmp = ISHFT(pack_tmp, 16)
14007 3798307 : ipack = ipack + 1
14008 3798307 : pack_tmp = packed_data(ipack)
14009 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14010 3798307 : pack_tmp = ISHFT(pack_tmp, -16)
14011 3798307 : idata = idata + 1
14012 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14013 3798307 : full_data(idata) = data_tmp
14014 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14015 3798307 : idata = idata + 1
14016 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14017 3798307 : full_data(idata) = data_tmp
14018 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14019 3798307 : idata = idata + 1
14020 3798307 : data_tmp = ISHFT(pack_tmp, 12)
14021 3798307 : ipack = ipack + 1
14022 3798307 : pack_tmp = packed_data(ipack)
14023 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14024 3798307 : pack_tmp = ISHFT(pack_tmp, -12)
14025 3798307 : idata = idata + 1
14026 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14027 3798307 : full_data(idata) = data_tmp
14028 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14029 3798307 : idata = idata + 1
14030 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14031 3798307 : full_data(idata) = data_tmp
14032 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14033 3798307 : idata = idata + 1
14034 3798307 : data_tmp = ISHFT(pack_tmp, 8)
14035 3798307 : ipack = ipack + 1
14036 3798307 : pack_tmp = packed_data(ipack)
14037 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14038 3798307 : pack_tmp = ISHFT(pack_tmp, -8)
14039 3798307 : idata = idata + 1
14040 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14041 3798307 : full_data(idata) = data_tmp
14042 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14043 3798307 : idata = idata + 1
14044 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14045 3798307 : full_data(idata) = data_tmp
14046 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14047 3798307 : idata = idata + 1
14048 3798307 : data_tmp = ISHFT(pack_tmp, 4)
14049 3798307 : ipack = ipack + 1
14050 3798307 : pack_tmp = packed_data(ipack)
14051 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14052 3798307 : pack_tmp = ISHFT(pack_tmp, -4)
14053 3798307 : idata = idata + 1
14054 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14055 3798307 : full_data(idata) = data_tmp
14056 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14057 3798307 : idata = idata + 1
14058 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14059 3798307 : full_data(idata) = data_tmp
14060 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14061 3798307 : idata = idata + 1
14062 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14063 3798307 : full_data(idata) = data_tmp
14064 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14065 3798307 : idata = idata + 1
14066 3798307 : data_tmp = ISHFT(pack_tmp, 20)
14067 3798307 : ipack = ipack + 1
14068 3798307 : pack_tmp = packed_data(ipack)
14069 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14070 3798307 : pack_tmp = ISHFT(pack_tmp, -20)
14071 3798307 : idata = idata + 1
14072 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14073 3798307 : full_data(idata) = data_tmp
14074 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14075 3798307 : idata = idata + 1
14076 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14077 3798307 : full_data(idata) = data_tmp
14078 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14079 3798307 : idata = idata + 1
14080 3798307 : data_tmp = ISHFT(pack_tmp, 16)
14081 3798307 : ipack = ipack + 1
14082 3798307 : pack_tmp = packed_data(ipack)
14083 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14084 3798307 : pack_tmp = ISHFT(pack_tmp, -16)
14085 3798307 : idata = idata + 1
14086 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14087 3798307 : full_data(idata) = data_tmp
14088 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14089 3798307 : idata = idata + 1
14090 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14091 3798307 : full_data(idata) = data_tmp
14092 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14093 3798307 : idata = idata + 1
14094 3798307 : data_tmp = ISHFT(pack_tmp, 12)
14095 3798307 : ipack = ipack + 1
14096 3798307 : pack_tmp = packed_data(ipack)
14097 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14098 3798307 : pack_tmp = ISHFT(pack_tmp, -12)
14099 3798307 : idata = idata + 1
14100 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14101 3798307 : full_data(idata) = data_tmp
14102 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14103 3798307 : idata = idata + 1
14104 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14105 3798307 : full_data(idata) = data_tmp
14106 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14107 3798307 : idata = idata + 1
14108 3798307 : data_tmp = ISHFT(pack_tmp, 8)
14109 3798307 : ipack = ipack + 1
14110 3798307 : pack_tmp = packed_data(ipack)
14111 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14112 3798307 : pack_tmp = ISHFT(pack_tmp, -8)
14113 3798307 : idata = idata + 1
14114 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14115 3798307 : full_data(idata) = data_tmp
14116 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14117 3798307 : idata = idata + 1
14118 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14119 3798307 : full_data(idata) = data_tmp
14120 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14121 3798307 : idata = idata + 1
14122 3798307 : data_tmp = ISHFT(pack_tmp, 4)
14123 3798307 : ipack = ipack + 1
14124 3798307 : pack_tmp = packed_data(ipack)
14125 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14126 3798307 : pack_tmp = ISHFT(pack_tmp, -4)
14127 3798307 : idata = idata + 1
14128 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14129 3798307 : full_data(idata) = data_tmp
14130 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14131 3798307 : idata = idata + 1
14132 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14133 3798307 : full_data(idata) = data_tmp
14134 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14135 3798307 : idata = idata + 1
14136 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14137 3798307 : full_data(idata) = data_tmp
14138 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14139 3798307 : idata = idata + 1
14140 3798307 : data_tmp = ISHFT(pack_tmp, 20)
14141 3798307 : ipack = ipack + 1
14142 3798307 : pack_tmp = packed_data(ipack)
14143 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14144 3798307 : pack_tmp = ISHFT(pack_tmp, -20)
14145 3798307 : idata = idata + 1
14146 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14147 3798307 : full_data(idata) = data_tmp
14148 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14149 3798307 : idata = idata + 1
14150 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14151 3798307 : full_data(idata) = data_tmp
14152 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14153 3798307 : idata = idata + 1
14154 3798307 : data_tmp = ISHFT(pack_tmp, 16)
14155 3798307 : ipack = ipack + 1
14156 3798307 : pack_tmp = packed_data(ipack)
14157 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14158 3798307 : pack_tmp = ISHFT(pack_tmp, -16)
14159 3798307 : idata = idata + 1
14160 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14161 3798307 : full_data(idata) = data_tmp
14162 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14163 3798307 : idata = idata + 1
14164 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14165 3798307 : full_data(idata) = data_tmp
14166 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14167 3798307 : idata = idata + 1
14168 3798307 : data_tmp = ISHFT(pack_tmp, 12)
14169 3798307 : ipack = ipack + 1
14170 3798307 : pack_tmp = packed_data(ipack)
14171 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14172 3798307 : pack_tmp = ISHFT(pack_tmp, -12)
14173 3798307 : idata = idata + 1
14174 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14175 3798307 : full_data(idata) = data_tmp
14176 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14177 3798307 : idata = idata + 1
14178 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14179 3798307 : full_data(idata) = data_tmp
14180 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14181 3798307 : idata = idata + 1
14182 3798307 : data_tmp = ISHFT(pack_tmp, 8)
14183 3798307 : ipack = ipack + 1
14184 3798307 : pack_tmp = packed_data(ipack)
14185 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14186 3798307 : pack_tmp = ISHFT(pack_tmp, -8)
14187 3798307 : idata = idata + 1
14188 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14189 3798307 : full_data(idata) = data_tmp
14190 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14191 3798307 : idata = idata + 1
14192 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14193 3798307 : full_data(idata) = data_tmp
14194 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14195 3798307 : idata = idata + 1
14196 3798307 : data_tmp = ISHFT(pack_tmp, 4)
14197 3798307 : ipack = ipack + 1
14198 3798307 : pack_tmp = packed_data(ipack)
14199 3798307 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14200 3798307 : pack_tmp = ISHFT(pack_tmp, -4)
14201 3798307 : idata = idata + 1
14202 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14203 3798307 : full_data(idata) = data_tmp
14204 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14205 3798307 : idata = idata + 1
14206 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14207 3798307 : full_data(idata) = data_tmp
14208 3798307 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14209 3798307 : idata = idata + 1
14210 3798307 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14211 3798307 : full_data(idata) = data_tmp
14212 3802172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14213 : END DO
14214 283120 : IF (Ndata_rep < Ndata) THEN
14215 77434 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14216 : END IF
14217 283120 : END SUBROUTINE bits2ints_20
14218 :
14219 : ! **************************************************************************************************
14220 : !> \brief ...
14221 : !> \param Ndata ...
14222 : !> \param packed_data ...
14223 : !> \param full_data ...
14224 : ! **************************************************************************************************
14225 29420 : 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 29420 : idata = 0
14236 29420 : ipack = 0
14237 29420 : Ndata_rep = (Ndata/64)*64
14238 29420 : DO kdata = 1, Ndata_rep, 64
14239 448144 : pack_tmp = 0
14240 448144 : idata = idata + 1
14241 448144 : data_tmp = full_data(idata)
14242 448144 : data_tmp = ISHFT(data_tmp, 43)
14243 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14244 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14245 448144 : idata = idata + 1
14246 448144 : data_tmp = full_data(idata)
14247 448144 : data_tmp = ISHFT(data_tmp, 43)
14248 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14249 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14250 448144 : idata = idata + 1
14251 448144 : data_tmp = full_data(idata)
14252 448144 : data_tmp = ISHFT(data_tmp, 43)
14253 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14254 448144 : pack_tmp = ISHFT(pack_tmp, -1)
14255 448144 : idata = idata + 1
14256 448144 : data_tmp = full_data(idata)
14257 448144 : data_tmp = ISHFT(data_tmp, 43)
14258 448144 : data_tmp = IAND(data_tmp, mask_left(1))
14259 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14260 448144 : ipack = ipack + 1
14261 448144 : packed_data(ipack) = pack_tmp
14262 448144 : data_tmp = full_data(idata)
14263 448144 : pack_tmp = ISHFT(data_tmp, 44)
14264 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14265 448144 : idata = idata + 1
14266 448144 : data_tmp = full_data(idata)
14267 448144 : data_tmp = ISHFT(data_tmp, 43)
14268 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14269 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14270 448144 : idata = idata + 1
14271 448144 : data_tmp = full_data(idata)
14272 448144 : data_tmp = ISHFT(data_tmp, 43)
14273 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14274 448144 : pack_tmp = ISHFT(pack_tmp, -2)
14275 448144 : idata = idata + 1
14276 448144 : data_tmp = full_data(idata)
14277 448144 : data_tmp = ISHFT(data_tmp, 43)
14278 448144 : data_tmp = IAND(data_tmp, mask_left(2))
14279 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14280 448144 : ipack = ipack + 1
14281 448144 : packed_data(ipack) = pack_tmp
14282 448144 : data_tmp = full_data(idata)
14283 448144 : pack_tmp = ISHFT(data_tmp, 45)
14284 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14285 448144 : idata = idata + 1
14286 448144 : data_tmp = full_data(idata)
14287 448144 : data_tmp = ISHFT(data_tmp, 43)
14288 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14289 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14290 448144 : idata = idata + 1
14291 448144 : data_tmp = full_data(idata)
14292 448144 : data_tmp = ISHFT(data_tmp, 43)
14293 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14294 448144 : pack_tmp = ISHFT(pack_tmp, -3)
14295 448144 : idata = idata + 1
14296 448144 : data_tmp = full_data(idata)
14297 448144 : data_tmp = ISHFT(data_tmp, 43)
14298 448144 : data_tmp = IAND(data_tmp, mask_left(3))
14299 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14300 448144 : ipack = ipack + 1
14301 448144 : packed_data(ipack) = pack_tmp
14302 448144 : data_tmp = full_data(idata)
14303 448144 : pack_tmp = ISHFT(data_tmp, 46)
14304 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14305 448144 : idata = idata + 1
14306 448144 : data_tmp = full_data(idata)
14307 448144 : data_tmp = ISHFT(data_tmp, 43)
14308 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14309 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14310 448144 : idata = idata + 1
14311 448144 : data_tmp = full_data(idata)
14312 448144 : data_tmp = ISHFT(data_tmp, 43)
14313 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14314 448144 : pack_tmp = ISHFT(pack_tmp, -4)
14315 448144 : idata = idata + 1
14316 448144 : data_tmp = full_data(idata)
14317 448144 : data_tmp = ISHFT(data_tmp, 43)
14318 448144 : data_tmp = IAND(data_tmp, mask_left(4))
14319 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14320 448144 : ipack = ipack + 1
14321 448144 : packed_data(ipack) = pack_tmp
14322 448144 : data_tmp = full_data(idata)
14323 448144 : pack_tmp = ISHFT(data_tmp, 47)
14324 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14325 448144 : idata = idata + 1
14326 448144 : data_tmp = full_data(idata)
14327 448144 : data_tmp = ISHFT(data_tmp, 43)
14328 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14329 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14330 448144 : idata = idata + 1
14331 448144 : data_tmp = full_data(idata)
14332 448144 : data_tmp = ISHFT(data_tmp, 43)
14333 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14334 448144 : pack_tmp = ISHFT(pack_tmp, -5)
14335 448144 : idata = idata + 1
14336 448144 : data_tmp = full_data(idata)
14337 448144 : data_tmp = ISHFT(data_tmp, 43)
14338 448144 : data_tmp = IAND(data_tmp, mask_left(5))
14339 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14340 448144 : ipack = ipack + 1
14341 448144 : packed_data(ipack) = pack_tmp
14342 448144 : data_tmp = full_data(idata)
14343 448144 : pack_tmp = ISHFT(data_tmp, 48)
14344 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14345 448144 : idata = idata + 1
14346 448144 : data_tmp = full_data(idata)
14347 448144 : data_tmp = ISHFT(data_tmp, 43)
14348 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14349 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14350 448144 : idata = idata + 1
14351 448144 : data_tmp = full_data(idata)
14352 448144 : data_tmp = ISHFT(data_tmp, 43)
14353 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14354 448144 : pack_tmp = ISHFT(pack_tmp, -6)
14355 448144 : idata = idata + 1
14356 448144 : data_tmp = full_data(idata)
14357 448144 : data_tmp = ISHFT(data_tmp, 43)
14358 448144 : data_tmp = IAND(data_tmp, mask_left(6))
14359 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14360 448144 : ipack = ipack + 1
14361 448144 : packed_data(ipack) = pack_tmp
14362 448144 : data_tmp = full_data(idata)
14363 448144 : pack_tmp = ISHFT(data_tmp, 49)
14364 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14365 448144 : idata = idata + 1
14366 448144 : data_tmp = full_data(idata)
14367 448144 : data_tmp = ISHFT(data_tmp, 43)
14368 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14369 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14370 448144 : idata = idata + 1
14371 448144 : data_tmp = full_data(idata)
14372 448144 : data_tmp = ISHFT(data_tmp, 43)
14373 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14374 448144 : pack_tmp = ISHFT(pack_tmp, -7)
14375 448144 : idata = idata + 1
14376 448144 : data_tmp = full_data(idata)
14377 448144 : data_tmp = ISHFT(data_tmp, 43)
14378 448144 : data_tmp = IAND(data_tmp, mask_left(7))
14379 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14380 448144 : ipack = ipack + 1
14381 448144 : packed_data(ipack) = pack_tmp
14382 448144 : data_tmp = full_data(idata)
14383 448144 : pack_tmp = ISHFT(data_tmp, 50)
14384 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14385 448144 : idata = idata + 1
14386 448144 : data_tmp = full_data(idata)
14387 448144 : data_tmp = ISHFT(data_tmp, 43)
14388 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14389 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14390 448144 : idata = idata + 1
14391 448144 : data_tmp = full_data(idata)
14392 448144 : data_tmp = ISHFT(data_tmp, 43)
14393 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14394 448144 : pack_tmp = ISHFT(pack_tmp, -8)
14395 448144 : idata = idata + 1
14396 448144 : data_tmp = full_data(idata)
14397 448144 : data_tmp = ISHFT(data_tmp, 43)
14398 448144 : data_tmp = IAND(data_tmp, mask_left(8))
14399 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14400 448144 : ipack = ipack + 1
14401 448144 : packed_data(ipack) = pack_tmp
14402 448144 : data_tmp = full_data(idata)
14403 448144 : pack_tmp = ISHFT(data_tmp, 51)
14404 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14405 448144 : idata = idata + 1
14406 448144 : data_tmp = full_data(idata)
14407 448144 : data_tmp = ISHFT(data_tmp, 43)
14408 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14409 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14410 448144 : idata = idata + 1
14411 448144 : data_tmp = full_data(idata)
14412 448144 : data_tmp = ISHFT(data_tmp, 43)
14413 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14414 448144 : pack_tmp = ISHFT(pack_tmp, -9)
14415 448144 : idata = idata + 1
14416 448144 : data_tmp = full_data(idata)
14417 448144 : data_tmp = ISHFT(data_tmp, 43)
14418 448144 : data_tmp = IAND(data_tmp, mask_left(9))
14419 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14420 448144 : ipack = ipack + 1
14421 448144 : packed_data(ipack) = pack_tmp
14422 448144 : data_tmp = full_data(idata)
14423 448144 : pack_tmp = ISHFT(data_tmp, 52)
14424 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14425 448144 : idata = idata + 1
14426 448144 : data_tmp = full_data(idata)
14427 448144 : data_tmp = ISHFT(data_tmp, 43)
14428 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14429 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14430 448144 : idata = idata + 1
14431 448144 : data_tmp = full_data(idata)
14432 448144 : data_tmp = ISHFT(data_tmp, 43)
14433 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14434 448144 : pack_tmp = ISHFT(pack_tmp, -10)
14435 448144 : idata = idata + 1
14436 448144 : data_tmp = full_data(idata)
14437 448144 : data_tmp = ISHFT(data_tmp, 43)
14438 448144 : data_tmp = IAND(data_tmp, mask_left(10))
14439 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14440 448144 : ipack = ipack + 1
14441 448144 : packed_data(ipack) = pack_tmp
14442 448144 : data_tmp = full_data(idata)
14443 448144 : pack_tmp = ISHFT(data_tmp, 53)
14444 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14445 448144 : idata = idata + 1
14446 448144 : data_tmp = full_data(idata)
14447 448144 : data_tmp = ISHFT(data_tmp, 43)
14448 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14449 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14450 448144 : idata = idata + 1
14451 448144 : data_tmp = full_data(idata)
14452 448144 : data_tmp = ISHFT(data_tmp, 43)
14453 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14454 448144 : pack_tmp = ISHFT(pack_tmp, -11)
14455 448144 : idata = idata + 1
14456 448144 : data_tmp = full_data(idata)
14457 448144 : data_tmp = ISHFT(data_tmp, 43)
14458 448144 : data_tmp = IAND(data_tmp, mask_left(11))
14459 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14460 448144 : ipack = ipack + 1
14461 448144 : packed_data(ipack) = pack_tmp
14462 448144 : data_tmp = full_data(idata)
14463 448144 : pack_tmp = ISHFT(data_tmp, 54)
14464 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14465 448144 : idata = idata + 1
14466 448144 : data_tmp = full_data(idata)
14467 448144 : data_tmp = ISHFT(data_tmp, 43)
14468 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14469 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14470 448144 : idata = idata + 1
14471 448144 : data_tmp = full_data(idata)
14472 448144 : data_tmp = ISHFT(data_tmp, 43)
14473 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14474 448144 : pack_tmp = ISHFT(pack_tmp, -12)
14475 448144 : idata = idata + 1
14476 448144 : data_tmp = full_data(idata)
14477 448144 : data_tmp = ISHFT(data_tmp, 43)
14478 448144 : data_tmp = IAND(data_tmp, mask_left(12))
14479 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14480 448144 : ipack = ipack + 1
14481 448144 : packed_data(ipack) = pack_tmp
14482 448144 : data_tmp = full_data(idata)
14483 448144 : pack_tmp = ISHFT(data_tmp, 55)
14484 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14485 448144 : idata = idata + 1
14486 448144 : data_tmp = full_data(idata)
14487 448144 : data_tmp = ISHFT(data_tmp, 43)
14488 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14489 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14490 448144 : idata = idata + 1
14491 448144 : data_tmp = full_data(idata)
14492 448144 : data_tmp = ISHFT(data_tmp, 43)
14493 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14494 448144 : pack_tmp = ISHFT(pack_tmp, -13)
14495 448144 : idata = idata + 1
14496 448144 : data_tmp = full_data(idata)
14497 448144 : data_tmp = ISHFT(data_tmp, 43)
14498 448144 : data_tmp = IAND(data_tmp, mask_left(13))
14499 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14500 448144 : ipack = ipack + 1
14501 448144 : packed_data(ipack) = pack_tmp
14502 448144 : data_tmp = full_data(idata)
14503 448144 : pack_tmp = ISHFT(data_tmp, 56)
14504 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14505 448144 : idata = idata + 1
14506 448144 : data_tmp = full_data(idata)
14507 448144 : data_tmp = ISHFT(data_tmp, 43)
14508 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14509 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14510 448144 : idata = idata + 1
14511 448144 : data_tmp = full_data(idata)
14512 448144 : data_tmp = ISHFT(data_tmp, 43)
14513 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14514 448144 : pack_tmp = ISHFT(pack_tmp, -14)
14515 448144 : idata = idata + 1
14516 448144 : data_tmp = full_data(idata)
14517 448144 : data_tmp = ISHFT(data_tmp, 43)
14518 448144 : data_tmp = IAND(data_tmp, mask_left(14))
14519 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14520 448144 : ipack = ipack + 1
14521 448144 : packed_data(ipack) = pack_tmp
14522 448144 : data_tmp = full_data(idata)
14523 448144 : pack_tmp = ISHFT(data_tmp, 57)
14524 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14525 448144 : idata = idata + 1
14526 448144 : data_tmp = full_data(idata)
14527 448144 : data_tmp = ISHFT(data_tmp, 43)
14528 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14529 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14530 448144 : idata = idata + 1
14531 448144 : data_tmp = full_data(idata)
14532 448144 : data_tmp = ISHFT(data_tmp, 43)
14533 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14534 448144 : pack_tmp = ISHFT(pack_tmp, -15)
14535 448144 : idata = idata + 1
14536 448144 : data_tmp = full_data(idata)
14537 448144 : data_tmp = ISHFT(data_tmp, 43)
14538 448144 : data_tmp = IAND(data_tmp, mask_left(15))
14539 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14540 448144 : ipack = ipack + 1
14541 448144 : packed_data(ipack) = pack_tmp
14542 448144 : data_tmp = full_data(idata)
14543 448144 : pack_tmp = ISHFT(data_tmp, 58)
14544 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14545 448144 : idata = idata + 1
14546 448144 : data_tmp = full_data(idata)
14547 448144 : data_tmp = ISHFT(data_tmp, 43)
14548 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14549 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14550 448144 : idata = idata + 1
14551 448144 : data_tmp = full_data(idata)
14552 448144 : data_tmp = ISHFT(data_tmp, 43)
14553 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14554 448144 : pack_tmp = ISHFT(pack_tmp, -16)
14555 448144 : idata = idata + 1
14556 448144 : data_tmp = full_data(idata)
14557 448144 : data_tmp = ISHFT(data_tmp, 43)
14558 448144 : data_tmp = IAND(data_tmp, mask_left(16))
14559 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14560 448144 : ipack = ipack + 1
14561 448144 : packed_data(ipack) = pack_tmp
14562 448144 : data_tmp = full_data(idata)
14563 448144 : pack_tmp = ISHFT(data_tmp, 59)
14564 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14565 448144 : idata = idata + 1
14566 448144 : data_tmp = full_data(idata)
14567 448144 : data_tmp = ISHFT(data_tmp, 43)
14568 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14569 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14570 448144 : idata = idata + 1
14571 448144 : data_tmp = full_data(idata)
14572 448144 : data_tmp = ISHFT(data_tmp, 43)
14573 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14574 448144 : pack_tmp = ISHFT(pack_tmp, -17)
14575 448144 : idata = idata + 1
14576 448144 : data_tmp = full_data(idata)
14577 448144 : data_tmp = ISHFT(data_tmp, 43)
14578 448144 : data_tmp = IAND(data_tmp, mask_left(17))
14579 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14580 448144 : ipack = ipack + 1
14581 448144 : packed_data(ipack) = pack_tmp
14582 448144 : data_tmp = full_data(idata)
14583 448144 : pack_tmp = ISHFT(data_tmp, 60)
14584 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14585 448144 : idata = idata + 1
14586 448144 : data_tmp = full_data(idata)
14587 448144 : data_tmp = ISHFT(data_tmp, 43)
14588 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14589 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14590 448144 : idata = idata + 1
14591 448144 : data_tmp = full_data(idata)
14592 448144 : data_tmp = ISHFT(data_tmp, 43)
14593 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14594 448144 : pack_tmp = ISHFT(pack_tmp, -18)
14595 448144 : idata = idata + 1
14596 448144 : data_tmp = full_data(idata)
14597 448144 : data_tmp = ISHFT(data_tmp, 43)
14598 448144 : data_tmp = IAND(data_tmp, mask_left(18))
14599 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14600 448144 : ipack = ipack + 1
14601 448144 : packed_data(ipack) = pack_tmp
14602 448144 : data_tmp = full_data(idata)
14603 448144 : pack_tmp = ISHFT(data_tmp, 61)
14604 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14605 448144 : idata = idata + 1
14606 448144 : data_tmp = full_data(idata)
14607 448144 : data_tmp = ISHFT(data_tmp, 43)
14608 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14609 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14610 448144 : idata = idata + 1
14611 448144 : data_tmp = full_data(idata)
14612 448144 : data_tmp = ISHFT(data_tmp, 43)
14613 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14614 448144 : pack_tmp = ISHFT(pack_tmp, -19)
14615 448144 : idata = idata + 1
14616 448144 : data_tmp = full_data(idata)
14617 448144 : data_tmp = ISHFT(data_tmp, 43)
14618 448144 : data_tmp = IAND(data_tmp, mask_left(19))
14619 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14620 448144 : ipack = ipack + 1
14621 448144 : packed_data(ipack) = pack_tmp
14622 448144 : data_tmp = full_data(idata)
14623 448144 : pack_tmp = ISHFT(data_tmp, 62)
14624 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14625 448144 : idata = idata + 1
14626 448144 : data_tmp = full_data(idata)
14627 448144 : data_tmp = ISHFT(data_tmp, 43)
14628 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14629 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14630 448144 : idata = idata + 1
14631 448144 : data_tmp = full_data(idata)
14632 448144 : data_tmp = ISHFT(data_tmp, 43)
14633 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14634 448144 : pack_tmp = ISHFT(pack_tmp, -20)
14635 448144 : idata = idata + 1
14636 448144 : data_tmp = full_data(idata)
14637 448144 : data_tmp = ISHFT(data_tmp, 43)
14638 448144 : data_tmp = IAND(data_tmp, mask_left(20))
14639 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14640 448144 : ipack = ipack + 1
14641 448144 : packed_data(ipack) = pack_tmp
14642 448144 : data_tmp = full_data(idata)
14643 448144 : pack_tmp = ISHFT(data_tmp, 63)
14644 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14645 448144 : idata = idata + 1
14646 448144 : data_tmp = full_data(idata)
14647 448144 : data_tmp = ISHFT(data_tmp, 43)
14648 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14649 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14650 448144 : idata = idata + 1
14651 448144 : data_tmp = full_data(idata)
14652 448144 : data_tmp = ISHFT(data_tmp, 43)
14653 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14654 448144 : pack_tmp = ISHFT(pack_tmp, -21)
14655 448144 : idata = idata + 1
14656 448144 : data_tmp = full_data(idata)
14657 448144 : data_tmp = ISHFT(data_tmp, 43)
14658 448144 : pack_tmp = IOR(pack_tmp, data_tmp)
14659 : pack_tmp = ISHFT(pack_tmp, 0)
14660 448144 : pack_tmp = ISHFT(pack_tmp, 0)
14661 448144 : ipack = ipack + 1
14662 448499 : packed_data(ipack) = pack_tmp
14663 : END DO
14664 29420 : 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 29420 : END SUBROUTINE ints2bits_21
14668 :
14669 : ! **************************************************************************************************
14670 : !> \brief ...
14671 : !> \param Ndata ...
14672 : !> \param packed_data ...
14673 : !> \param full_data ...
14674 : ! **************************************************************************************************
14675 150592 : 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 150592 : ipack = 0
14686 150592 : idata = 0
14687 150592 : pack_tmp = 0
14688 150592 : Ndata_rep = (Ndata/64)*64
14689 150592 : DO kdata = 1, Ndata_rep, 64
14690 2203772 : idata = idata + 1
14691 2203772 : data_tmp = ISHFT(pack_tmp, 21)
14692 2203772 : ipack = ipack + 1
14693 2203772 : pack_tmp = packed_data(ipack)
14694 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
14695 2203772 : pack_tmp = ISHFT(pack_tmp, -21)
14696 2203772 : idata = idata + 1
14697 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14698 2203772 : full_data(idata) = data_tmp
14699 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14700 2203772 : idata = idata + 1
14701 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14702 2203772 : full_data(idata) = data_tmp
14703 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14704 2203772 : idata = idata + 1
14705 2203772 : data_tmp = ISHFT(pack_tmp, 20)
14706 2203772 : ipack = ipack + 1
14707 2203772 : pack_tmp = packed_data(ipack)
14708 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14709 2203772 : pack_tmp = ISHFT(pack_tmp, -20)
14710 2203772 : idata = idata + 1
14711 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14712 2203772 : full_data(idata) = data_tmp
14713 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14714 2203772 : idata = idata + 1
14715 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14716 2203772 : full_data(idata) = data_tmp
14717 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14718 2203772 : idata = idata + 1
14719 2203772 : data_tmp = ISHFT(pack_tmp, 19)
14720 2203772 : ipack = ipack + 1
14721 2203772 : pack_tmp = packed_data(ipack)
14722 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
14723 2203772 : pack_tmp = ISHFT(pack_tmp, -19)
14724 2203772 : idata = idata + 1
14725 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14726 2203772 : full_data(idata) = data_tmp
14727 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14728 2203772 : idata = idata + 1
14729 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14730 2203772 : full_data(idata) = data_tmp
14731 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14732 2203772 : idata = idata + 1
14733 2203772 : data_tmp = ISHFT(pack_tmp, 18)
14734 2203772 : ipack = ipack + 1
14735 2203772 : pack_tmp = packed_data(ipack)
14736 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
14737 2203772 : pack_tmp = ISHFT(pack_tmp, -18)
14738 2203772 : idata = idata + 1
14739 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14740 2203772 : full_data(idata) = data_tmp
14741 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14742 2203772 : idata = idata + 1
14743 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14744 2203772 : full_data(idata) = data_tmp
14745 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14746 2203772 : idata = idata + 1
14747 2203772 : data_tmp = ISHFT(pack_tmp, 17)
14748 2203772 : ipack = ipack + 1
14749 2203772 : pack_tmp = packed_data(ipack)
14750 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
14751 2203772 : pack_tmp = ISHFT(pack_tmp, -17)
14752 2203772 : idata = idata + 1
14753 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14754 2203772 : full_data(idata) = data_tmp
14755 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14756 2203772 : idata = idata + 1
14757 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14758 2203772 : full_data(idata) = data_tmp
14759 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14760 2203772 : idata = idata + 1
14761 2203772 : data_tmp = ISHFT(pack_tmp, 16)
14762 2203772 : ipack = ipack + 1
14763 2203772 : pack_tmp = packed_data(ipack)
14764 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14765 2203772 : pack_tmp = ISHFT(pack_tmp, -16)
14766 2203772 : idata = idata + 1
14767 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14768 2203772 : full_data(idata) = data_tmp
14769 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14770 2203772 : idata = idata + 1
14771 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14772 2203772 : full_data(idata) = data_tmp
14773 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14774 2203772 : idata = idata + 1
14775 2203772 : data_tmp = ISHFT(pack_tmp, 15)
14776 2203772 : ipack = ipack + 1
14777 2203772 : pack_tmp = packed_data(ipack)
14778 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
14779 2203772 : pack_tmp = ISHFT(pack_tmp, -15)
14780 2203772 : idata = idata + 1
14781 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14782 2203772 : full_data(idata) = data_tmp
14783 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14784 2203772 : idata = idata + 1
14785 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14786 2203772 : full_data(idata) = data_tmp
14787 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14788 2203772 : idata = idata + 1
14789 2203772 : data_tmp = ISHFT(pack_tmp, 14)
14790 2203772 : ipack = ipack + 1
14791 2203772 : pack_tmp = packed_data(ipack)
14792 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
14793 2203772 : pack_tmp = ISHFT(pack_tmp, -14)
14794 2203772 : idata = idata + 1
14795 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14796 2203772 : full_data(idata) = data_tmp
14797 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14798 2203772 : idata = idata + 1
14799 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14800 2203772 : full_data(idata) = data_tmp
14801 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14802 2203772 : idata = idata + 1
14803 2203772 : data_tmp = ISHFT(pack_tmp, 13)
14804 2203772 : ipack = ipack + 1
14805 2203772 : pack_tmp = packed_data(ipack)
14806 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
14807 2203772 : pack_tmp = ISHFT(pack_tmp, -13)
14808 2203772 : idata = idata + 1
14809 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14810 2203772 : full_data(idata) = data_tmp
14811 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14812 2203772 : idata = idata + 1
14813 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14814 2203772 : full_data(idata) = data_tmp
14815 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14816 2203772 : idata = idata + 1
14817 2203772 : data_tmp = ISHFT(pack_tmp, 12)
14818 2203772 : ipack = ipack + 1
14819 2203772 : pack_tmp = packed_data(ipack)
14820 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14821 2203772 : pack_tmp = ISHFT(pack_tmp, -12)
14822 2203772 : idata = idata + 1
14823 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14824 2203772 : full_data(idata) = data_tmp
14825 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14826 2203772 : idata = idata + 1
14827 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14828 2203772 : full_data(idata) = data_tmp
14829 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14830 2203772 : idata = idata + 1
14831 2203772 : data_tmp = ISHFT(pack_tmp, 11)
14832 2203772 : ipack = ipack + 1
14833 2203772 : pack_tmp = packed_data(ipack)
14834 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
14835 2203772 : pack_tmp = ISHFT(pack_tmp, -11)
14836 2203772 : idata = idata + 1
14837 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14838 2203772 : full_data(idata) = data_tmp
14839 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14840 2203772 : idata = idata + 1
14841 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14842 2203772 : full_data(idata) = data_tmp
14843 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14844 2203772 : idata = idata + 1
14845 2203772 : data_tmp = ISHFT(pack_tmp, 10)
14846 2203772 : ipack = ipack + 1
14847 2203772 : pack_tmp = packed_data(ipack)
14848 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
14849 2203772 : pack_tmp = ISHFT(pack_tmp, -10)
14850 2203772 : idata = idata + 1
14851 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14852 2203772 : full_data(idata) = data_tmp
14853 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14854 2203772 : idata = idata + 1
14855 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14856 2203772 : full_data(idata) = data_tmp
14857 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14858 2203772 : idata = idata + 1
14859 2203772 : data_tmp = ISHFT(pack_tmp, 9)
14860 2203772 : ipack = ipack + 1
14861 2203772 : pack_tmp = packed_data(ipack)
14862 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
14863 2203772 : pack_tmp = ISHFT(pack_tmp, -9)
14864 2203772 : idata = idata + 1
14865 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14866 2203772 : full_data(idata) = data_tmp
14867 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14868 2203772 : idata = idata + 1
14869 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14870 2203772 : full_data(idata) = data_tmp
14871 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14872 2203772 : idata = idata + 1
14873 2203772 : data_tmp = ISHFT(pack_tmp, 8)
14874 2203772 : ipack = ipack + 1
14875 2203772 : pack_tmp = packed_data(ipack)
14876 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14877 2203772 : pack_tmp = ISHFT(pack_tmp, -8)
14878 2203772 : idata = idata + 1
14879 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14880 2203772 : full_data(idata) = data_tmp
14881 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14882 2203772 : idata = idata + 1
14883 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14884 2203772 : full_data(idata) = data_tmp
14885 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14886 2203772 : idata = idata + 1
14887 2203772 : data_tmp = ISHFT(pack_tmp, 7)
14888 2203772 : ipack = ipack + 1
14889 2203772 : pack_tmp = packed_data(ipack)
14890 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
14891 2203772 : pack_tmp = ISHFT(pack_tmp, -7)
14892 2203772 : idata = idata + 1
14893 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14894 2203772 : full_data(idata) = data_tmp
14895 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14896 2203772 : idata = idata + 1
14897 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14898 2203772 : full_data(idata) = data_tmp
14899 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14900 2203772 : idata = idata + 1
14901 2203772 : data_tmp = ISHFT(pack_tmp, 6)
14902 2203772 : ipack = ipack + 1
14903 2203772 : pack_tmp = packed_data(ipack)
14904 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
14905 2203772 : pack_tmp = ISHFT(pack_tmp, -6)
14906 2203772 : idata = idata + 1
14907 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14908 2203772 : full_data(idata) = data_tmp
14909 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14910 2203772 : idata = idata + 1
14911 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14912 2203772 : full_data(idata) = data_tmp
14913 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14914 2203772 : idata = idata + 1
14915 2203772 : data_tmp = ISHFT(pack_tmp, 5)
14916 2203772 : ipack = ipack + 1
14917 2203772 : pack_tmp = packed_data(ipack)
14918 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
14919 2203772 : pack_tmp = ISHFT(pack_tmp, -5)
14920 2203772 : idata = idata + 1
14921 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14922 2203772 : full_data(idata) = data_tmp
14923 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14924 2203772 : idata = idata + 1
14925 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14926 2203772 : full_data(idata) = data_tmp
14927 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14928 2203772 : idata = idata + 1
14929 2203772 : data_tmp = ISHFT(pack_tmp, 4)
14930 2203772 : ipack = ipack + 1
14931 2203772 : pack_tmp = packed_data(ipack)
14932 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14933 2203772 : pack_tmp = ISHFT(pack_tmp, -4)
14934 2203772 : idata = idata + 1
14935 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14936 2203772 : full_data(idata) = data_tmp
14937 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14938 2203772 : idata = idata + 1
14939 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14940 2203772 : full_data(idata) = data_tmp
14941 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14942 2203772 : idata = idata + 1
14943 2203772 : data_tmp = ISHFT(pack_tmp, 3)
14944 2203772 : ipack = ipack + 1
14945 2203772 : pack_tmp = packed_data(ipack)
14946 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
14947 2203772 : pack_tmp = ISHFT(pack_tmp, -3)
14948 2203772 : idata = idata + 1
14949 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14950 2203772 : full_data(idata) = data_tmp
14951 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14952 2203772 : idata = idata + 1
14953 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14954 2203772 : full_data(idata) = data_tmp
14955 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14956 2203772 : idata = idata + 1
14957 2203772 : data_tmp = ISHFT(pack_tmp, 2)
14958 2203772 : ipack = ipack + 1
14959 2203772 : pack_tmp = packed_data(ipack)
14960 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
14961 2203772 : pack_tmp = ISHFT(pack_tmp, -2)
14962 2203772 : idata = idata + 1
14963 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14964 2203772 : full_data(idata) = data_tmp
14965 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14966 2203772 : idata = idata + 1
14967 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14968 2203772 : full_data(idata) = data_tmp
14969 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14970 2203772 : idata = idata + 1
14971 2203772 : data_tmp = ISHFT(pack_tmp, 1)
14972 2203772 : ipack = ipack + 1
14973 2203772 : pack_tmp = packed_data(ipack)
14974 2203772 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
14975 2203772 : pack_tmp = ISHFT(pack_tmp, -1)
14976 2203772 : idata = idata + 1
14977 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14978 2203772 : full_data(idata) = data_tmp
14979 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14980 2203772 : idata = idata + 1
14981 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14982 2203772 : full_data(idata) = data_tmp
14983 2203772 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14984 2203772 : idata = idata + 1
14985 2203772 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14986 2203772 : full_data(idata) = data_tmp
14987 2207195 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14988 : END DO
14989 150592 : 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 150592 : END SUBROUTINE bits2ints_21
14993 :
14994 : ! **************************************************************************************************
14995 : !> \brief ...
14996 : !> \param Ndata ...
14997 : !> \param packed_data ...
14998 : !> \param full_data ...
14999 : ! **************************************************************************************************
15000 29277 : 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 29277 : idata = 0
15011 29277 : ipack = 0
15012 29277 : Ndata_rep = (Ndata/64)*64
15013 29277 : DO kdata = 1, Ndata_rep, 64
15014 444496 : pack_tmp = 0
15015 444496 : idata = idata + 1
15016 444496 : data_tmp = full_data(idata)
15017 444496 : data_tmp = ISHFT(data_tmp, 42)
15018 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15019 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15020 444496 : idata = idata + 1
15021 444496 : data_tmp = full_data(idata)
15022 444496 : data_tmp = ISHFT(data_tmp, 42)
15023 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15024 444496 : pack_tmp = ISHFT(pack_tmp, -20)
15025 444496 : idata = idata + 1
15026 444496 : data_tmp = full_data(idata)
15027 444496 : data_tmp = ISHFT(data_tmp, 42)
15028 444496 : data_tmp = IAND(data_tmp, mask_left(20))
15029 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15030 444496 : ipack = ipack + 1
15031 444496 : packed_data(ipack) = pack_tmp
15032 444496 : data_tmp = full_data(idata)
15033 444496 : pack_tmp = ISHFT(data_tmp, 62)
15034 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15035 444496 : idata = idata + 1
15036 444496 : data_tmp = full_data(idata)
15037 444496 : data_tmp = ISHFT(data_tmp, 42)
15038 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15039 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15040 444496 : idata = idata + 1
15041 444496 : data_tmp = full_data(idata)
15042 444496 : data_tmp = ISHFT(data_tmp, 42)
15043 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15044 444496 : pack_tmp = ISHFT(pack_tmp, -18)
15045 444496 : idata = idata + 1
15046 444496 : data_tmp = full_data(idata)
15047 444496 : data_tmp = ISHFT(data_tmp, 42)
15048 444496 : data_tmp = IAND(data_tmp, mask_left(18))
15049 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15050 444496 : ipack = ipack + 1
15051 444496 : packed_data(ipack) = pack_tmp
15052 444496 : data_tmp = full_data(idata)
15053 444496 : pack_tmp = ISHFT(data_tmp, 60)
15054 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15055 444496 : idata = idata + 1
15056 444496 : data_tmp = full_data(idata)
15057 444496 : data_tmp = ISHFT(data_tmp, 42)
15058 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15059 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15060 444496 : idata = idata + 1
15061 444496 : data_tmp = full_data(idata)
15062 444496 : data_tmp = ISHFT(data_tmp, 42)
15063 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15064 444496 : pack_tmp = ISHFT(pack_tmp, -16)
15065 444496 : idata = idata + 1
15066 444496 : data_tmp = full_data(idata)
15067 444496 : data_tmp = ISHFT(data_tmp, 42)
15068 444496 : data_tmp = IAND(data_tmp, mask_left(16))
15069 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15070 444496 : ipack = ipack + 1
15071 444496 : packed_data(ipack) = pack_tmp
15072 444496 : data_tmp = full_data(idata)
15073 444496 : pack_tmp = ISHFT(data_tmp, 58)
15074 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15075 444496 : idata = idata + 1
15076 444496 : data_tmp = full_data(idata)
15077 444496 : data_tmp = ISHFT(data_tmp, 42)
15078 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15079 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15080 444496 : idata = idata + 1
15081 444496 : data_tmp = full_data(idata)
15082 444496 : data_tmp = ISHFT(data_tmp, 42)
15083 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15084 444496 : pack_tmp = ISHFT(pack_tmp, -14)
15085 444496 : idata = idata + 1
15086 444496 : data_tmp = full_data(idata)
15087 444496 : data_tmp = ISHFT(data_tmp, 42)
15088 444496 : data_tmp = IAND(data_tmp, mask_left(14))
15089 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15090 444496 : ipack = ipack + 1
15091 444496 : packed_data(ipack) = pack_tmp
15092 444496 : data_tmp = full_data(idata)
15093 444496 : pack_tmp = ISHFT(data_tmp, 56)
15094 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15095 444496 : idata = idata + 1
15096 444496 : data_tmp = full_data(idata)
15097 444496 : data_tmp = ISHFT(data_tmp, 42)
15098 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15099 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15100 444496 : idata = idata + 1
15101 444496 : data_tmp = full_data(idata)
15102 444496 : data_tmp = ISHFT(data_tmp, 42)
15103 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15104 444496 : pack_tmp = ISHFT(pack_tmp, -12)
15105 444496 : idata = idata + 1
15106 444496 : data_tmp = full_data(idata)
15107 444496 : data_tmp = ISHFT(data_tmp, 42)
15108 444496 : data_tmp = IAND(data_tmp, mask_left(12))
15109 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15110 444496 : ipack = ipack + 1
15111 444496 : packed_data(ipack) = pack_tmp
15112 444496 : data_tmp = full_data(idata)
15113 444496 : pack_tmp = ISHFT(data_tmp, 54)
15114 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15115 444496 : idata = idata + 1
15116 444496 : data_tmp = full_data(idata)
15117 444496 : data_tmp = ISHFT(data_tmp, 42)
15118 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15119 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15120 444496 : idata = idata + 1
15121 444496 : data_tmp = full_data(idata)
15122 444496 : data_tmp = ISHFT(data_tmp, 42)
15123 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15124 444496 : pack_tmp = ISHFT(pack_tmp, -10)
15125 444496 : idata = idata + 1
15126 444496 : data_tmp = full_data(idata)
15127 444496 : data_tmp = ISHFT(data_tmp, 42)
15128 444496 : data_tmp = IAND(data_tmp, mask_left(10))
15129 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15130 444496 : ipack = ipack + 1
15131 444496 : packed_data(ipack) = pack_tmp
15132 444496 : data_tmp = full_data(idata)
15133 444496 : pack_tmp = ISHFT(data_tmp, 52)
15134 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15135 444496 : idata = idata + 1
15136 444496 : data_tmp = full_data(idata)
15137 444496 : data_tmp = ISHFT(data_tmp, 42)
15138 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15139 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15140 444496 : idata = idata + 1
15141 444496 : data_tmp = full_data(idata)
15142 444496 : data_tmp = ISHFT(data_tmp, 42)
15143 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15144 444496 : pack_tmp = ISHFT(pack_tmp, -8)
15145 444496 : idata = idata + 1
15146 444496 : data_tmp = full_data(idata)
15147 444496 : data_tmp = ISHFT(data_tmp, 42)
15148 444496 : data_tmp = IAND(data_tmp, mask_left(8))
15149 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15150 444496 : ipack = ipack + 1
15151 444496 : packed_data(ipack) = pack_tmp
15152 444496 : data_tmp = full_data(idata)
15153 444496 : pack_tmp = ISHFT(data_tmp, 50)
15154 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15155 444496 : idata = idata + 1
15156 444496 : data_tmp = full_data(idata)
15157 444496 : data_tmp = ISHFT(data_tmp, 42)
15158 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15159 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15160 444496 : idata = idata + 1
15161 444496 : data_tmp = full_data(idata)
15162 444496 : data_tmp = ISHFT(data_tmp, 42)
15163 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15164 444496 : pack_tmp = ISHFT(pack_tmp, -6)
15165 444496 : idata = idata + 1
15166 444496 : data_tmp = full_data(idata)
15167 444496 : data_tmp = ISHFT(data_tmp, 42)
15168 444496 : data_tmp = IAND(data_tmp, mask_left(6))
15169 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15170 444496 : ipack = ipack + 1
15171 444496 : packed_data(ipack) = pack_tmp
15172 444496 : data_tmp = full_data(idata)
15173 444496 : pack_tmp = ISHFT(data_tmp, 48)
15174 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15175 444496 : idata = idata + 1
15176 444496 : data_tmp = full_data(idata)
15177 444496 : data_tmp = ISHFT(data_tmp, 42)
15178 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15179 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15180 444496 : idata = idata + 1
15181 444496 : data_tmp = full_data(idata)
15182 444496 : data_tmp = ISHFT(data_tmp, 42)
15183 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15184 444496 : pack_tmp = ISHFT(pack_tmp, -4)
15185 444496 : idata = idata + 1
15186 444496 : data_tmp = full_data(idata)
15187 444496 : data_tmp = ISHFT(data_tmp, 42)
15188 444496 : data_tmp = IAND(data_tmp, mask_left(4))
15189 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15190 444496 : ipack = ipack + 1
15191 444496 : packed_data(ipack) = pack_tmp
15192 444496 : data_tmp = full_data(idata)
15193 444496 : pack_tmp = ISHFT(data_tmp, 46)
15194 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15195 444496 : idata = idata + 1
15196 444496 : data_tmp = full_data(idata)
15197 444496 : data_tmp = ISHFT(data_tmp, 42)
15198 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15199 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15200 444496 : idata = idata + 1
15201 444496 : data_tmp = full_data(idata)
15202 444496 : data_tmp = ISHFT(data_tmp, 42)
15203 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15204 444496 : pack_tmp = ISHFT(pack_tmp, -2)
15205 444496 : idata = idata + 1
15206 444496 : data_tmp = full_data(idata)
15207 444496 : data_tmp = ISHFT(data_tmp, 42)
15208 444496 : data_tmp = IAND(data_tmp, mask_left(2))
15209 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15210 444496 : ipack = ipack + 1
15211 444496 : packed_data(ipack) = pack_tmp
15212 444496 : data_tmp = full_data(idata)
15213 444496 : pack_tmp = ISHFT(data_tmp, 44)
15214 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15215 444496 : idata = idata + 1
15216 444496 : data_tmp = full_data(idata)
15217 444496 : data_tmp = ISHFT(data_tmp, 42)
15218 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15219 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15220 444496 : idata = idata + 1
15221 444496 : data_tmp = full_data(idata)
15222 444496 : data_tmp = ISHFT(data_tmp, 42)
15223 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15224 444496 : pack_tmp = ISHFT(pack_tmp, 0)
15225 444496 : idata = idata + 1
15226 444496 : data_tmp = full_data(idata)
15227 : data_tmp = ISHFT(data_tmp, 42)
15228 444496 : data_tmp = IAND(data_tmp, mask_left(0))
15229 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15230 444496 : ipack = ipack + 1
15231 444496 : packed_data(ipack) = pack_tmp
15232 444496 : data_tmp = full_data(idata)
15233 444496 : pack_tmp = ISHFT(data_tmp, 42)
15234 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15235 444496 : idata = idata + 1
15236 444496 : data_tmp = full_data(idata)
15237 444496 : data_tmp = ISHFT(data_tmp, 42)
15238 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15239 444496 : pack_tmp = ISHFT(pack_tmp, -20)
15240 444496 : idata = idata + 1
15241 444496 : data_tmp = full_data(idata)
15242 444496 : data_tmp = ISHFT(data_tmp, 42)
15243 444496 : data_tmp = IAND(data_tmp, mask_left(20))
15244 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15245 444496 : ipack = ipack + 1
15246 444496 : packed_data(ipack) = pack_tmp
15247 444496 : data_tmp = full_data(idata)
15248 444496 : pack_tmp = ISHFT(data_tmp, 62)
15249 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15250 444496 : idata = idata + 1
15251 444496 : data_tmp = full_data(idata)
15252 444496 : data_tmp = ISHFT(data_tmp, 42)
15253 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15254 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15255 444496 : idata = idata + 1
15256 444496 : data_tmp = full_data(idata)
15257 444496 : data_tmp = ISHFT(data_tmp, 42)
15258 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15259 444496 : pack_tmp = ISHFT(pack_tmp, -18)
15260 444496 : idata = idata + 1
15261 444496 : data_tmp = full_data(idata)
15262 444496 : data_tmp = ISHFT(data_tmp, 42)
15263 444496 : data_tmp = IAND(data_tmp, mask_left(18))
15264 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15265 444496 : ipack = ipack + 1
15266 444496 : packed_data(ipack) = pack_tmp
15267 444496 : data_tmp = full_data(idata)
15268 444496 : pack_tmp = ISHFT(data_tmp, 60)
15269 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15270 444496 : idata = idata + 1
15271 444496 : data_tmp = full_data(idata)
15272 444496 : data_tmp = ISHFT(data_tmp, 42)
15273 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15274 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15275 444496 : idata = idata + 1
15276 444496 : data_tmp = full_data(idata)
15277 444496 : data_tmp = ISHFT(data_tmp, 42)
15278 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15279 444496 : pack_tmp = ISHFT(pack_tmp, -16)
15280 444496 : idata = idata + 1
15281 444496 : data_tmp = full_data(idata)
15282 444496 : data_tmp = ISHFT(data_tmp, 42)
15283 444496 : data_tmp = IAND(data_tmp, mask_left(16))
15284 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15285 444496 : ipack = ipack + 1
15286 444496 : packed_data(ipack) = pack_tmp
15287 444496 : data_tmp = full_data(idata)
15288 444496 : pack_tmp = ISHFT(data_tmp, 58)
15289 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15290 444496 : idata = idata + 1
15291 444496 : data_tmp = full_data(idata)
15292 444496 : data_tmp = ISHFT(data_tmp, 42)
15293 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15294 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15295 444496 : idata = idata + 1
15296 444496 : data_tmp = full_data(idata)
15297 444496 : data_tmp = ISHFT(data_tmp, 42)
15298 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15299 444496 : pack_tmp = ISHFT(pack_tmp, -14)
15300 444496 : idata = idata + 1
15301 444496 : data_tmp = full_data(idata)
15302 444496 : data_tmp = ISHFT(data_tmp, 42)
15303 444496 : data_tmp = IAND(data_tmp, mask_left(14))
15304 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15305 444496 : ipack = ipack + 1
15306 444496 : packed_data(ipack) = pack_tmp
15307 444496 : data_tmp = full_data(idata)
15308 444496 : pack_tmp = ISHFT(data_tmp, 56)
15309 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15310 444496 : idata = idata + 1
15311 444496 : data_tmp = full_data(idata)
15312 444496 : data_tmp = ISHFT(data_tmp, 42)
15313 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15314 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15315 444496 : idata = idata + 1
15316 444496 : data_tmp = full_data(idata)
15317 444496 : data_tmp = ISHFT(data_tmp, 42)
15318 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15319 444496 : pack_tmp = ISHFT(pack_tmp, -12)
15320 444496 : idata = idata + 1
15321 444496 : data_tmp = full_data(idata)
15322 444496 : data_tmp = ISHFT(data_tmp, 42)
15323 444496 : data_tmp = IAND(data_tmp, mask_left(12))
15324 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15325 444496 : ipack = ipack + 1
15326 444496 : packed_data(ipack) = pack_tmp
15327 444496 : data_tmp = full_data(idata)
15328 444496 : pack_tmp = ISHFT(data_tmp, 54)
15329 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15330 444496 : idata = idata + 1
15331 444496 : data_tmp = full_data(idata)
15332 444496 : data_tmp = ISHFT(data_tmp, 42)
15333 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15334 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15335 444496 : idata = idata + 1
15336 444496 : data_tmp = full_data(idata)
15337 444496 : data_tmp = ISHFT(data_tmp, 42)
15338 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15339 444496 : pack_tmp = ISHFT(pack_tmp, -10)
15340 444496 : idata = idata + 1
15341 444496 : data_tmp = full_data(idata)
15342 444496 : data_tmp = ISHFT(data_tmp, 42)
15343 444496 : data_tmp = IAND(data_tmp, mask_left(10))
15344 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15345 444496 : ipack = ipack + 1
15346 444496 : packed_data(ipack) = pack_tmp
15347 444496 : data_tmp = full_data(idata)
15348 444496 : pack_tmp = ISHFT(data_tmp, 52)
15349 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15350 444496 : idata = idata + 1
15351 444496 : data_tmp = full_data(idata)
15352 444496 : data_tmp = ISHFT(data_tmp, 42)
15353 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15354 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15355 444496 : idata = idata + 1
15356 444496 : data_tmp = full_data(idata)
15357 444496 : data_tmp = ISHFT(data_tmp, 42)
15358 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15359 444496 : pack_tmp = ISHFT(pack_tmp, -8)
15360 444496 : idata = idata + 1
15361 444496 : data_tmp = full_data(idata)
15362 444496 : data_tmp = ISHFT(data_tmp, 42)
15363 444496 : data_tmp = IAND(data_tmp, mask_left(8))
15364 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15365 444496 : ipack = ipack + 1
15366 444496 : packed_data(ipack) = pack_tmp
15367 444496 : data_tmp = full_data(idata)
15368 444496 : pack_tmp = ISHFT(data_tmp, 50)
15369 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15370 444496 : idata = idata + 1
15371 444496 : data_tmp = full_data(idata)
15372 444496 : data_tmp = ISHFT(data_tmp, 42)
15373 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15374 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15375 444496 : idata = idata + 1
15376 444496 : data_tmp = full_data(idata)
15377 444496 : data_tmp = ISHFT(data_tmp, 42)
15378 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15379 444496 : pack_tmp = ISHFT(pack_tmp, -6)
15380 444496 : idata = idata + 1
15381 444496 : data_tmp = full_data(idata)
15382 444496 : data_tmp = ISHFT(data_tmp, 42)
15383 444496 : data_tmp = IAND(data_tmp, mask_left(6))
15384 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15385 444496 : ipack = ipack + 1
15386 444496 : packed_data(ipack) = pack_tmp
15387 444496 : data_tmp = full_data(idata)
15388 444496 : pack_tmp = ISHFT(data_tmp, 48)
15389 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15390 444496 : idata = idata + 1
15391 444496 : data_tmp = full_data(idata)
15392 444496 : data_tmp = ISHFT(data_tmp, 42)
15393 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15394 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15395 444496 : idata = idata + 1
15396 444496 : data_tmp = full_data(idata)
15397 444496 : data_tmp = ISHFT(data_tmp, 42)
15398 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15399 444496 : pack_tmp = ISHFT(pack_tmp, -4)
15400 444496 : idata = idata + 1
15401 444496 : data_tmp = full_data(idata)
15402 444496 : data_tmp = ISHFT(data_tmp, 42)
15403 444496 : data_tmp = IAND(data_tmp, mask_left(4))
15404 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15405 444496 : ipack = ipack + 1
15406 444496 : packed_data(ipack) = pack_tmp
15407 444496 : data_tmp = full_data(idata)
15408 444496 : pack_tmp = ISHFT(data_tmp, 46)
15409 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15410 444496 : idata = idata + 1
15411 444496 : data_tmp = full_data(idata)
15412 444496 : data_tmp = ISHFT(data_tmp, 42)
15413 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15414 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15415 444496 : idata = idata + 1
15416 444496 : data_tmp = full_data(idata)
15417 444496 : data_tmp = ISHFT(data_tmp, 42)
15418 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15419 444496 : pack_tmp = ISHFT(pack_tmp, -2)
15420 444496 : idata = idata + 1
15421 444496 : data_tmp = full_data(idata)
15422 444496 : data_tmp = ISHFT(data_tmp, 42)
15423 444496 : data_tmp = IAND(data_tmp, mask_left(2))
15424 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15425 444496 : ipack = ipack + 1
15426 444496 : packed_data(ipack) = pack_tmp
15427 444496 : data_tmp = full_data(idata)
15428 444496 : pack_tmp = ISHFT(data_tmp, 44)
15429 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15430 444496 : idata = idata + 1
15431 444496 : data_tmp = full_data(idata)
15432 444496 : data_tmp = ISHFT(data_tmp, 42)
15433 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15434 444496 : pack_tmp = ISHFT(pack_tmp, -22)
15435 444496 : idata = idata + 1
15436 444496 : data_tmp = full_data(idata)
15437 444496 : data_tmp = ISHFT(data_tmp, 42)
15438 444496 : pack_tmp = IOR(pack_tmp, data_tmp)
15439 : pack_tmp = ISHFT(pack_tmp, 0)
15440 444496 : pack_tmp = ISHFT(pack_tmp, 0)
15441 444496 : ipack = ipack + 1
15442 444603 : packed_data(ipack) = pack_tmp
15443 : END DO
15444 29277 : IF (Ndata_rep < Ndata) THEN
15445 2816 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15446 : END IF
15447 29277 : END SUBROUTINE ints2bits_22
15448 :
15449 : ! **************************************************************************************************
15450 : !> \brief ...
15451 : !> \param Ndata ...
15452 : !> \param packed_data ...
15453 : !> \param full_data ...
15454 : ! **************************************************************************************************
15455 150345 : 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 150345 : ipack = 0
15466 150345 : idata = 0
15467 150345 : pack_tmp = 0
15468 150345 : Ndata_rep = (Ndata/64)*64
15469 150345 : DO kdata = 1, Ndata_rep, 64
15470 2177448 : idata = idata + 1
15471 2177448 : data_tmp = ISHFT(pack_tmp, 22)
15472 2177448 : ipack = ipack + 1
15473 2177448 : pack_tmp = packed_data(ipack)
15474 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15475 2177448 : pack_tmp = ISHFT(pack_tmp, -22)
15476 2177448 : idata = idata + 1
15477 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15478 2177448 : full_data(idata) = data_tmp
15479 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15480 2177448 : idata = idata + 1
15481 2177448 : data_tmp = ISHFT(pack_tmp, 2)
15482 2177448 : ipack = ipack + 1
15483 2177448 : pack_tmp = packed_data(ipack)
15484 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15485 2177448 : pack_tmp = ISHFT(pack_tmp, -2)
15486 2177448 : idata = idata + 1
15487 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15488 2177448 : full_data(idata) = data_tmp
15489 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15490 2177448 : idata = idata + 1
15491 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15492 2177448 : full_data(idata) = data_tmp
15493 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15494 2177448 : idata = idata + 1
15495 2177448 : data_tmp = ISHFT(pack_tmp, 4)
15496 2177448 : ipack = ipack + 1
15497 2177448 : pack_tmp = packed_data(ipack)
15498 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15499 2177448 : pack_tmp = ISHFT(pack_tmp, -4)
15500 2177448 : idata = idata + 1
15501 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15502 2177448 : full_data(idata) = data_tmp
15503 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15504 2177448 : idata = idata + 1
15505 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15506 2177448 : full_data(idata) = data_tmp
15507 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15508 2177448 : idata = idata + 1
15509 2177448 : data_tmp = ISHFT(pack_tmp, 6)
15510 2177448 : ipack = ipack + 1
15511 2177448 : pack_tmp = packed_data(ipack)
15512 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15513 2177448 : pack_tmp = ISHFT(pack_tmp, -6)
15514 2177448 : idata = idata + 1
15515 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15516 2177448 : full_data(idata) = data_tmp
15517 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15518 2177448 : idata = idata + 1
15519 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15520 2177448 : full_data(idata) = data_tmp
15521 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15522 2177448 : idata = idata + 1
15523 2177448 : data_tmp = ISHFT(pack_tmp, 8)
15524 2177448 : ipack = ipack + 1
15525 2177448 : pack_tmp = packed_data(ipack)
15526 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15527 2177448 : pack_tmp = ISHFT(pack_tmp, -8)
15528 2177448 : idata = idata + 1
15529 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15530 2177448 : full_data(idata) = data_tmp
15531 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15532 2177448 : idata = idata + 1
15533 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15534 2177448 : full_data(idata) = data_tmp
15535 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15536 2177448 : idata = idata + 1
15537 2177448 : data_tmp = ISHFT(pack_tmp, 10)
15538 2177448 : ipack = ipack + 1
15539 2177448 : pack_tmp = packed_data(ipack)
15540 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15541 2177448 : pack_tmp = ISHFT(pack_tmp, -10)
15542 2177448 : idata = idata + 1
15543 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15544 2177448 : full_data(idata) = data_tmp
15545 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15546 2177448 : idata = idata + 1
15547 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15548 2177448 : full_data(idata) = data_tmp
15549 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15550 2177448 : idata = idata + 1
15551 2177448 : data_tmp = ISHFT(pack_tmp, 12)
15552 2177448 : ipack = ipack + 1
15553 2177448 : pack_tmp = packed_data(ipack)
15554 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15555 2177448 : pack_tmp = ISHFT(pack_tmp, -12)
15556 2177448 : idata = idata + 1
15557 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15558 2177448 : full_data(idata) = data_tmp
15559 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15560 2177448 : idata = idata + 1
15561 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15562 2177448 : full_data(idata) = data_tmp
15563 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15564 2177448 : idata = idata + 1
15565 2177448 : data_tmp = ISHFT(pack_tmp, 14)
15566 2177448 : ipack = ipack + 1
15567 2177448 : pack_tmp = packed_data(ipack)
15568 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15569 2177448 : pack_tmp = ISHFT(pack_tmp, -14)
15570 2177448 : idata = idata + 1
15571 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15572 2177448 : full_data(idata) = data_tmp
15573 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15574 2177448 : idata = idata + 1
15575 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15576 2177448 : full_data(idata) = data_tmp
15577 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15578 2177448 : idata = idata + 1
15579 2177448 : data_tmp = ISHFT(pack_tmp, 16)
15580 2177448 : ipack = ipack + 1
15581 2177448 : pack_tmp = packed_data(ipack)
15582 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15583 2177448 : pack_tmp = ISHFT(pack_tmp, -16)
15584 2177448 : idata = idata + 1
15585 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15586 2177448 : full_data(idata) = data_tmp
15587 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15588 2177448 : idata = idata + 1
15589 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15590 2177448 : full_data(idata) = data_tmp
15591 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15592 2177448 : idata = idata + 1
15593 2177448 : data_tmp = ISHFT(pack_tmp, 18)
15594 2177448 : ipack = ipack + 1
15595 2177448 : pack_tmp = packed_data(ipack)
15596 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15597 2177448 : pack_tmp = ISHFT(pack_tmp, -18)
15598 2177448 : idata = idata + 1
15599 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15600 2177448 : full_data(idata) = data_tmp
15601 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15602 2177448 : idata = idata + 1
15603 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15604 2177448 : full_data(idata) = data_tmp
15605 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15606 2177448 : idata = idata + 1
15607 2177448 : data_tmp = ISHFT(pack_tmp, 20)
15608 2177448 : ipack = ipack + 1
15609 2177448 : pack_tmp = packed_data(ipack)
15610 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15611 2177448 : pack_tmp = ISHFT(pack_tmp, -20)
15612 2177448 : idata = idata + 1
15613 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15614 2177448 : full_data(idata) = data_tmp
15615 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15616 2177448 : idata = idata + 1
15617 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15618 2177448 : full_data(idata) = data_tmp
15619 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15620 2177448 : idata = idata + 1
15621 2177448 : data_tmp = ISHFT(pack_tmp, 22)
15622 2177448 : ipack = ipack + 1
15623 2177448 : pack_tmp = packed_data(ipack)
15624 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15625 2177448 : pack_tmp = ISHFT(pack_tmp, -22)
15626 2177448 : idata = idata + 1
15627 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15628 2177448 : full_data(idata) = data_tmp
15629 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15630 2177448 : idata = idata + 1
15631 2177448 : data_tmp = ISHFT(pack_tmp, 2)
15632 2177448 : ipack = ipack + 1
15633 2177448 : pack_tmp = packed_data(ipack)
15634 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15635 2177448 : pack_tmp = ISHFT(pack_tmp, -2)
15636 2177448 : idata = idata + 1
15637 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15638 2177448 : full_data(idata) = data_tmp
15639 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15640 2177448 : idata = idata + 1
15641 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15642 2177448 : full_data(idata) = data_tmp
15643 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15644 2177448 : idata = idata + 1
15645 2177448 : data_tmp = ISHFT(pack_tmp, 4)
15646 2177448 : ipack = ipack + 1
15647 2177448 : pack_tmp = packed_data(ipack)
15648 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15649 2177448 : pack_tmp = ISHFT(pack_tmp, -4)
15650 2177448 : idata = idata + 1
15651 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15652 2177448 : full_data(idata) = data_tmp
15653 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15654 2177448 : idata = idata + 1
15655 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15656 2177448 : full_data(idata) = data_tmp
15657 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15658 2177448 : idata = idata + 1
15659 2177448 : data_tmp = ISHFT(pack_tmp, 6)
15660 2177448 : ipack = ipack + 1
15661 2177448 : pack_tmp = packed_data(ipack)
15662 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15663 2177448 : pack_tmp = ISHFT(pack_tmp, -6)
15664 2177448 : idata = idata + 1
15665 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15666 2177448 : full_data(idata) = data_tmp
15667 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15668 2177448 : idata = idata + 1
15669 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15670 2177448 : full_data(idata) = data_tmp
15671 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15672 2177448 : idata = idata + 1
15673 2177448 : data_tmp = ISHFT(pack_tmp, 8)
15674 2177448 : ipack = ipack + 1
15675 2177448 : pack_tmp = packed_data(ipack)
15676 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15677 2177448 : pack_tmp = ISHFT(pack_tmp, -8)
15678 2177448 : idata = idata + 1
15679 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15680 2177448 : full_data(idata) = data_tmp
15681 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15682 2177448 : idata = idata + 1
15683 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15684 2177448 : full_data(idata) = data_tmp
15685 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15686 2177448 : idata = idata + 1
15687 2177448 : data_tmp = ISHFT(pack_tmp, 10)
15688 2177448 : ipack = ipack + 1
15689 2177448 : pack_tmp = packed_data(ipack)
15690 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15691 2177448 : pack_tmp = ISHFT(pack_tmp, -10)
15692 2177448 : idata = idata + 1
15693 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15694 2177448 : full_data(idata) = data_tmp
15695 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15696 2177448 : idata = idata + 1
15697 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15698 2177448 : full_data(idata) = data_tmp
15699 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15700 2177448 : idata = idata + 1
15701 2177448 : data_tmp = ISHFT(pack_tmp, 12)
15702 2177448 : ipack = ipack + 1
15703 2177448 : pack_tmp = packed_data(ipack)
15704 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15705 2177448 : pack_tmp = ISHFT(pack_tmp, -12)
15706 2177448 : idata = idata + 1
15707 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15708 2177448 : full_data(idata) = data_tmp
15709 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15710 2177448 : idata = idata + 1
15711 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15712 2177448 : full_data(idata) = data_tmp
15713 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15714 2177448 : idata = idata + 1
15715 2177448 : data_tmp = ISHFT(pack_tmp, 14)
15716 2177448 : ipack = ipack + 1
15717 2177448 : pack_tmp = packed_data(ipack)
15718 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15719 2177448 : pack_tmp = ISHFT(pack_tmp, -14)
15720 2177448 : idata = idata + 1
15721 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15722 2177448 : full_data(idata) = data_tmp
15723 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15724 2177448 : idata = idata + 1
15725 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15726 2177448 : full_data(idata) = data_tmp
15727 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15728 2177448 : idata = idata + 1
15729 2177448 : data_tmp = ISHFT(pack_tmp, 16)
15730 2177448 : ipack = ipack + 1
15731 2177448 : pack_tmp = packed_data(ipack)
15732 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15733 2177448 : pack_tmp = ISHFT(pack_tmp, -16)
15734 2177448 : idata = idata + 1
15735 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15736 2177448 : full_data(idata) = data_tmp
15737 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15738 2177448 : idata = idata + 1
15739 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15740 2177448 : full_data(idata) = data_tmp
15741 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15742 2177448 : idata = idata + 1
15743 2177448 : data_tmp = ISHFT(pack_tmp, 18)
15744 2177448 : ipack = ipack + 1
15745 2177448 : pack_tmp = packed_data(ipack)
15746 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15747 2177448 : pack_tmp = ISHFT(pack_tmp, -18)
15748 2177448 : idata = idata + 1
15749 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15750 2177448 : full_data(idata) = data_tmp
15751 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15752 2177448 : idata = idata + 1
15753 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15754 2177448 : full_data(idata) = data_tmp
15755 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15756 2177448 : idata = idata + 1
15757 2177448 : data_tmp = ISHFT(pack_tmp, 20)
15758 2177448 : ipack = ipack + 1
15759 2177448 : pack_tmp = packed_data(ipack)
15760 2177448 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15761 2177448 : pack_tmp = ISHFT(pack_tmp, -20)
15762 2177448 : idata = idata + 1
15763 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15764 2177448 : full_data(idata) = data_tmp
15765 2177448 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15766 2177448 : idata = idata + 1
15767 2177448 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15768 2177448 : full_data(idata) = data_tmp
15769 2178177 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15770 : END DO
15771 150345 : IF (Ndata_rep < Ndata) THEN
15772 26832 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15773 : END IF
15774 150345 : END SUBROUTINE bits2ints_22
15775 :
15776 : ! **************************************************************************************************
15777 : !> \brief ...
15778 : !> \param Ndata ...
15779 : !> \param packed_data ...
15780 : !> \param full_data ...
15781 : ! **************************************************************************************************
15782 73601 : 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 73601 : idata = 0
15793 73601 : ipack = 0
15794 73601 : Ndata_rep = (Ndata/64)*64
15795 73601 : DO kdata = 1, Ndata_rep, 64
15796 961675 : pack_tmp = 0
15797 961675 : idata = idata + 1
15798 961675 : data_tmp = full_data(idata)
15799 961675 : data_tmp = ISHFT(data_tmp, 41)
15800 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15801 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15802 961675 : idata = idata + 1
15803 961675 : data_tmp = full_data(idata)
15804 961675 : data_tmp = ISHFT(data_tmp, 41)
15805 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15806 961675 : pack_tmp = ISHFT(pack_tmp, -18)
15807 961675 : idata = idata + 1
15808 961675 : data_tmp = full_data(idata)
15809 961675 : data_tmp = ISHFT(data_tmp, 41)
15810 961675 : data_tmp = IAND(data_tmp, mask_left(18))
15811 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15812 961675 : ipack = ipack + 1
15813 961675 : packed_data(ipack) = pack_tmp
15814 961675 : data_tmp = full_data(idata)
15815 961675 : pack_tmp = ISHFT(data_tmp, 59)
15816 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15817 961675 : idata = idata + 1
15818 961675 : data_tmp = full_data(idata)
15819 961675 : data_tmp = ISHFT(data_tmp, 41)
15820 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15821 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15822 961675 : idata = idata + 1
15823 961675 : data_tmp = full_data(idata)
15824 961675 : data_tmp = ISHFT(data_tmp, 41)
15825 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15826 961675 : pack_tmp = ISHFT(pack_tmp, -13)
15827 961675 : idata = idata + 1
15828 961675 : data_tmp = full_data(idata)
15829 961675 : data_tmp = ISHFT(data_tmp, 41)
15830 961675 : data_tmp = IAND(data_tmp, mask_left(13))
15831 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15832 961675 : ipack = ipack + 1
15833 961675 : packed_data(ipack) = pack_tmp
15834 961675 : data_tmp = full_data(idata)
15835 961675 : pack_tmp = ISHFT(data_tmp, 54)
15836 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15837 961675 : idata = idata + 1
15838 961675 : data_tmp = full_data(idata)
15839 961675 : data_tmp = ISHFT(data_tmp, 41)
15840 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15841 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15842 961675 : idata = idata + 1
15843 961675 : data_tmp = full_data(idata)
15844 961675 : data_tmp = ISHFT(data_tmp, 41)
15845 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15846 961675 : pack_tmp = ISHFT(pack_tmp, -8)
15847 961675 : idata = idata + 1
15848 961675 : data_tmp = full_data(idata)
15849 961675 : data_tmp = ISHFT(data_tmp, 41)
15850 961675 : data_tmp = IAND(data_tmp, mask_left(8))
15851 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15852 961675 : ipack = ipack + 1
15853 961675 : packed_data(ipack) = pack_tmp
15854 961675 : data_tmp = full_data(idata)
15855 961675 : pack_tmp = ISHFT(data_tmp, 49)
15856 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15857 961675 : idata = idata + 1
15858 961675 : data_tmp = full_data(idata)
15859 961675 : data_tmp = ISHFT(data_tmp, 41)
15860 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15861 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15862 961675 : idata = idata + 1
15863 961675 : data_tmp = full_data(idata)
15864 961675 : data_tmp = ISHFT(data_tmp, 41)
15865 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15866 961675 : pack_tmp = ISHFT(pack_tmp, -3)
15867 961675 : idata = idata + 1
15868 961675 : data_tmp = full_data(idata)
15869 961675 : data_tmp = ISHFT(data_tmp, 41)
15870 961675 : data_tmp = IAND(data_tmp, mask_left(3))
15871 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15872 961675 : ipack = ipack + 1
15873 961675 : packed_data(ipack) = pack_tmp
15874 961675 : data_tmp = full_data(idata)
15875 961675 : pack_tmp = ISHFT(data_tmp, 44)
15876 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15877 961675 : idata = idata + 1
15878 961675 : data_tmp = full_data(idata)
15879 961675 : data_tmp = ISHFT(data_tmp, 41)
15880 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15881 961675 : pack_tmp = ISHFT(pack_tmp, -21)
15882 961675 : idata = idata + 1
15883 961675 : data_tmp = full_data(idata)
15884 961675 : data_tmp = ISHFT(data_tmp, 41)
15885 961675 : data_tmp = IAND(data_tmp, mask_left(21))
15886 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15887 961675 : ipack = ipack + 1
15888 961675 : packed_data(ipack) = pack_tmp
15889 961675 : data_tmp = full_data(idata)
15890 961675 : pack_tmp = ISHFT(data_tmp, 62)
15891 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15892 961675 : idata = idata + 1
15893 961675 : data_tmp = full_data(idata)
15894 961675 : data_tmp = ISHFT(data_tmp, 41)
15895 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15896 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15897 961675 : idata = idata + 1
15898 961675 : data_tmp = full_data(idata)
15899 961675 : data_tmp = ISHFT(data_tmp, 41)
15900 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15901 961675 : pack_tmp = ISHFT(pack_tmp, -16)
15902 961675 : idata = idata + 1
15903 961675 : data_tmp = full_data(idata)
15904 961675 : data_tmp = ISHFT(data_tmp, 41)
15905 961675 : data_tmp = IAND(data_tmp, mask_left(16))
15906 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15907 961675 : ipack = ipack + 1
15908 961675 : packed_data(ipack) = pack_tmp
15909 961675 : data_tmp = full_data(idata)
15910 961675 : pack_tmp = ISHFT(data_tmp, 57)
15911 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15912 961675 : idata = idata + 1
15913 961675 : data_tmp = full_data(idata)
15914 961675 : data_tmp = ISHFT(data_tmp, 41)
15915 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15916 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15917 961675 : idata = idata + 1
15918 961675 : data_tmp = full_data(idata)
15919 961675 : data_tmp = ISHFT(data_tmp, 41)
15920 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15921 961675 : pack_tmp = ISHFT(pack_tmp, -11)
15922 961675 : idata = idata + 1
15923 961675 : data_tmp = full_data(idata)
15924 961675 : data_tmp = ISHFT(data_tmp, 41)
15925 961675 : data_tmp = IAND(data_tmp, mask_left(11))
15926 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15927 961675 : ipack = ipack + 1
15928 961675 : packed_data(ipack) = pack_tmp
15929 961675 : data_tmp = full_data(idata)
15930 961675 : pack_tmp = ISHFT(data_tmp, 52)
15931 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15932 961675 : idata = idata + 1
15933 961675 : data_tmp = full_data(idata)
15934 961675 : data_tmp = ISHFT(data_tmp, 41)
15935 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15936 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15937 961675 : idata = idata + 1
15938 961675 : data_tmp = full_data(idata)
15939 961675 : data_tmp = ISHFT(data_tmp, 41)
15940 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15941 961675 : pack_tmp = ISHFT(pack_tmp, -6)
15942 961675 : idata = idata + 1
15943 961675 : data_tmp = full_data(idata)
15944 961675 : data_tmp = ISHFT(data_tmp, 41)
15945 961675 : data_tmp = IAND(data_tmp, mask_left(6))
15946 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15947 961675 : ipack = ipack + 1
15948 961675 : packed_data(ipack) = pack_tmp
15949 961675 : data_tmp = full_data(idata)
15950 961675 : pack_tmp = ISHFT(data_tmp, 47)
15951 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15952 961675 : idata = idata + 1
15953 961675 : data_tmp = full_data(idata)
15954 961675 : data_tmp = ISHFT(data_tmp, 41)
15955 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15956 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15957 961675 : idata = idata + 1
15958 961675 : data_tmp = full_data(idata)
15959 961675 : data_tmp = ISHFT(data_tmp, 41)
15960 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15961 961675 : pack_tmp = ISHFT(pack_tmp, -1)
15962 961675 : idata = idata + 1
15963 961675 : data_tmp = full_data(idata)
15964 961675 : data_tmp = ISHFT(data_tmp, 41)
15965 961675 : data_tmp = IAND(data_tmp, mask_left(1))
15966 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15967 961675 : ipack = ipack + 1
15968 961675 : packed_data(ipack) = pack_tmp
15969 961675 : data_tmp = full_data(idata)
15970 961675 : pack_tmp = ISHFT(data_tmp, 42)
15971 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15972 961675 : idata = idata + 1
15973 961675 : data_tmp = full_data(idata)
15974 961675 : data_tmp = ISHFT(data_tmp, 41)
15975 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15976 961675 : pack_tmp = ISHFT(pack_tmp, -19)
15977 961675 : idata = idata + 1
15978 961675 : data_tmp = full_data(idata)
15979 961675 : data_tmp = ISHFT(data_tmp, 41)
15980 961675 : data_tmp = IAND(data_tmp, mask_left(19))
15981 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15982 961675 : ipack = ipack + 1
15983 961675 : packed_data(ipack) = pack_tmp
15984 961675 : data_tmp = full_data(idata)
15985 961675 : pack_tmp = ISHFT(data_tmp, 60)
15986 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15987 961675 : idata = idata + 1
15988 961675 : data_tmp = full_data(idata)
15989 961675 : data_tmp = ISHFT(data_tmp, 41)
15990 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15991 961675 : pack_tmp = ISHFT(pack_tmp, -23)
15992 961675 : idata = idata + 1
15993 961675 : data_tmp = full_data(idata)
15994 961675 : data_tmp = ISHFT(data_tmp, 41)
15995 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
15996 961675 : pack_tmp = ISHFT(pack_tmp, -14)
15997 961675 : idata = idata + 1
15998 961675 : data_tmp = full_data(idata)
15999 961675 : data_tmp = ISHFT(data_tmp, 41)
16000 961675 : data_tmp = IAND(data_tmp, mask_left(14))
16001 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16002 961675 : ipack = ipack + 1
16003 961675 : packed_data(ipack) = pack_tmp
16004 961675 : data_tmp = full_data(idata)
16005 961675 : pack_tmp = ISHFT(data_tmp, 55)
16006 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16007 961675 : idata = idata + 1
16008 961675 : data_tmp = full_data(idata)
16009 961675 : data_tmp = ISHFT(data_tmp, 41)
16010 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16011 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16012 961675 : idata = idata + 1
16013 961675 : data_tmp = full_data(idata)
16014 961675 : data_tmp = ISHFT(data_tmp, 41)
16015 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16016 961675 : pack_tmp = ISHFT(pack_tmp, -9)
16017 961675 : idata = idata + 1
16018 961675 : data_tmp = full_data(idata)
16019 961675 : data_tmp = ISHFT(data_tmp, 41)
16020 961675 : data_tmp = IAND(data_tmp, mask_left(9))
16021 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16022 961675 : ipack = ipack + 1
16023 961675 : packed_data(ipack) = pack_tmp
16024 961675 : data_tmp = full_data(idata)
16025 961675 : pack_tmp = ISHFT(data_tmp, 50)
16026 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16027 961675 : idata = idata + 1
16028 961675 : data_tmp = full_data(idata)
16029 961675 : data_tmp = ISHFT(data_tmp, 41)
16030 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16031 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16032 961675 : idata = idata + 1
16033 961675 : data_tmp = full_data(idata)
16034 961675 : data_tmp = ISHFT(data_tmp, 41)
16035 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16036 961675 : pack_tmp = ISHFT(pack_tmp, -4)
16037 961675 : idata = idata + 1
16038 961675 : data_tmp = full_data(idata)
16039 961675 : data_tmp = ISHFT(data_tmp, 41)
16040 961675 : data_tmp = IAND(data_tmp, mask_left(4))
16041 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16042 961675 : ipack = ipack + 1
16043 961675 : packed_data(ipack) = pack_tmp
16044 961675 : data_tmp = full_data(idata)
16045 961675 : pack_tmp = ISHFT(data_tmp, 45)
16046 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16047 961675 : idata = idata + 1
16048 961675 : data_tmp = full_data(idata)
16049 961675 : data_tmp = ISHFT(data_tmp, 41)
16050 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16051 961675 : pack_tmp = ISHFT(pack_tmp, -22)
16052 961675 : idata = idata + 1
16053 961675 : data_tmp = full_data(idata)
16054 961675 : data_tmp = ISHFT(data_tmp, 41)
16055 961675 : data_tmp = IAND(data_tmp, mask_left(22))
16056 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16057 961675 : ipack = ipack + 1
16058 961675 : packed_data(ipack) = pack_tmp
16059 961675 : data_tmp = full_data(idata)
16060 961675 : pack_tmp = ISHFT(data_tmp, 63)
16061 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16062 961675 : idata = idata + 1
16063 961675 : data_tmp = full_data(idata)
16064 961675 : data_tmp = ISHFT(data_tmp, 41)
16065 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16066 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16067 961675 : idata = idata + 1
16068 961675 : data_tmp = full_data(idata)
16069 961675 : data_tmp = ISHFT(data_tmp, 41)
16070 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16071 961675 : pack_tmp = ISHFT(pack_tmp, -17)
16072 961675 : idata = idata + 1
16073 961675 : data_tmp = full_data(idata)
16074 961675 : data_tmp = ISHFT(data_tmp, 41)
16075 961675 : data_tmp = IAND(data_tmp, mask_left(17))
16076 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16077 961675 : ipack = ipack + 1
16078 961675 : packed_data(ipack) = pack_tmp
16079 961675 : data_tmp = full_data(idata)
16080 961675 : pack_tmp = ISHFT(data_tmp, 58)
16081 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16082 961675 : idata = idata + 1
16083 961675 : data_tmp = full_data(idata)
16084 961675 : data_tmp = ISHFT(data_tmp, 41)
16085 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16086 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16087 961675 : idata = idata + 1
16088 961675 : data_tmp = full_data(idata)
16089 961675 : data_tmp = ISHFT(data_tmp, 41)
16090 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16091 961675 : pack_tmp = ISHFT(pack_tmp, -12)
16092 961675 : idata = idata + 1
16093 961675 : data_tmp = full_data(idata)
16094 961675 : data_tmp = ISHFT(data_tmp, 41)
16095 961675 : data_tmp = IAND(data_tmp, mask_left(12))
16096 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16097 961675 : ipack = ipack + 1
16098 961675 : packed_data(ipack) = pack_tmp
16099 961675 : data_tmp = full_data(idata)
16100 961675 : pack_tmp = ISHFT(data_tmp, 53)
16101 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16102 961675 : idata = idata + 1
16103 961675 : data_tmp = full_data(idata)
16104 961675 : data_tmp = ISHFT(data_tmp, 41)
16105 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16106 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16107 961675 : idata = idata + 1
16108 961675 : data_tmp = full_data(idata)
16109 961675 : data_tmp = ISHFT(data_tmp, 41)
16110 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16111 961675 : pack_tmp = ISHFT(pack_tmp, -7)
16112 961675 : idata = idata + 1
16113 961675 : data_tmp = full_data(idata)
16114 961675 : data_tmp = ISHFT(data_tmp, 41)
16115 961675 : data_tmp = IAND(data_tmp, mask_left(7))
16116 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16117 961675 : ipack = ipack + 1
16118 961675 : packed_data(ipack) = pack_tmp
16119 961675 : data_tmp = full_data(idata)
16120 961675 : pack_tmp = ISHFT(data_tmp, 48)
16121 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16122 961675 : idata = idata + 1
16123 961675 : data_tmp = full_data(idata)
16124 961675 : data_tmp = ISHFT(data_tmp, 41)
16125 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16126 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16127 961675 : idata = idata + 1
16128 961675 : data_tmp = full_data(idata)
16129 961675 : data_tmp = ISHFT(data_tmp, 41)
16130 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16131 961675 : pack_tmp = ISHFT(pack_tmp, -2)
16132 961675 : idata = idata + 1
16133 961675 : data_tmp = full_data(idata)
16134 961675 : data_tmp = ISHFT(data_tmp, 41)
16135 961675 : data_tmp = IAND(data_tmp, mask_left(2))
16136 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16137 961675 : ipack = ipack + 1
16138 961675 : packed_data(ipack) = pack_tmp
16139 961675 : data_tmp = full_data(idata)
16140 961675 : pack_tmp = ISHFT(data_tmp, 43)
16141 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16142 961675 : idata = idata + 1
16143 961675 : data_tmp = full_data(idata)
16144 961675 : data_tmp = ISHFT(data_tmp, 41)
16145 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16146 961675 : pack_tmp = ISHFT(pack_tmp, -20)
16147 961675 : idata = idata + 1
16148 961675 : data_tmp = full_data(idata)
16149 961675 : data_tmp = ISHFT(data_tmp, 41)
16150 961675 : data_tmp = IAND(data_tmp, mask_left(20))
16151 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16152 961675 : ipack = ipack + 1
16153 961675 : packed_data(ipack) = pack_tmp
16154 961675 : data_tmp = full_data(idata)
16155 961675 : pack_tmp = ISHFT(data_tmp, 61)
16156 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16157 961675 : idata = idata + 1
16158 961675 : data_tmp = full_data(idata)
16159 961675 : data_tmp = ISHFT(data_tmp, 41)
16160 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16161 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16162 961675 : idata = idata + 1
16163 961675 : data_tmp = full_data(idata)
16164 961675 : data_tmp = ISHFT(data_tmp, 41)
16165 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16166 961675 : pack_tmp = ISHFT(pack_tmp, -15)
16167 961675 : idata = idata + 1
16168 961675 : data_tmp = full_data(idata)
16169 961675 : data_tmp = ISHFT(data_tmp, 41)
16170 961675 : data_tmp = IAND(data_tmp, mask_left(15))
16171 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16172 961675 : ipack = ipack + 1
16173 961675 : packed_data(ipack) = pack_tmp
16174 961675 : data_tmp = full_data(idata)
16175 961675 : pack_tmp = ISHFT(data_tmp, 56)
16176 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16177 961675 : idata = idata + 1
16178 961675 : data_tmp = full_data(idata)
16179 961675 : data_tmp = ISHFT(data_tmp, 41)
16180 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16181 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16182 961675 : idata = idata + 1
16183 961675 : data_tmp = full_data(idata)
16184 961675 : data_tmp = ISHFT(data_tmp, 41)
16185 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16186 961675 : pack_tmp = ISHFT(pack_tmp, -10)
16187 961675 : idata = idata + 1
16188 961675 : data_tmp = full_data(idata)
16189 961675 : data_tmp = ISHFT(data_tmp, 41)
16190 961675 : data_tmp = IAND(data_tmp, mask_left(10))
16191 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16192 961675 : ipack = ipack + 1
16193 961675 : packed_data(ipack) = pack_tmp
16194 961675 : data_tmp = full_data(idata)
16195 961675 : pack_tmp = ISHFT(data_tmp, 51)
16196 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16197 961675 : idata = idata + 1
16198 961675 : data_tmp = full_data(idata)
16199 961675 : data_tmp = ISHFT(data_tmp, 41)
16200 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16201 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16202 961675 : idata = idata + 1
16203 961675 : data_tmp = full_data(idata)
16204 961675 : data_tmp = ISHFT(data_tmp, 41)
16205 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16206 961675 : pack_tmp = ISHFT(pack_tmp, -5)
16207 961675 : idata = idata + 1
16208 961675 : data_tmp = full_data(idata)
16209 961675 : data_tmp = ISHFT(data_tmp, 41)
16210 961675 : data_tmp = IAND(data_tmp, mask_left(5))
16211 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16212 961675 : ipack = ipack + 1
16213 961675 : packed_data(ipack) = pack_tmp
16214 961675 : data_tmp = full_data(idata)
16215 961675 : pack_tmp = ISHFT(data_tmp, 46)
16216 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16217 961675 : idata = idata + 1
16218 961675 : data_tmp = full_data(idata)
16219 961675 : data_tmp = ISHFT(data_tmp, 41)
16220 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16221 961675 : pack_tmp = ISHFT(pack_tmp, -23)
16222 961675 : idata = idata + 1
16223 961675 : data_tmp = full_data(idata)
16224 961675 : data_tmp = ISHFT(data_tmp, 41)
16225 961675 : pack_tmp = IOR(pack_tmp, data_tmp)
16226 : pack_tmp = ISHFT(pack_tmp, 0)
16227 961675 : pack_tmp = ISHFT(pack_tmp, 0)
16228 961675 : ipack = ipack + 1
16229 962329 : packed_data(ipack) = pack_tmp
16230 : END DO
16231 73601 : IF (Ndata_rep < Ndata) THEN
16232 13930 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16233 : END IF
16234 73601 : END SUBROUTINE ints2bits_23
16235 :
16236 : ! **************************************************************************************************
16237 : !> \brief ...
16238 : !> \param Ndata ...
16239 : !> \param packed_data ...
16240 : !> \param full_data ...
16241 : ! **************************************************************************************************
16242 228100 : 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 228100 : ipack = 0
16253 228100 : idata = 0
16254 228100 : pack_tmp = 0
16255 228100 : Ndata_rep = (Ndata/64)*64
16256 228100 : DO kdata = 1, Ndata_rep, 64
16257 3081680 : idata = idata + 1
16258 3081680 : data_tmp = ISHFT(pack_tmp, 23)
16259 3081680 : ipack = ipack + 1
16260 3081680 : pack_tmp = packed_data(ipack)
16261 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
16262 3081680 : pack_tmp = ISHFT(pack_tmp, -23)
16263 3081680 : idata = idata + 1
16264 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16265 3081680 : full_data(idata) = data_tmp
16266 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16267 3081680 : idata = idata + 1
16268 3081680 : data_tmp = ISHFT(pack_tmp, 5)
16269 3081680 : ipack = ipack + 1
16270 3081680 : pack_tmp = packed_data(ipack)
16271 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
16272 3081680 : pack_tmp = ISHFT(pack_tmp, -5)
16273 3081680 : idata = idata + 1
16274 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16275 3081680 : full_data(idata) = data_tmp
16276 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16277 3081680 : idata = idata + 1
16278 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16279 3081680 : full_data(idata) = data_tmp
16280 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16281 3081680 : idata = idata + 1
16282 3081680 : data_tmp = ISHFT(pack_tmp, 10)
16283 3081680 : ipack = ipack + 1
16284 3081680 : pack_tmp = packed_data(ipack)
16285 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
16286 3081680 : pack_tmp = ISHFT(pack_tmp, -10)
16287 3081680 : idata = idata + 1
16288 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16289 3081680 : full_data(idata) = data_tmp
16290 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16291 3081680 : idata = idata + 1
16292 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16293 3081680 : full_data(idata) = data_tmp
16294 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16295 3081680 : idata = idata + 1
16296 3081680 : data_tmp = ISHFT(pack_tmp, 15)
16297 3081680 : ipack = ipack + 1
16298 3081680 : pack_tmp = packed_data(ipack)
16299 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
16300 3081680 : pack_tmp = ISHFT(pack_tmp, -15)
16301 3081680 : idata = idata + 1
16302 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16303 3081680 : full_data(idata) = data_tmp
16304 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16305 3081680 : idata = idata + 1
16306 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16307 3081680 : full_data(idata) = data_tmp
16308 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16309 3081680 : idata = idata + 1
16310 3081680 : data_tmp = ISHFT(pack_tmp, 20)
16311 3081680 : ipack = ipack + 1
16312 3081680 : pack_tmp = packed_data(ipack)
16313 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
16314 3081680 : pack_tmp = ISHFT(pack_tmp, -20)
16315 3081680 : idata = idata + 1
16316 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16317 3081680 : full_data(idata) = data_tmp
16318 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16319 3081680 : idata = idata + 1
16320 3081680 : data_tmp = ISHFT(pack_tmp, 2)
16321 3081680 : ipack = ipack + 1
16322 3081680 : pack_tmp = packed_data(ipack)
16323 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
16324 3081680 : pack_tmp = ISHFT(pack_tmp, -2)
16325 3081680 : idata = idata + 1
16326 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16327 3081680 : full_data(idata) = data_tmp
16328 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16329 3081680 : idata = idata + 1
16330 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16331 3081680 : full_data(idata) = data_tmp
16332 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16333 3081680 : idata = idata + 1
16334 3081680 : data_tmp = ISHFT(pack_tmp, 7)
16335 3081680 : ipack = ipack + 1
16336 3081680 : pack_tmp = packed_data(ipack)
16337 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
16338 3081680 : pack_tmp = ISHFT(pack_tmp, -7)
16339 3081680 : idata = idata + 1
16340 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16341 3081680 : full_data(idata) = data_tmp
16342 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16343 3081680 : idata = idata + 1
16344 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16345 3081680 : full_data(idata) = data_tmp
16346 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16347 3081680 : idata = idata + 1
16348 3081680 : data_tmp = ISHFT(pack_tmp, 12)
16349 3081680 : ipack = ipack + 1
16350 3081680 : pack_tmp = packed_data(ipack)
16351 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
16352 3081680 : pack_tmp = ISHFT(pack_tmp, -12)
16353 3081680 : idata = idata + 1
16354 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16355 3081680 : full_data(idata) = data_tmp
16356 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16357 3081680 : idata = idata + 1
16358 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16359 3081680 : full_data(idata) = data_tmp
16360 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16361 3081680 : idata = idata + 1
16362 3081680 : data_tmp = ISHFT(pack_tmp, 17)
16363 3081680 : ipack = ipack + 1
16364 3081680 : pack_tmp = packed_data(ipack)
16365 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
16366 3081680 : pack_tmp = ISHFT(pack_tmp, -17)
16367 3081680 : idata = idata + 1
16368 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16369 3081680 : full_data(idata) = data_tmp
16370 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16371 3081680 : idata = idata + 1
16372 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16373 3081680 : full_data(idata) = data_tmp
16374 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16375 3081680 : idata = idata + 1
16376 3081680 : data_tmp = ISHFT(pack_tmp, 22)
16377 3081680 : ipack = ipack + 1
16378 3081680 : pack_tmp = packed_data(ipack)
16379 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
16380 3081680 : pack_tmp = ISHFT(pack_tmp, -22)
16381 3081680 : idata = idata + 1
16382 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16383 3081680 : full_data(idata) = data_tmp
16384 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16385 3081680 : idata = idata + 1
16386 3081680 : data_tmp = ISHFT(pack_tmp, 4)
16387 3081680 : ipack = ipack + 1
16388 3081680 : pack_tmp = packed_data(ipack)
16389 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
16390 3081680 : pack_tmp = ISHFT(pack_tmp, -4)
16391 3081680 : idata = idata + 1
16392 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16393 3081680 : full_data(idata) = data_tmp
16394 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16395 3081680 : idata = idata + 1
16396 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16397 3081680 : full_data(idata) = data_tmp
16398 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16399 3081680 : idata = idata + 1
16400 3081680 : data_tmp = ISHFT(pack_tmp, 9)
16401 3081680 : ipack = ipack + 1
16402 3081680 : pack_tmp = packed_data(ipack)
16403 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
16404 3081680 : pack_tmp = ISHFT(pack_tmp, -9)
16405 3081680 : idata = idata + 1
16406 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16407 3081680 : full_data(idata) = data_tmp
16408 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16409 3081680 : idata = idata + 1
16410 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16411 3081680 : full_data(idata) = data_tmp
16412 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16413 3081680 : idata = idata + 1
16414 3081680 : data_tmp = ISHFT(pack_tmp, 14)
16415 3081680 : ipack = ipack + 1
16416 3081680 : pack_tmp = packed_data(ipack)
16417 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
16418 3081680 : pack_tmp = ISHFT(pack_tmp, -14)
16419 3081680 : idata = idata + 1
16420 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16421 3081680 : full_data(idata) = data_tmp
16422 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16423 3081680 : idata = idata + 1
16424 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16425 3081680 : full_data(idata) = data_tmp
16426 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16427 3081680 : idata = idata + 1
16428 3081680 : data_tmp = ISHFT(pack_tmp, 19)
16429 3081680 : ipack = ipack + 1
16430 3081680 : pack_tmp = packed_data(ipack)
16431 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
16432 3081680 : pack_tmp = ISHFT(pack_tmp, -19)
16433 3081680 : idata = idata + 1
16434 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16435 3081680 : full_data(idata) = data_tmp
16436 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16437 3081680 : idata = idata + 1
16438 3081680 : data_tmp = ISHFT(pack_tmp, 1)
16439 3081680 : ipack = ipack + 1
16440 3081680 : pack_tmp = packed_data(ipack)
16441 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
16442 3081680 : pack_tmp = ISHFT(pack_tmp, -1)
16443 3081680 : idata = idata + 1
16444 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16445 3081680 : full_data(idata) = data_tmp
16446 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16447 3081680 : idata = idata + 1
16448 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16449 3081680 : full_data(idata) = data_tmp
16450 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16451 3081680 : idata = idata + 1
16452 3081680 : data_tmp = ISHFT(pack_tmp, 6)
16453 3081680 : ipack = ipack + 1
16454 3081680 : pack_tmp = packed_data(ipack)
16455 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
16456 3081680 : pack_tmp = ISHFT(pack_tmp, -6)
16457 3081680 : idata = idata + 1
16458 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16459 3081680 : full_data(idata) = data_tmp
16460 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16461 3081680 : idata = idata + 1
16462 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16463 3081680 : full_data(idata) = data_tmp
16464 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16465 3081680 : idata = idata + 1
16466 3081680 : data_tmp = ISHFT(pack_tmp, 11)
16467 3081680 : ipack = ipack + 1
16468 3081680 : pack_tmp = packed_data(ipack)
16469 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
16470 3081680 : pack_tmp = ISHFT(pack_tmp, -11)
16471 3081680 : idata = idata + 1
16472 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16473 3081680 : full_data(idata) = data_tmp
16474 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16475 3081680 : idata = idata + 1
16476 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16477 3081680 : full_data(idata) = data_tmp
16478 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16479 3081680 : idata = idata + 1
16480 3081680 : data_tmp = ISHFT(pack_tmp, 16)
16481 3081680 : ipack = ipack + 1
16482 3081680 : pack_tmp = packed_data(ipack)
16483 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
16484 3081680 : pack_tmp = ISHFT(pack_tmp, -16)
16485 3081680 : idata = idata + 1
16486 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16487 3081680 : full_data(idata) = data_tmp
16488 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16489 3081680 : idata = idata + 1
16490 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16491 3081680 : full_data(idata) = data_tmp
16492 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16493 3081680 : idata = idata + 1
16494 3081680 : data_tmp = ISHFT(pack_tmp, 21)
16495 3081680 : ipack = ipack + 1
16496 3081680 : pack_tmp = packed_data(ipack)
16497 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
16498 3081680 : pack_tmp = ISHFT(pack_tmp, -21)
16499 3081680 : idata = idata + 1
16500 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16501 3081680 : full_data(idata) = data_tmp
16502 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16503 3081680 : idata = idata + 1
16504 3081680 : data_tmp = ISHFT(pack_tmp, 3)
16505 3081680 : ipack = ipack + 1
16506 3081680 : pack_tmp = packed_data(ipack)
16507 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
16508 3081680 : pack_tmp = ISHFT(pack_tmp, -3)
16509 3081680 : idata = idata + 1
16510 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16511 3081680 : full_data(idata) = data_tmp
16512 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16513 3081680 : idata = idata + 1
16514 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16515 3081680 : full_data(idata) = data_tmp
16516 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16517 3081680 : idata = idata + 1
16518 3081680 : data_tmp = ISHFT(pack_tmp, 8)
16519 3081680 : ipack = ipack + 1
16520 3081680 : pack_tmp = packed_data(ipack)
16521 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
16522 3081680 : pack_tmp = ISHFT(pack_tmp, -8)
16523 3081680 : idata = idata + 1
16524 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16525 3081680 : full_data(idata) = data_tmp
16526 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16527 3081680 : idata = idata + 1
16528 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16529 3081680 : full_data(idata) = data_tmp
16530 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16531 3081680 : idata = idata + 1
16532 3081680 : data_tmp = ISHFT(pack_tmp, 13)
16533 3081680 : ipack = ipack + 1
16534 3081680 : pack_tmp = packed_data(ipack)
16535 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
16536 3081680 : pack_tmp = ISHFT(pack_tmp, -13)
16537 3081680 : idata = idata + 1
16538 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16539 3081680 : full_data(idata) = data_tmp
16540 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16541 3081680 : idata = idata + 1
16542 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16543 3081680 : full_data(idata) = data_tmp
16544 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16545 3081680 : idata = idata + 1
16546 3081680 : data_tmp = ISHFT(pack_tmp, 18)
16547 3081680 : ipack = ipack + 1
16548 3081680 : pack_tmp = packed_data(ipack)
16549 3081680 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
16550 3081680 : pack_tmp = ISHFT(pack_tmp, -18)
16551 3081680 : idata = idata + 1
16552 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16553 3081680 : full_data(idata) = data_tmp
16554 3081680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16555 3081680 : idata = idata + 1
16556 3081680 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16557 3081680 : full_data(idata) = data_tmp
16558 3083272 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16559 : END DO
16560 228100 : IF (Ndata_rep < Ndata) THEN
16561 37920 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16562 : END IF
16563 228100 : END SUBROUTINE bits2ints_23
16564 :
16565 : ! **************************************************************************************************
16566 : !> \brief ...
16567 : !> \param Ndata ...
16568 : !> \param packed_data ...
16569 : !> \param full_data ...
16570 : ! **************************************************************************************************
16571 36159 : 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 36159 : idata = 0
16582 36159 : ipack = 0
16583 36159 : Ndata_rep = (Ndata/64)*64
16584 36159 : DO kdata = 1, Ndata_rep, 64
16585 522767 : pack_tmp = 0
16586 522767 : idata = idata + 1
16587 522767 : data_tmp = full_data(idata)
16588 522767 : data_tmp = ISHFT(data_tmp, 40)
16589 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16590 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16591 522767 : idata = idata + 1
16592 522767 : data_tmp = full_data(idata)
16593 522767 : data_tmp = ISHFT(data_tmp, 40)
16594 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16595 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16596 522767 : idata = idata + 1
16597 522767 : data_tmp = full_data(idata)
16598 522767 : data_tmp = ISHFT(data_tmp, 40)
16599 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16600 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16601 522767 : ipack = ipack + 1
16602 522767 : packed_data(ipack) = pack_tmp
16603 522767 : data_tmp = full_data(idata)
16604 522767 : pack_tmp = ISHFT(data_tmp, 56)
16605 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16606 522767 : idata = idata + 1
16607 522767 : data_tmp = full_data(idata)
16608 522767 : data_tmp = ISHFT(data_tmp, 40)
16609 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16610 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16611 522767 : idata = idata + 1
16612 522767 : data_tmp = full_data(idata)
16613 522767 : data_tmp = ISHFT(data_tmp, 40)
16614 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16615 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16616 522767 : idata = idata + 1
16617 522767 : data_tmp = full_data(idata)
16618 522767 : data_tmp = ISHFT(data_tmp, 40)
16619 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16620 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16621 522767 : ipack = ipack + 1
16622 522767 : packed_data(ipack) = pack_tmp
16623 522767 : data_tmp = full_data(idata)
16624 522767 : pack_tmp = ISHFT(data_tmp, 48)
16625 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16626 522767 : idata = idata + 1
16627 522767 : data_tmp = full_data(idata)
16628 522767 : data_tmp = ISHFT(data_tmp, 40)
16629 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16630 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16631 522767 : idata = idata + 1
16632 522767 : data_tmp = full_data(idata)
16633 522767 : data_tmp = ISHFT(data_tmp, 40)
16634 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16635 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16636 522767 : idata = idata + 1
16637 522767 : data_tmp = full_data(idata)
16638 : data_tmp = ISHFT(data_tmp, 40)
16639 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16640 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16641 522767 : ipack = ipack + 1
16642 522767 : packed_data(ipack) = pack_tmp
16643 522767 : data_tmp = full_data(idata)
16644 522767 : pack_tmp = ISHFT(data_tmp, 40)
16645 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16646 522767 : idata = idata + 1
16647 522767 : data_tmp = full_data(idata)
16648 522767 : data_tmp = ISHFT(data_tmp, 40)
16649 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16650 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16651 522767 : idata = idata + 1
16652 522767 : data_tmp = full_data(idata)
16653 522767 : data_tmp = ISHFT(data_tmp, 40)
16654 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16655 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16656 522767 : ipack = ipack + 1
16657 522767 : packed_data(ipack) = pack_tmp
16658 522767 : data_tmp = full_data(idata)
16659 522767 : pack_tmp = ISHFT(data_tmp, 56)
16660 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16661 522767 : idata = idata + 1
16662 522767 : data_tmp = full_data(idata)
16663 522767 : data_tmp = ISHFT(data_tmp, 40)
16664 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16665 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16666 522767 : idata = idata + 1
16667 522767 : data_tmp = full_data(idata)
16668 522767 : data_tmp = ISHFT(data_tmp, 40)
16669 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16670 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16671 522767 : idata = idata + 1
16672 522767 : data_tmp = full_data(idata)
16673 522767 : data_tmp = ISHFT(data_tmp, 40)
16674 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16675 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16676 522767 : ipack = ipack + 1
16677 522767 : packed_data(ipack) = pack_tmp
16678 522767 : data_tmp = full_data(idata)
16679 522767 : pack_tmp = ISHFT(data_tmp, 48)
16680 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16681 522767 : idata = idata + 1
16682 522767 : data_tmp = full_data(idata)
16683 522767 : data_tmp = ISHFT(data_tmp, 40)
16684 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16685 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16686 522767 : idata = idata + 1
16687 522767 : data_tmp = full_data(idata)
16688 522767 : data_tmp = ISHFT(data_tmp, 40)
16689 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16690 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16691 522767 : idata = idata + 1
16692 522767 : data_tmp = full_data(idata)
16693 : data_tmp = ISHFT(data_tmp, 40)
16694 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16695 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16696 522767 : ipack = ipack + 1
16697 522767 : packed_data(ipack) = pack_tmp
16698 522767 : data_tmp = full_data(idata)
16699 522767 : pack_tmp = ISHFT(data_tmp, 40)
16700 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16701 522767 : idata = idata + 1
16702 522767 : data_tmp = full_data(idata)
16703 522767 : data_tmp = ISHFT(data_tmp, 40)
16704 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16705 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16706 522767 : idata = idata + 1
16707 522767 : data_tmp = full_data(idata)
16708 522767 : data_tmp = ISHFT(data_tmp, 40)
16709 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16710 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16711 522767 : ipack = ipack + 1
16712 522767 : packed_data(ipack) = pack_tmp
16713 522767 : data_tmp = full_data(idata)
16714 522767 : pack_tmp = ISHFT(data_tmp, 56)
16715 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16716 522767 : idata = idata + 1
16717 522767 : data_tmp = full_data(idata)
16718 522767 : data_tmp = ISHFT(data_tmp, 40)
16719 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16720 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16721 522767 : idata = idata + 1
16722 522767 : data_tmp = full_data(idata)
16723 522767 : data_tmp = ISHFT(data_tmp, 40)
16724 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16725 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16726 522767 : idata = idata + 1
16727 522767 : data_tmp = full_data(idata)
16728 522767 : data_tmp = ISHFT(data_tmp, 40)
16729 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16730 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16731 522767 : ipack = ipack + 1
16732 522767 : packed_data(ipack) = pack_tmp
16733 522767 : data_tmp = full_data(idata)
16734 522767 : pack_tmp = ISHFT(data_tmp, 48)
16735 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16736 522767 : idata = idata + 1
16737 522767 : data_tmp = full_data(idata)
16738 522767 : data_tmp = ISHFT(data_tmp, 40)
16739 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16740 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16741 522767 : idata = idata + 1
16742 522767 : data_tmp = full_data(idata)
16743 522767 : data_tmp = ISHFT(data_tmp, 40)
16744 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16745 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16746 522767 : idata = idata + 1
16747 522767 : data_tmp = full_data(idata)
16748 : data_tmp = ISHFT(data_tmp, 40)
16749 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16750 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16751 522767 : ipack = ipack + 1
16752 522767 : packed_data(ipack) = pack_tmp
16753 522767 : data_tmp = full_data(idata)
16754 522767 : pack_tmp = ISHFT(data_tmp, 40)
16755 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16756 522767 : idata = idata + 1
16757 522767 : data_tmp = full_data(idata)
16758 522767 : data_tmp = ISHFT(data_tmp, 40)
16759 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16760 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16761 522767 : idata = idata + 1
16762 522767 : data_tmp = full_data(idata)
16763 522767 : data_tmp = ISHFT(data_tmp, 40)
16764 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16765 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16766 522767 : ipack = ipack + 1
16767 522767 : packed_data(ipack) = pack_tmp
16768 522767 : data_tmp = full_data(idata)
16769 522767 : pack_tmp = ISHFT(data_tmp, 56)
16770 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16771 522767 : idata = idata + 1
16772 522767 : data_tmp = full_data(idata)
16773 522767 : data_tmp = ISHFT(data_tmp, 40)
16774 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16775 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16776 522767 : idata = idata + 1
16777 522767 : data_tmp = full_data(idata)
16778 522767 : data_tmp = ISHFT(data_tmp, 40)
16779 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16780 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16781 522767 : idata = idata + 1
16782 522767 : data_tmp = full_data(idata)
16783 522767 : data_tmp = ISHFT(data_tmp, 40)
16784 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16785 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16786 522767 : ipack = ipack + 1
16787 522767 : packed_data(ipack) = pack_tmp
16788 522767 : data_tmp = full_data(idata)
16789 522767 : pack_tmp = ISHFT(data_tmp, 48)
16790 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16791 522767 : idata = idata + 1
16792 522767 : data_tmp = full_data(idata)
16793 522767 : data_tmp = ISHFT(data_tmp, 40)
16794 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16795 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16796 522767 : idata = idata + 1
16797 522767 : data_tmp = full_data(idata)
16798 522767 : data_tmp = ISHFT(data_tmp, 40)
16799 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16800 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16801 522767 : idata = idata + 1
16802 522767 : data_tmp = full_data(idata)
16803 : data_tmp = ISHFT(data_tmp, 40)
16804 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16805 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16806 522767 : ipack = ipack + 1
16807 522767 : packed_data(ipack) = pack_tmp
16808 522767 : data_tmp = full_data(idata)
16809 522767 : pack_tmp = ISHFT(data_tmp, 40)
16810 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16811 522767 : idata = idata + 1
16812 522767 : data_tmp = full_data(idata)
16813 522767 : data_tmp = ISHFT(data_tmp, 40)
16814 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16815 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16816 522767 : idata = idata + 1
16817 522767 : data_tmp = full_data(idata)
16818 522767 : data_tmp = ISHFT(data_tmp, 40)
16819 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16820 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16821 522767 : ipack = ipack + 1
16822 522767 : packed_data(ipack) = pack_tmp
16823 522767 : data_tmp = full_data(idata)
16824 522767 : pack_tmp = ISHFT(data_tmp, 56)
16825 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16826 522767 : idata = idata + 1
16827 522767 : data_tmp = full_data(idata)
16828 522767 : data_tmp = ISHFT(data_tmp, 40)
16829 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16830 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16831 522767 : idata = idata + 1
16832 522767 : data_tmp = full_data(idata)
16833 522767 : data_tmp = ISHFT(data_tmp, 40)
16834 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16835 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16836 522767 : idata = idata + 1
16837 522767 : data_tmp = full_data(idata)
16838 522767 : data_tmp = ISHFT(data_tmp, 40)
16839 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16840 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16841 522767 : ipack = ipack + 1
16842 522767 : packed_data(ipack) = pack_tmp
16843 522767 : data_tmp = full_data(idata)
16844 522767 : pack_tmp = ISHFT(data_tmp, 48)
16845 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16846 522767 : idata = idata + 1
16847 522767 : data_tmp = full_data(idata)
16848 522767 : data_tmp = ISHFT(data_tmp, 40)
16849 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16850 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16851 522767 : idata = idata + 1
16852 522767 : data_tmp = full_data(idata)
16853 522767 : data_tmp = ISHFT(data_tmp, 40)
16854 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16855 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16856 522767 : idata = idata + 1
16857 522767 : data_tmp = full_data(idata)
16858 : data_tmp = ISHFT(data_tmp, 40)
16859 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16860 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16861 522767 : ipack = ipack + 1
16862 522767 : packed_data(ipack) = pack_tmp
16863 522767 : data_tmp = full_data(idata)
16864 522767 : pack_tmp = ISHFT(data_tmp, 40)
16865 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16866 522767 : idata = idata + 1
16867 522767 : data_tmp = full_data(idata)
16868 522767 : data_tmp = ISHFT(data_tmp, 40)
16869 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16870 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16871 522767 : idata = idata + 1
16872 522767 : data_tmp = full_data(idata)
16873 522767 : data_tmp = ISHFT(data_tmp, 40)
16874 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16875 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16876 522767 : ipack = ipack + 1
16877 522767 : packed_data(ipack) = pack_tmp
16878 522767 : data_tmp = full_data(idata)
16879 522767 : pack_tmp = ISHFT(data_tmp, 56)
16880 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16881 522767 : idata = idata + 1
16882 522767 : data_tmp = full_data(idata)
16883 522767 : data_tmp = ISHFT(data_tmp, 40)
16884 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16885 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16886 522767 : idata = idata + 1
16887 522767 : data_tmp = full_data(idata)
16888 522767 : data_tmp = ISHFT(data_tmp, 40)
16889 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16890 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16891 522767 : idata = idata + 1
16892 522767 : data_tmp = full_data(idata)
16893 522767 : data_tmp = ISHFT(data_tmp, 40)
16894 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16895 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16896 522767 : ipack = ipack + 1
16897 522767 : packed_data(ipack) = pack_tmp
16898 522767 : data_tmp = full_data(idata)
16899 522767 : pack_tmp = ISHFT(data_tmp, 48)
16900 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16901 522767 : idata = idata + 1
16902 522767 : data_tmp = full_data(idata)
16903 522767 : data_tmp = ISHFT(data_tmp, 40)
16904 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16905 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16906 522767 : idata = idata + 1
16907 522767 : data_tmp = full_data(idata)
16908 522767 : data_tmp = ISHFT(data_tmp, 40)
16909 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16910 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16911 522767 : idata = idata + 1
16912 522767 : data_tmp = full_data(idata)
16913 : data_tmp = ISHFT(data_tmp, 40)
16914 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16915 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16916 522767 : ipack = ipack + 1
16917 522767 : packed_data(ipack) = pack_tmp
16918 522767 : data_tmp = full_data(idata)
16919 522767 : pack_tmp = ISHFT(data_tmp, 40)
16920 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16921 522767 : idata = idata + 1
16922 522767 : data_tmp = full_data(idata)
16923 522767 : data_tmp = ISHFT(data_tmp, 40)
16924 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16925 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16926 522767 : idata = idata + 1
16927 522767 : data_tmp = full_data(idata)
16928 522767 : data_tmp = ISHFT(data_tmp, 40)
16929 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16930 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16931 522767 : ipack = ipack + 1
16932 522767 : packed_data(ipack) = pack_tmp
16933 522767 : data_tmp = full_data(idata)
16934 522767 : pack_tmp = ISHFT(data_tmp, 56)
16935 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16936 522767 : idata = idata + 1
16937 522767 : data_tmp = full_data(idata)
16938 522767 : data_tmp = ISHFT(data_tmp, 40)
16939 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16940 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16941 522767 : idata = idata + 1
16942 522767 : data_tmp = full_data(idata)
16943 522767 : data_tmp = ISHFT(data_tmp, 40)
16944 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16945 522767 : pack_tmp = ISHFT(pack_tmp, -8)
16946 522767 : idata = idata + 1
16947 522767 : data_tmp = full_data(idata)
16948 522767 : data_tmp = ISHFT(data_tmp, 40)
16949 522767 : data_tmp = IAND(data_tmp, mask_left(8))
16950 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16951 522767 : ipack = ipack + 1
16952 522767 : packed_data(ipack) = pack_tmp
16953 522767 : data_tmp = full_data(idata)
16954 522767 : pack_tmp = ISHFT(data_tmp, 48)
16955 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16956 522767 : idata = idata + 1
16957 522767 : data_tmp = full_data(idata)
16958 522767 : data_tmp = ISHFT(data_tmp, 40)
16959 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16960 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16961 522767 : idata = idata + 1
16962 522767 : data_tmp = full_data(idata)
16963 522767 : data_tmp = ISHFT(data_tmp, 40)
16964 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16965 522767 : pack_tmp = ISHFT(pack_tmp, 0)
16966 522767 : idata = idata + 1
16967 522767 : data_tmp = full_data(idata)
16968 : data_tmp = ISHFT(data_tmp, 40)
16969 522767 : data_tmp = IAND(data_tmp, mask_left(0))
16970 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16971 522767 : ipack = ipack + 1
16972 522767 : packed_data(ipack) = pack_tmp
16973 522767 : data_tmp = full_data(idata)
16974 522767 : pack_tmp = ISHFT(data_tmp, 40)
16975 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16976 522767 : idata = idata + 1
16977 522767 : data_tmp = full_data(idata)
16978 522767 : data_tmp = ISHFT(data_tmp, 40)
16979 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16980 522767 : pack_tmp = ISHFT(pack_tmp, -16)
16981 522767 : idata = idata + 1
16982 522767 : data_tmp = full_data(idata)
16983 522767 : data_tmp = ISHFT(data_tmp, 40)
16984 522767 : data_tmp = IAND(data_tmp, mask_left(16))
16985 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16986 522767 : ipack = ipack + 1
16987 522767 : packed_data(ipack) = pack_tmp
16988 522767 : data_tmp = full_data(idata)
16989 522767 : pack_tmp = ISHFT(data_tmp, 56)
16990 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16991 522767 : idata = idata + 1
16992 522767 : data_tmp = full_data(idata)
16993 522767 : data_tmp = ISHFT(data_tmp, 40)
16994 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
16995 522767 : pack_tmp = ISHFT(pack_tmp, -24)
16996 522767 : idata = idata + 1
16997 522767 : data_tmp = full_data(idata)
16998 522767 : data_tmp = ISHFT(data_tmp, 40)
16999 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
17000 522767 : pack_tmp = ISHFT(pack_tmp, -8)
17001 522767 : idata = idata + 1
17002 522767 : data_tmp = full_data(idata)
17003 522767 : data_tmp = ISHFT(data_tmp, 40)
17004 522767 : data_tmp = IAND(data_tmp, mask_left(8))
17005 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
17006 522767 : ipack = ipack + 1
17007 522767 : packed_data(ipack) = pack_tmp
17008 522767 : data_tmp = full_data(idata)
17009 522767 : pack_tmp = ISHFT(data_tmp, 48)
17010 522767 : pack_tmp = ISHFT(pack_tmp, -24)
17011 522767 : idata = idata + 1
17012 522767 : data_tmp = full_data(idata)
17013 522767 : data_tmp = ISHFT(data_tmp, 40)
17014 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
17015 522767 : pack_tmp = ISHFT(pack_tmp, -24)
17016 522767 : idata = idata + 1
17017 522767 : data_tmp = full_data(idata)
17018 522767 : data_tmp = ISHFT(data_tmp, 40)
17019 522767 : pack_tmp = IOR(pack_tmp, data_tmp)
17020 : pack_tmp = ISHFT(pack_tmp, 0)
17021 522767 : pack_tmp = ISHFT(pack_tmp, 0)
17022 522767 : ipack = ipack + 1
17023 523447 : packed_data(ipack) = pack_tmp
17024 : END DO
17025 36159 : IF (Ndata_rep < Ndata) THEN
17026 6562 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17027 : END IF
17028 36159 : END SUBROUTINE ints2bits_24
17029 :
17030 : ! **************************************************************************************************
17031 : !> \brief ...
17032 : !> \param Ndata ...
17033 : !> \param packed_data ...
17034 : !> \param full_data ...
17035 : ! **************************************************************************************************
17036 160664 : 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 160664 : ipack = 0
17047 160664 : idata = 0
17048 160664 : pack_tmp = 0
17049 160664 : Ndata_rep = (Ndata/64)*64
17050 160664 : DO kdata = 1, Ndata_rep, 64
17051 2271730 : idata = idata + 1
17052 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17053 2271730 : ipack = ipack + 1
17054 2271730 : pack_tmp = packed_data(ipack)
17055 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17056 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17057 2271730 : idata = idata + 1
17058 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17059 2271730 : full_data(idata) = data_tmp
17060 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17061 2271730 : idata = idata + 1
17062 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17063 2271730 : ipack = ipack + 1
17064 2271730 : pack_tmp = packed_data(ipack)
17065 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17066 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17067 2271730 : idata = idata + 1
17068 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17069 2271730 : full_data(idata) = data_tmp
17070 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17071 2271730 : idata = idata + 1
17072 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17073 2271730 : full_data(idata) = data_tmp
17074 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17075 2271730 : idata = idata + 1
17076 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17077 2271730 : ipack = ipack + 1
17078 2271730 : pack_tmp = packed_data(ipack)
17079 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17080 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17081 2271730 : idata = idata + 1
17082 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17083 2271730 : full_data(idata) = data_tmp
17084 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17085 2271730 : idata = idata + 1
17086 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17087 2271730 : full_data(idata) = data_tmp
17088 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17089 2271730 : idata = idata + 1
17090 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17091 2271730 : ipack = ipack + 1
17092 2271730 : pack_tmp = packed_data(ipack)
17093 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17094 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17095 2271730 : idata = idata + 1
17096 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17097 2271730 : full_data(idata) = data_tmp
17098 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17099 2271730 : idata = idata + 1
17100 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17101 2271730 : ipack = ipack + 1
17102 2271730 : pack_tmp = packed_data(ipack)
17103 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17104 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17105 2271730 : idata = idata + 1
17106 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17107 2271730 : full_data(idata) = data_tmp
17108 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17109 2271730 : idata = idata + 1
17110 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17111 2271730 : full_data(idata) = data_tmp
17112 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17113 2271730 : idata = idata + 1
17114 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17115 2271730 : ipack = ipack + 1
17116 2271730 : pack_tmp = packed_data(ipack)
17117 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17118 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17119 2271730 : idata = idata + 1
17120 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17121 2271730 : full_data(idata) = data_tmp
17122 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17123 2271730 : idata = idata + 1
17124 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17125 2271730 : full_data(idata) = data_tmp
17126 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17127 2271730 : idata = idata + 1
17128 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17129 2271730 : ipack = ipack + 1
17130 2271730 : pack_tmp = packed_data(ipack)
17131 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17132 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17133 2271730 : idata = idata + 1
17134 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17135 2271730 : full_data(idata) = data_tmp
17136 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17137 2271730 : idata = idata + 1
17138 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17139 2271730 : ipack = ipack + 1
17140 2271730 : pack_tmp = packed_data(ipack)
17141 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17142 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17143 2271730 : idata = idata + 1
17144 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17145 2271730 : full_data(idata) = data_tmp
17146 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17147 2271730 : idata = idata + 1
17148 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17149 2271730 : full_data(idata) = data_tmp
17150 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17151 2271730 : idata = idata + 1
17152 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17153 2271730 : ipack = ipack + 1
17154 2271730 : pack_tmp = packed_data(ipack)
17155 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17156 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17157 2271730 : idata = idata + 1
17158 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17159 2271730 : full_data(idata) = data_tmp
17160 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17161 2271730 : idata = idata + 1
17162 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17163 2271730 : full_data(idata) = data_tmp
17164 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17165 2271730 : idata = idata + 1
17166 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17167 2271730 : ipack = ipack + 1
17168 2271730 : pack_tmp = packed_data(ipack)
17169 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17170 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17171 2271730 : idata = idata + 1
17172 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17173 2271730 : full_data(idata) = data_tmp
17174 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17175 2271730 : idata = idata + 1
17176 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17177 2271730 : ipack = ipack + 1
17178 2271730 : pack_tmp = packed_data(ipack)
17179 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17180 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17181 2271730 : idata = idata + 1
17182 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17183 2271730 : full_data(idata) = data_tmp
17184 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17185 2271730 : idata = idata + 1
17186 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17187 2271730 : full_data(idata) = data_tmp
17188 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17189 2271730 : idata = idata + 1
17190 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17191 2271730 : ipack = ipack + 1
17192 2271730 : pack_tmp = packed_data(ipack)
17193 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17194 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17195 2271730 : idata = idata + 1
17196 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17197 2271730 : full_data(idata) = data_tmp
17198 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17199 2271730 : idata = idata + 1
17200 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17201 2271730 : full_data(idata) = data_tmp
17202 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17203 2271730 : idata = idata + 1
17204 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17205 2271730 : ipack = ipack + 1
17206 2271730 : pack_tmp = packed_data(ipack)
17207 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17208 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17209 2271730 : idata = idata + 1
17210 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17211 2271730 : full_data(idata) = data_tmp
17212 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17213 2271730 : idata = idata + 1
17214 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17215 2271730 : ipack = ipack + 1
17216 2271730 : pack_tmp = packed_data(ipack)
17217 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17218 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17219 2271730 : idata = idata + 1
17220 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17221 2271730 : full_data(idata) = data_tmp
17222 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17223 2271730 : idata = idata + 1
17224 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17225 2271730 : full_data(idata) = data_tmp
17226 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17227 2271730 : idata = idata + 1
17228 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17229 2271730 : ipack = ipack + 1
17230 2271730 : pack_tmp = packed_data(ipack)
17231 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17232 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17233 2271730 : idata = idata + 1
17234 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17235 2271730 : full_data(idata) = data_tmp
17236 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17237 2271730 : idata = idata + 1
17238 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17239 2271730 : full_data(idata) = data_tmp
17240 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17241 2271730 : idata = idata + 1
17242 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17243 2271730 : ipack = ipack + 1
17244 2271730 : pack_tmp = packed_data(ipack)
17245 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17246 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17247 2271730 : idata = idata + 1
17248 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17249 2271730 : full_data(idata) = data_tmp
17250 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17251 2271730 : idata = idata + 1
17252 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17253 2271730 : ipack = ipack + 1
17254 2271730 : pack_tmp = packed_data(ipack)
17255 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17256 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17257 2271730 : idata = idata + 1
17258 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17259 2271730 : full_data(idata) = data_tmp
17260 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17261 2271730 : idata = idata + 1
17262 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17263 2271730 : full_data(idata) = data_tmp
17264 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17265 2271730 : idata = idata + 1
17266 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17267 2271730 : ipack = ipack + 1
17268 2271730 : pack_tmp = packed_data(ipack)
17269 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17270 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17271 2271730 : idata = idata + 1
17272 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17273 2271730 : full_data(idata) = data_tmp
17274 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17275 2271730 : idata = idata + 1
17276 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17277 2271730 : full_data(idata) = data_tmp
17278 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17279 2271730 : idata = idata + 1
17280 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17281 2271730 : ipack = ipack + 1
17282 2271730 : pack_tmp = packed_data(ipack)
17283 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17284 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17285 2271730 : idata = idata + 1
17286 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17287 2271730 : full_data(idata) = data_tmp
17288 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17289 2271730 : idata = idata + 1
17290 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17291 2271730 : ipack = ipack + 1
17292 2271730 : pack_tmp = packed_data(ipack)
17293 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17294 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17295 2271730 : idata = idata + 1
17296 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17297 2271730 : full_data(idata) = data_tmp
17298 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17299 2271730 : idata = idata + 1
17300 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17301 2271730 : full_data(idata) = data_tmp
17302 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17303 2271730 : idata = idata + 1
17304 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17305 2271730 : ipack = ipack + 1
17306 2271730 : pack_tmp = packed_data(ipack)
17307 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17308 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17309 2271730 : idata = idata + 1
17310 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17311 2271730 : full_data(idata) = data_tmp
17312 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17313 2271730 : idata = idata + 1
17314 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17315 2271730 : full_data(idata) = data_tmp
17316 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17317 2271730 : idata = idata + 1
17318 2271730 : data_tmp = ISHFT(pack_tmp, 24)
17319 2271730 : ipack = ipack + 1
17320 2271730 : pack_tmp = packed_data(ipack)
17321 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17322 2271730 : pack_tmp = ISHFT(pack_tmp, -24)
17323 2271730 : idata = idata + 1
17324 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17325 2271730 : full_data(idata) = data_tmp
17326 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17327 2271730 : idata = idata + 1
17328 2271730 : data_tmp = ISHFT(pack_tmp, 8)
17329 2271730 : ipack = ipack + 1
17330 2271730 : pack_tmp = packed_data(ipack)
17331 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17332 2271730 : pack_tmp = ISHFT(pack_tmp, -8)
17333 2271730 : idata = idata + 1
17334 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17335 2271730 : full_data(idata) = data_tmp
17336 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17337 2271730 : idata = idata + 1
17338 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17339 2271730 : full_data(idata) = data_tmp
17340 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17341 2271730 : idata = idata + 1
17342 2271730 : data_tmp = ISHFT(pack_tmp, 16)
17343 2271730 : ipack = ipack + 1
17344 2271730 : pack_tmp = packed_data(ipack)
17345 2271730 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17346 2271730 : pack_tmp = ISHFT(pack_tmp, -16)
17347 2271730 : idata = idata + 1
17348 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17349 2271730 : full_data(idata) = data_tmp
17350 2271730 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17351 2271730 : idata = idata + 1
17352 2271730 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17353 2271730 : full_data(idata) = data_tmp
17354 2275527 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17355 : END DO
17356 160664 : IF (Ndata_rep < Ndata) THEN
17357 35164 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17358 : END IF
17359 160664 : END SUBROUTINE bits2ints_24
17360 :
17361 : ! **************************************************************************************************
17362 : !> \brief ...
17363 : !> \param Ndata ...
17364 : !> \param packed_data ...
17365 : !> \param full_data ...
17366 : ! **************************************************************************************************
17367 37326 : 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 37326 : idata = 0
17378 37326 : ipack = 0
17379 37326 : Ndata_rep = (Ndata/64)*64
17380 37326 : DO kdata = 1, Ndata_rep, 64
17381 533245 : pack_tmp = 0
17382 533245 : idata = idata + 1
17383 533245 : data_tmp = full_data(idata)
17384 533245 : data_tmp = ISHFT(data_tmp, 39)
17385 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17386 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17387 533245 : idata = idata + 1
17388 533245 : data_tmp = full_data(idata)
17389 533245 : data_tmp = ISHFT(data_tmp, 39)
17390 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17391 533245 : pack_tmp = ISHFT(pack_tmp, -14)
17392 533245 : idata = idata + 1
17393 533245 : data_tmp = full_data(idata)
17394 533245 : data_tmp = ISHFT(data_tmp, 39)
17395 533245 : data_tmp = IAND(data_tmp, mask_left(14))
17396 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17397 533245 : ipack = ipack + 1
17398 533245 : packed_data(ipack) = pack_tmp
17399 533245 : data_tmp = full_data(idata)
17400 533245 : pack_tmp = ISHFT(data_tmp, 53)
17401 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17402 533245 : idata = idata + 1
17403 533245 : data_tmp = full_data(idata)
17404 533245 : data_tmp = ISHFT(data_tmp, 39)
17405 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17406 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17407 533245 : idata = idata + 1
17408 533245 : data_tmp = full_data(idata)
17409 533245 : data_tmp = ISHFT(data_tmp, 39)
17410 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17411 533245 : pack_tmp = ISHFT(pack_tmp, -3)
17412 533245 : idata = idata + 1
17413 533245 : data_tmp = full_data(idata)
17414 533245 : data_tmp = ISHFT(data_tmp, 39)
17415 533245 : data_tmp = IAND(data_tmp, mask_left(3))
17416 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17417 533245 : ipack = ipack + 1
17418 533245 : packed_data(ipack) = pack_tmp
17419 533245 : data_tmp = full_data(idata)
17420 533245 : pack_tmp = ISHFT(data_tmp, 42)
17421 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17422 533245 : idata = idata + 1
17423 533245 : data_tmp = full_data(idata)
17424 533245 : data_tmp = ISHFT(data_tmp, 39)
17425 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17426 533245 : pack_tmp = ISHFT(pack_tmp, -17)
17427 533245 : idata = idata + 1
17428 533245 : data_tmp = full_data(idata)
17429 533245 : data_tmp = ISHFT(data_tmp, 39)
17430 533245 : data_tmp = IAND(data_tmp, mask_left(17))
17431 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17432 533245 : ipack = ipack + 1
17433 533245 : packed_data(ipack) = pack_tmp
17434 533245 : data_tmp = full_data(idata)
17435 533245 : pack_tmp = ISHFT(data_tmp, 56)
17436 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17437 533245 : idata = idata + 1
17438 533245 : data_tmp = full_data(idata)
17439 533245 : data_tmp = ISHFT(data_tmp, 39)
17440 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17441 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17442 533245 : idata = idata + 1
17443 533245 : data_tmp = full_data(idata)
17444 533245 : data_tmp = ISHFT(data_tmp, 39)
17445 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17446 533245 : pack_tmp = ISHFT(pack_tmp, -6)
17447 533245 : idata = idata + 1
17448 533245 : data_tmp = full_data(idata)
17449 533245 : data_tmp = ISHFT(data_tmp, 39)
17450 533245 : data_tmp = IAND(data_tmp, mask_left(6))
17451 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17452 533245 : ipack = ipack + 1
17453 533245 : packed_data(ipack) = pack_tmp
17454 533245 : data_tmp = full_data(idata)
17455 533245 : pack_tmp = ISHFT(data_tmp, 45)
17456 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17457 533245 : idata = idata + 1
17458 533245 : data_tmp = full_data(idata)
17459 533245 : data_tmp = ISHFT(data_tmp, 39)
17460 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17461 533245 : pack_tmp = ISHFT(pack_tmp, -20)
17462 533245 : idata = idata + 1
17463 533245 : data_tmp = full_data(idata)
17464 533245 : data_tmp = ISHFT(data_tmp, 39)
17465 533245 : data_tmp = IAND(data_tmp, mask_left(20))
17466 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17467 533245 : ipack = ipack + 1
17468 533245 : packed_data(ipack) = pack_tmp
17469 533245 : data_tmp = full_data(idata)
17470 533245 : pack_tmp = ISHFT(data_tmp, 59)
17471 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17472 533245 : idata = idata + 1
17473 533245 : data_tmp = full_data(idata)
17474 533245 : data_tmp = ISHFT(data_tmp, 39)
17475 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17476 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17477 533245 : idata = idata + 1
17478 533245 : data_tmp = full_data(idata)
17479 533245 : data_tmp = ISHFT(data_tmp, 39)
17480 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17481 533245 : pack_tmp = ISHFT(pack_tmp, -9)
17482 533245 : idata = idata + 1
17483 533245 : data_tmp = full_data(idata)
17484 533245 : data_tmp = ISHFT(data_tmp, 39)
17485 533245 : data_tmp = IAND(data_tmp, mask_left(9))
17486 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17487 533245 : ipack = ipack + 1
17488 533245 : packed_data(ipack) = pack_tmp
17489 533245 : data_tmp = full_data(idata)
17490 533245 : pack_tmp = ISHFT(data_tmp, 48)
17491 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17492 533245 : idata = idata + 1
17493 533245 : data_tmp = full_data(idata)
17494 533245 : data_tmp = ISHFT(data_tmp, 39)
17495 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17496 533245 : pack_tmp = ISHFT(pack_tmp, -23)
17497 533245 : idata = idata + 1
17498 533245 : data_tmp = full_data(idata)
17499 533245 : data_tmp = ISHFT(data_tmp, 39)
17500 533245 : data_tmp = IAND(data_tmp, mask_left(23))
17501 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17502 533245 : ipack = ipack + 1
17503 533245 : packed_data(ipack) = pack_tmp
17504 533245 : data_tmp = full_data(idata)
17505 533245 : pack_tmp = ISHFT(data_tmp, 62)
17506 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17507 533245 : idata = idata + 1
17508 533245 : data_tmp = full_data(idata)
17509 533245 : data_tmp = ISHFT(data_tmp, 39)
17510 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17511 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17512 533245 : idata = idata + 1
17513 533245 : data_tmp = full_data(idata)
17514 533245 : data_tmp = ISHFT(data_tmp, 39)
17515 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17516 533245 : pack_tmp = ISHFT(pack_tmp, -12)
17517 533245 : idata = idata + 1
17518 533245 : data_tmp = full_data(idata)
17519 533245 : data_tmp = ISHFT(data_tmp, 39)
17520 533245 : data_tmp = IAND(data_tmp, mask_left(12))
17521 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17522 533245 : ipack = ipack + 1
17523 533245 : packed_data(ipack) = pack_tmp
17524 533245 : data_tmp = full_data(idata)
17525 533245 : pack_tmp = ISHFT(data_tmp, 51)
17526 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17527 533245 : idata = idata + 1
17528 533245 : data_tmp = full_data(idata)
17529 533245 : data_tmp = ISHFT(data_tmp, 39)
17530 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17531 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17532 533245 : idata = idata + 1
17533 533245 : data_tmp = full_data(idata)
17534 533245 : data_tmp = ISHFT(data_tmp, 39)
17535 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17536 533245 : pack_tmp = ISHFT(pack_tmp, -1)
17537 533245 : idata = idata + 1
17538 533245 : data_tmp = full_data(idata)
17539 533245 : data_tmp = ISHFT(data_tmp, 39)
17540 533245 : data_tmp = IAND(data_tmp, mask_left(1))
17541 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17542 533245 : ipack = ipack + 1
17543 533245 : packed_data(ipack) = pack_tmp
17544 533245 : data_tmp = full_data(idata)
17545 533245 : pack_tmp = ISHFT(data_tmp, 40)
17546 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17547 533245 : idata = idata + 1
17548 533245 : data_tmp = full_data(idata)
17549 533245 : data_tmp = ISHFT(data_tmp, 39)
17550 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17551 533245 : pack_tmp = ISHFT(pack_tmp, -15)
17552 533245 : idata = idata + 1
17553 533245 : data_tmp = full_data(idata)
17554 533245 : data_tmp = ISHFT(data_tmp, 39)
17555 533245 : data_tmp = IAND(data_tmp, mask_left(15))
17556 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17557 533245 : ipack = ipack + 1
17558 533245 : packed_data(ipack) = pack_tmp
17559 533245 : data_tmp = full_data(idata)
17560 533245 : pack_tmp = ISHFT(data_tmp, 54)
17561 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17562 533245 : idata = idata + 1
17563 533245 : data_tmp = full_data(idata)
17564 533245 : data_tmp = ISHFT(data_tmp, 39)
17565 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17566 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17567 533245 : idata = idata + 1
17568 533245 : data_tmp = full_data(idata)
17569 533245 : data_tmp = ISHFT(data_tmp, 39)
17570 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17571 533245 : pack_tmp = ISHFT(pack_tmp, -4)
17572 533245 : idata = idata + 1
17573 533245 : data_tmp = full_data(idata)
17574 533245 : data_tmp = ISHFT(data_tmp, 39)
17575 533245 : data_tmp = IAND(data_tmp, mask_left(4))
17576 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17577 533245 : ipack = ipack + 1
17578 533245 : packed_data(ipack) = pack_tmp
17579 533245 : data_tmp = full_data(idata)
17580 533245 : pack_tmp = ISHFT(data_tmp, 43)
17581 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17582 533245 : idata = idata + 1
17583 533245 : data_tmp = full_data(idata)
17584 533245 : data_tmp = ISHFT(data_tmp, 39)
17585 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17586 533245 : pack_tmp = ISHFT(pack_tmp, -18)
17587 533245 : idata = idata + 1
17588 533245 : data_tmp = full_data(idata)
17589 533245 : data_tmp = ISHFT(data_tmp, 39)
17590 533245 : data_tmp = IAND(data_tmp, mask_left(18))
17591 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17592 533245 : ipack = ipack + 1
17593 533245 : packed_data(ipack) = pack_tmp
17594 533245 : data_tmp = full_data(idata)
17595 533245 : pack_tmp = ISHFT(data_tmp, 57)
17596 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17597 533245 : idata = idata + 1
17598 533245 : data_tmp = full_data(idata)
17599 533245 : data_tmp = ISHFT(data_tmp, 39)
17600 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17601 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17602 533245 : idata = idata + 1
17603 533245 : data_tmp = full_data(idata)
17604 533245 : data_tmp = ISHFT(data_tmp, 39)
17605 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17606 533245 : pack_tmp = ISHFT(pack_tmp, -7)
17607 533245 : idata = idata + 1
17608 533245 : data_tmp = full_data(idata)
17609 533245 : data_tmp = ISHFT(data_tmp, 39)
17610 533245 : data_tmp = IAND(data_tmp, mask_left(7))
17611 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17612 533245 : ipack = ipack + 1
17613 533245 : packed_data(ipack) = pack_tmp
17614 533245 : data_tmp = full_data(idata)
17615 533245 : pack_tmp = ISHFT(data_tmp, 46)
17616 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17617 533245 : idata = idata + 1
17618 533245 : data_tmp = full_data(idata)
17619 533245 : data_tmp = ISHFT(data_tmp, 39)
17620 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17621 533245 : pack_tmp = ISHFT(pack_tmp, -21)
17622 533245 : idata = idata + 1
17623 533245 : data_tmp = full_data(idata)
17624 533245 : data_tmp = ISHFT(data_tmp, 39)
17625 533245 : data_tmp = IAND(data_tmp, mask_left(21))
17626 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17627 533245 : ipack = ipack + 1
17628 533245 : packed_data(ipack) = pack_tmp
17629 533245 : data_tmp = full_data(idata)
17630 533245 : pack_tmp = ISHFT(data_tmp, 60)
17631 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17632 533245 : idata = idata + 1
17633 533245 : data_tmp = full_data(idata)
17634 533245 : data_tmp = ISHFT(data_tmp, 39)
17635 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17636 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17637 533245 : idata = idata + 1
17638 533245 : data_tmp = full_data(idata)
17639 533245 : data_tmp = ISHFT(data_tmp, 39)
17640 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17641 533245 : pack_tmp = ISHFT(pack_tmp, -10)
17642 533245 : idata = idata + 1
17643 533245 : data_tmp = full_data(idata)
17644 533245 : data_tmp = ISHFT(data_tmp, 39)
17645 533245 : data_tmp = IAND(data_tmp, mask_left(10))
17646 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17647 533245 : ipack = ipack + 1
17648 533245 : packed_data(ipack) = pack_tmp
17649 533245 : data_tmp = full_data(idata)
17650 533245 : pack_tmp = ISHFT(data_tmp, 49)
17651 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17652 533245 : idata = idata + 1
17653 533245 : data_tmp = full_data(idata)
17654 533245 : data_tmp = ISHFT(data_tmp, 39)
17655 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17656 533245 : pack_tmp = ISHFT(pack_tmp, -24)
17657 533245 : idata = idata + 1
17658 533245 : data_tmp = full_data(idata)
17659 533245 : data_tmp = ISHFT(data_tmp, 39)
17660 533245 : data_tmp = IAND(data_tmp, mask_left(24))
17661 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17662 533245 : ipack = ipack + 1
17663 533245 : packed_data(ipack) = pack_tmp
17664 533245 : data_tmp = full_data(idata)
17665 533245 : pack_tmp = ISHFT(data_tmp, 63)
17666 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17667 533245 : idata = idata + 1
17668 533245 : data_tmp = full_data(idata)
17669 533245 : data_tmp = ISHFT(data_tmp, 39)
17670 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17671 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17672 533245 : idata = idata + 1
17673 533245 : data_tmp = full_data(idata)
17674 533245 : data_tmp = ISHFT(data_tmp, 39)
17675 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17676 533245 : pack_tmp = ISHFT(pack_tmp, -13)
17677 533245 : idata = idata + 1
17678 533245 : data_tmp = full_data(idata)
17679 533245 : data_tmp = ISHFT(data_tmp, 39)
17680 533245 : data_tmp = IAND(data_tmp, mask_left(13))
17681 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17682 533245 : ipack = ipack + 1
17683 533245 : packed_data(ipack) = pack_tmp
17684 533245 : data_tmp = full_data(idata)
17685 533245 : pack_tmp = ISHFT(data_tmp, 52)
17686 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17687 533245 : idata = idata + 1
17688 533245 : data_tmp = full_data(idata)
17689 533245 : data_tmp = ISHFT(data_tmp, 39)
17690 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17691 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17692 533245 : idata = idata + 1
17693 533245 : data_tmp = full_data(idata)
17694 533245 : data_tmp = ISHFT(data_tmp, 39)
17695 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17696 533245 : pack_tmp = ISHFT(pack_tmp, -2)
17697 533245 : idata = idata + 1
17698 533245 : data_tmp = full_data(idata)
17699 533245 : data_tmp = ISHFT(data_tmp, 39)
17700 533245 : data_tmp = IAND(data_tmp, mask_left(2))
17701 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17702 533245 : ipack = ipack + 1
17703 533245 : packed_data(ipack) = pack_tmp
17704 533245 : data_tmp = full_data(idata)
17705 533245 : pack_tmp = ISHFT(data_tmp, 41)
17706 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17707 533245 : idata = idata + 1
17708 533245 : data_tmp = full_data(idata)
17709 533245 : data_tmp = ISHFT(data_tmp, 39)
17710 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17711 533245 : pack_tmp = ISHFT(pack_tmp, -16)
17712 533245 : idata = idata + 1
17713 533245 : data_tmp = full_data(idata)
17714 533245 : data_tmp = ISHFT(data_tmp, 39)
17715 533245 : data_tmp = IAND(data_tmp, mask_left(16))
17716 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17717 533245 : ipack = ipack + 1
17718 533245 : packed_data(ipack) = pack_tmp
17719 533245 : data_tmp = full_data(idata)
17720 533245 : pack_tmp = ISHFT(data_tmp, 55)
17721 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17722 533245 : idata = idata + 1
17723 533245 : data_tmp = full_data(idata)
17724 533245 : data_tmp = ISHFT(data_tmp, 39)
17725 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17726 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17727 533245 : idata = idata + 1
17728 533245 : data_tmp = full_data(idata)
17729 533245 : data_tmp = ISHFT(data_tmp, 39)
17730 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17731 533245 : pack_tmp = ISHFT(pack_tmp, -5)
17732 533245 : idata = idata + 1
17733 533245 : data_tmp = full_data(idata)
17734 533245 : data_tmp = ISHFT(data_tmp, 39)
17735 533245 : data_tmp = IAND(data_tmp, mask_left(5))
17736 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17737 533245 : ipack = ipack + 1
17738 533245 : packed_data(ipack) = pack_tmp
17739 533245 : data_tmp = full_data(idata)
17740 533245 : pack_tmp = ISHFT(data_tmp, 44)
17741 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17742 533245 : idata = idata + 1
17743 533245 : data_tmp = full_data(idata)
17744 533245 : data_tmp = ISHFT(data_tmp, 39)
17745 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17746 533245 : pack_tmp = ISHFT(pack_tmp, -19)
17747 533245 : idata = idata + 1
17748 533245 : data_tmp = full_data(idata)
17749 533245 : data_tmp = ISHFT(data_tmp, 39)
17750 533245 : data_tmp = IAND(data_tmp, mask_left(19))
17751 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17752 533245 : ipack = ipack + 1
17753 533245 : packed_data(ipack) = pack_tmp
17754 533245 : data_tmp = full_data(idata)
17755 533245 : pack_tmp = ISHFT(data_tmp, 58)
17756 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17757 533245 : idata = idata + 1
17758 533245 : data_tmp = full_data(idata)
17759 533245 : data_tmp = ISHFT(data_tmp, 39)
17760 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17761 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17762 533245 : idata = idata + 1
17763 533245 : data_tmp = full_data(idata)
17764 533245 : data_tmp = ISHFT(data_tmp, 39)
17765 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17766 533245 : pack_tmp = ISHFT(pack_tmp, -8)
17767 533245 : idata = idata + 1
17768 533245 : data_tmp = full_data(idata)
17769 533245 : data_tmp = ISHFT(data_tmp, 39)
17770 533245 : data_tmp = IAND(data_tmp, mask_left(8))
17771 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17772 533245 : ipack = ipack + 1
17773 533245 : packed_data(ipack) = pack_tmp
17774 533245 : data_tmp = full_data(idata)
17775 533245 : pack_tmp = ISHFT(data_tmp, 47)
17776 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17777 533245 : idata = idata + 1
17778 533245 : data_tmp = full_data(idata)
17779 533245 : data_tmp = ISHFT(data_tmp, 39)
17780 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17781 533245 : pack_tmp = ISHFT(pack_tmp, -22)
17782 533245 : idata = idata + 1
17783 533245 : data_tmp = full_data(idata)
17784 533245 : data_tmp = ISHFT(data_tmp, 39)
17785 533245 : data_tmp = IAND(data_tmp, mask_left(22))
17786 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17787 533245 : ipack = ipack + 1
17788 533245 : packed_data(ipack) = pack_tmp
17789 533245 : data_tmp = full_data(idata)
17790 533245 : pack_tmp = ISHFT(data_tmp, 61)
17791 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17792 533245 : idata = idata + 1
17793 533245 : data_tmp = full_data(idata)
17794 533245 : data_tmp = ISHFT(data_tmp, 39)
17795 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17796 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17797 533245 : idata = idata + 1
17798 533245 : data_tmp = full_data(idata)
17799 533245 : data_tmp = ISHFT(data_tmp, 39)
17800 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17801 533245 : pack_tmp = ISHFT(pack_tmp, -11)
17802 533245 : idata = idata + 1
17803 533245 : data_tmp = full_data(idata)
17804 533245 : data_tmp = ISHFT(data_tmp, 39)
17805 533245 : data_tmp = IAND(data_tmp, mask_left(11))
17806 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17807 533245 : ipack = ipack + 1
17808 533245 : packed_data(ipack) = pack_tmp
17809 533245 : data_tmp = full_data(idata)
17810 533245 : pack_tmp = ISHFT(data_tmp, 50)
17811 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17812 533245 : idata = idata + 1
17813 533245 : data_tmp = full_data(idata)
17814 533245 : data_tmp = ISHFT(data_tmp, 39)
17815 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17816 533245 : pack_tmp = ISHFT(pack_tmp, -25)
17817 533245 : idata = idata + 1
17818 533245 : data_tmp = full_data(idata)
17819 533245 : data_tmp = ISHFT(data_tmp, 39)
17820 533245 : pack_tmp = IOR(pack_tmp, data_tmp)
17821 : pack_tmp = ISHFT(pack_tmp, 0)
17822 533245 : pack_tmp = ISHFT(pack_tmp, 0)
17823 533245 : ipack = ipack + 1
17824 533369 : packed_data(ipack) = pack_tmp
17825 : END DO
17826 37326 : IF (Ndata_rep < Ndata) THEN
17827 7398 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17828 : END IF
17829 37326 : END SUBROUTINE ints2bits_25
17830 :
17831 : ! **************************************************************************************************
17832 : !> \brief ...
17833 : !> \param Ndata ...
17834 : !> \param packed_data ...
17835 : !> \param full_data ...
17836 : ! **************************************************************************************************
17837 161571 : 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 161571 : ipack = 0
17848 161571 : idata = 0
17849 161571 : pack_tmp = 0
17850 161571 : Ndata_rep = (Ndata/64)*64
17851 161571 : DO kdata = 1, Ndata_rep, 64
17852 2276559 : idata = idata + 1
17853 2276559 : data_tmp = ISHFT(pack_tmp, 25)
17854 2276559 : ipack = ipack + 1
17855 2276559 : pack_tmp = packed_data(ipack)
17856 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
17857 2276559 : pack_tmp = ISHFT(pack_tmp, -25)
17858 2276559 : idata = idata + 1
17859 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17860 2276559 : full_data(idata) = data_tmp
17861 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17862 2276559 : idata = idata + 1
17863 2276559 : data_tmp = ISHFT(pack_tmp, 11)
17864 2276559 : ipack = ipack + 1
17865 2276559 : pack_tmp = packed_data(ipack)
17866 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
17867 2276559 : pack_tmp = ISHFT(pack_tmp, -11)
17868 2276559 : idata = idata + 1
17869 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17870 2276559 : full_data(idata) = data_tmp
17871 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17872 2276559 : idata = idata + 1
17873 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17874 2276559 : full_data(idata) = data_tmp
17875 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17876 2276559 : idata = idata + 1
17877 2276559 : data_tmp = ISHFT(pack_tmp, 22)
17878 2276559 : ipack = ipack + 1
17879 2276559 : pack_tmp = packed_data(ipack)
17880 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
17881 2276559 : pack_tmp = ISHFT(pack_tmp, -22)
17882 2276559 : idata = idata + 1
17883 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17884 2276559 : full_data(idata) = data_tmp
17885 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17886 2276559 : idata = idata + 1
17887 2276559 : data_tmp = ISHFT(pack_tmp, 8)
17888 2276559 : ipack = ipack + 1
17889 2276559 : pack_tmp = packed_data(ipack)
17890 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17891 2276559 : pack_tmp = ISHFT(pack_tmp, -8)
17892 2276559 : idata = idata + 1
17893 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17894 2276559 : full_data(idata) = data_tmp
17895 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17896 2276559 : idata = idata + 1
17897 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17898 2276559 : full_data(idata) = data_tmp
17899 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17900 2276559 : idata = idata + 1
17901 2276559 : data_tmp = ISHFT(pack_tmp, 19)
17902 2276559 : ipack = ipack + 1
17903 2276559 : pack_tmp = packed_data(ipack)
17904 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
17905 2276559 : pack_tmp = ISHFT(pack_tmp, -19)
17906 2276559 : idata = idata + 1
17907 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17908 2276559 : full_data(idata) = data_tmp
17909 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17910 2276559 : idata = idata + 1
17911 2276559 : data_tmp = ISHFT(pack_tmp, 5)
17912 2276559 : ipack = ipack + 1
17913 2276559 : pack_tmp = packed_data(ipack)
17914 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
17915 2276559 : pack_tmp = ISHFT(pack_tmp, -5)
17916 2276559 : idata = idata + 1
17917 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17918 2276559 : full_data(idata) = data_tmp
17919 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17920 2276559 : idata = idata + 1
17921 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17922 2276559 : full_data(idata) = data_tmp
17923 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17924 2276559 : idata = idata + 1
17925 2276559 : data_tmp = ISHFT(pack_tmp, 16)
17926 2276559 : ipack = ipack + 1
17927 2276559 : pack_tmp = packed_data(ipack)
17928 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17929 2276559 : pack_tmp = ISHFT(pack_tmp, -16)
17930 2276559 : idata = idata + 1
17931 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17932 2276559 : full_data(idata) = data_tmp
17933 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17934 2276559 : idata = idata + 1
17935 2276559 : data_tmp = ISHFT(pack_tmp, 2)
17936 2276559 : ipack = ipack + 1
17937 2276559 : pack_tmp = packed_data(ipack)
17938 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
17939 2276559 : pack_tmp = ISHFT(pack_tmp, -2)
17940 2276559 : idata = idata + 1
17941 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17942 2276559 : full_data(idata) = data_tmp
17943 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17944 2276559 : idata = idata + 1
17945 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17946 2276559 : full_data(idata) = data_tmp
17947 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17948 2276559 : idata = idata + 1
17949 2276559 : data_tmp = ISHFT(pack_tmp, 13)
17950 2276559 : ipack = ipack + 1
17951 2276559 : pack_tmp = packed_data(ipack)
17952 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
17953 2276559 : pack_tmp = ISHFT(pack_tmp, -13)
17954 2276559 : idata = idata + 1
17955 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17956 2276559 : full_data(idata) = data_tmp
17957 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17958 2276559 : idata = idata + 1
17959 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17960 2276559 : full_data(idata) = data_tmp
17961 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17962 2276559 : idata = idata + 1
17963 2276559 : data_tmp = ISHFT(pack_tmp, 24)
17964 2276559 : ipack = ipack + 1
17965 2276559 : pack_tmp = packed_data(ipack)
17966 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17967 2276559 : pack_tmp = ISHFT(pack_tmp, -24)
17968 2276559 : idata = idata + 1
17969 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17970 2276559 : full_data(idata) = data_tmp
17971 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17972 2276559 : idata = idata + 1
17973 2276559 : data_tmp = ISHFT(pack_tmp, 10)
17974 2276559 : ipack = ipack + 1
17975 2276559 : pack_tmp = packed_data(ipack)
17976 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
17977 2276559 : pack_tmp = ISHFT(pack_tmp, -10)
17978 2276559 : idata = idata + 1
17979 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17980 2276559 : full_data(idata) = data_tmp
17981 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17982 2276559 : idata = idata + 1
17983 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17984 2276559 : full_data(idata) = data_tmp
17985 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17986 2276559 : idata = idata + 1
17987 2276559 : data_tmp = ISHFT(pack_tmp, 21)
17988 2276559 : ipack = ipack + 1
17989 2276559 : pack_tmp = packed_data(ipack)
17990 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
17991 2276559 : pack_tmp = ISHFT(pack_tmp, -21)
17992 2276559 : idata = idata + 1
17993 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17994 2276559 : full_data(idata) = data_tmp
17995 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17996 2276559 : idata = idata + 1
17997 2276559 : data_tmp = ISHFT(pack_tmp, 7)
17998 2276559 : ipack = ipack + 1
17999 2276559 : pack_tmp = packed_data(ipack)
18000 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
18001 2276559 : pack_tmp = ISHFT(pack_tmp, -7)
18002 2276559 : idata = idata + 1
18003 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18004 2276559 : full_data(idata) = data_tmp
18005 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18006 2276559 : idata = idata + 1
18007 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18008 2276559 : full_data(idata) = data_tmp
18009 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18010 2276559 : idata = idata + 1
18011 2276559 : data_tmp = ISHFT(pack_tmp, 18)
18012 2276559 : ipack = ipack + 1
18013 2276559 : pack_tmp = packed_data(ipack)
18014 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18015 2276559 : pack_tmp = ISHFT(pack_tmp, -18)
18016 2276559 : idata = idata + 1
18017 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18018 2276559 : full_data(idata) = data_tmp
18019 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18020 2276559 : idata = idata + 1
18021 2276559 : data_tmp = ISHFT(pack_tmp, 4)
18022 2276559 : ipack = ipack + 1
18023 2276559 : pack_tmp = packed_data(ipack)
18024 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18025 2276559 : pack_tmp = ISHFT(pack_tmp, -4)
18026 2276559 : idata = idata + 1
18027 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18028 2276559 : full_data(idata) = data_tmp
18029 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18030 2276559 : idata = idata + 1
18031 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18032 2276559 : full_data(idata) = data_tmp
18033 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18034 2276559 : idata = idata + 1
18035 2276559 : data_tmp = ISHFT(pack_tmp, 15)
18036 2276559 : ipack = ipack + 1
18037 2276559 : pack_tmp = packed_data(ipack)
18038 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
18039 2276559 : pack_tmp = ISHFT(pack_tmp, -15)
18040 2276559 : idata = idata + 1
18041 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18042 2276559 : full_data(idata) = data_tmp
18043 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18044 2276559 : idata = idata + 1
18045 2276559 : data_tmp = ISHFT(pack_tmp, 1)
18046 2276559 : ipack = ipack + 1
18047 2276559 : pack_tmp = packed_data(ipack)
18048 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
18049 2276559 : pack_tmp = ISHFT(pack_tmp, -1)
18050 2276559 : idata = idata + 1
18051 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18052 2276559 : full_data(idata) = data_tmp
18053 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18054 2276559 : idata = idata + 1
18055 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18056 2276559 : full_data(idata) = data_tmp
18057 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18058 2276559 : idata = idata + 1
18059 2276559 : data_tmp = ISHFT(pack_tmp, 12)
18060 2276559 : ipack = ipack + 1
18061 2276559 : pack_tmp = packed_data(ipack)
18062 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18063 2276559 : pack_tmp = ISHFT(pack_tmp, -12)
18064 2276559 : idata = idata + 1
18065 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18066 2276559 : full_data(idata) = data_tmp
18067 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18068 2276559 : idata = idata + 1
18069 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18070 2276559 : full_data(idata) = data_tmp
18071 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18072 2276559 : idata = idata + 1
18073 2276559 : data_tmp = ISHFT(pack_tmp, 23)
18074 2276559 : ipack = ipack + 1
18075 2276559 : pack_tmp = packed_data(ipack)
18076 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
18077 2276559 : pack_tmp = ISHFT(pack_tmp, -23)
18078 2276559 : idata = idata + 1
18079 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18080 2276559 : full_data(idata) = data_tmp
18081 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18082 2276559 : idata = idata + 1
18083 2276559 : data_tmp = ISHFT(pack_tmp, 9)
18084 2276559 : ipack = ipack + 1
18085 2276559 : pack_tmp = packed_data(ipack)
18086 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
18087 2276559 : pack_tmp = ISHFT(pack_tmp, -9)
18088 2276559 : idata = idata + 1
18089 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18090 2276559 : full_data(idata) = data_tmp
18091 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18092 2276559 : idata = idata + 1
18093 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18094 2276559 : full_data(idata) = data_tmp
18095 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18096 2276559 : idata = idata + 1
18097 2276559 : data_tmp = ISHFT(pack_tmp, 20)
18098 2276559 : ipack = ipack + 1
18099 2276559 : pack_tmp = packed_data(ipack)
18100 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18101 2276559 : pack_tmp = ISHFT(pack_tmp, -20)
18102 2276559 : idata = idata + 1
18103 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18104 2276559 : full_data(idata) = data_tmp
18105 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18106 2276559 : idata = idata + 1
18107 2276559 : data_tmp = ISHFT(pack_tmp, 6)
18108 2276559 : ipack = ipack + 1
18109 2276559 : pack_tmp = packed_data(ipack)
18110 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18111 2276559 : pack_tmp = ISHFT(pack_tmp, -6)
18112 2276559 : idata = idata + 1
18113 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18114 2276559 : full_data(idata) = data_tmp
18115 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18116 2276559 : idata = idata + 1
18117 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18118 2276559 : full_data(idata) = data_tmp
18119 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18120 2276559 : idata = idata + 1
18121 2276559 : data_tmp = ISHFT(pack_tmp, 17)
18122 2276559 : ipack = ipack + 1
18123 2276559 : pack_tmp = packed_data(ipack)
18124 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
18125 2276559 : pack_tmp = ISHFT(pack_tmp, -17)
18126 2276559 : idata = idata + 1
18127 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18128 2276559 : full_data(idata) = data_tmp
18129 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18130 2276559 : idata = idata + 1
18131 2276559 : data_tmp = ISHFT(pack_tmp, 3)
18132 2276559 : ipack = ipack + 1
18133 2276559 : pack_tmp = packed_data(ipack)
18134 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
18135 2276559 : pack_tmp = ISHFT(pack_tmp, -3)
18136 2276559 : idata = idata + 1
18137 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18138 2276559 : full_data(idata) = data_tmp
18139 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18140 2276559 : idata = idata + 1
18141 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18142 2276559 : full_data(idata) = data_tmp
18143 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18144 2276559 : idata = idata + 1
18145 2276559 : data_tmp = ISHFT(pack_tmp, 14)
18146 2276559 : ipack = ipack + 1
18147 2276559 : pack_tmp = packed_data(ipack)
18148 2276559 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18149 2276559 : pack_tmp = ISHFT(pack_tmp, -14)
18150 2276559 : idata = idata + 1
18151 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18152 2276559 : full_data(idata) = data_tmp
18153 2276559 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18154 2276559 : idata = idata + 1
18155 2276559 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18156 2276559 : full_data(idata) = data_tmp
18157 2277142 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18158 : END DO
18159 161571 : IF (Ndata_rep < Ndata) THEN
18160 35746 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18161 : END IF
18162 161571 : END SUBROUTINE bits2ints_25
18163 :
18164 : ! **************************************************************************************************
18165 : !> \brief ...
18166 : !> \param Ndata ...
18167 : !> \param packed_data ...
18168 : !> \param full_data ...
18169 : ! **************************************************************************************************
18170 30075 : 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 30075 : idata = 0
18181 30075 : ipack = 0
18182 30075 : Ndata_rep = (Ndata/64)*64
18183 30075 : DO kdata = 1, Ndata_rep, 64
18184 451537 : pack_tmp = 0
18185 451537 : idata = idata + 1
18186 451537 : data_tmp = full_data(idata)
18187 451537 : data_tmp = ISHFT(data_tmp, 38)
18188 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18189 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18190 451537 : idata = idata + 1
18191 451537 : data_tmp = full_data(idata)
18192 451537 : data_tmp = ISHFT(data_tmp, 38)
18193 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18194 451537 : pack_tmp = ISHFT(pack_tmp, -12)
18195 451537 : idata = idata + 1
18196 451537 : data_tmp = full_data(idata)
18197 451537 : data_tmp = ISHFT(data_tmp, 38)
18198 451537 : data_tmp = IAND(data_tmp, mask_left(12))
18199 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18200 451537 : ipack = ipack + 1
18201 451537 : packed_data(ipack) = pack_tmp
18202 451537 : data_tmp = full_data(idata)
18203 451537 : pack_tmp = ISHFT(data_tmp, 50)
18204 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18205 451537 : idata = idata + 1
18206 451537 : data_tmp = full_data(idata)
18207 451537 : data_tmp = ISHFT(data_tmp, 38)
18208 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18209 451537 : pack_tmp = ISHFT(pack_tmp, -24)
18210 451537 : idata = idata + 1
18211 451537 : data_tmp = full_data(idata)
18212 451537 : data_tmp = ISHFT(data_tmp, 38)
18213 451537 : data_tmp = IAND(data_tmp, mask_left(24))
18214 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18215 451537 : ipack = ipack + 1
18216 451537 : packed_data(ipack) = pack_tmp
18217 451537 : data_tmp = full_data(idata)
18218 451537 : pack_tmp = ISHFT(data_tmp, 62)
18219 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18220 451537 : idata = idata + 1
18221 451537 : data_tmp = full_data(idata)
18222 451537 : data_tmp = ISHFT(data_tmp, 38)
18223 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18224 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18225 451537 : idata = idata + 1
18226 451537 : data_tmp = full_data(idata)
18227 451537 : data_tmp = ISHFT(data_tmp, 38)
18228 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18229 451537 : pack_tmp = ISHFT(pack_tmp, -10)
18230 451537 : idata = idata + 1
18231 451537 : data_tmp = full_data(idata)
18232 451537 : data_tmp = ISHFT(data_tmp, 38)
18233 451537 : data_tmp = IAND(data_tmp, mask_left(10))
18234 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18235 451537 : ipack = ipack + 1
18236 451537 : packed_data(ipack) = pack_tmp
18237 451537 : data_tmp = full_data(idata)
18238 451537 : pack_tmp = ISHFT(data_tmp, 48)
18239 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18240 451537 : idata = idata + 1
18241 451537 : data_tmp = full_data(idata)
18242 451537 : data_tmp = ISHFT(data_tmp, 38)
18243 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18244 451537 : pack_tmp = ISHFT(pack_tmp, -22)
18245 451537 : idata = idata + 1
18246 451537 : data_tmp = full_data(idata)
18247 451537 : data_tmp = ISHFT(data_tmp, 38)
18248 451537 : data_tmp = IAND(data_tmp, mask_left(22))
18249 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18250 451537 : ipack = ipack + 1
18251 451537 : packed_data(ipack) = pack_tmp
18252 451537 : data_tmp = full_data(idata)
18253 451537 : pack_tmp = ISHFT(data_tmp, 60)
18254 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18255 451537 : idata = idata + 1
18256 451537 : data_tmp = full_data(idata)
18257 451537 : data_tmp = ISHFT(data_tmp, 38)
18258 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18259 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18260 451537 : idata = idata + 1
18261 451537 : data_tmp = full_data(idata)
18262 451537 : data_tmp = ISHFT(data_tmp, 38)
18263 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18264 451537 : pack_tmp = ISHFT(pack_tmp, -8)
18265 451537 : idata = idata + 1
18266 451537 : data_tmp = full_data(idata)
18267 451537 : data_tmp = ISHFT(data_tmp, 38)
18268 451537 : data_tmp = IAND(data_tmp, mask_left(8))
18269 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18270 451537 : ipack = ipack + 1
18271 451537 : packed_data(ipack) = pack_tmp
18272 451537 : data_tmp = full_data(idata)
18273 451537 : pack_tmp = ISHFT(data_tmp, 46)
18274 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18275 451537 : idata = idata + 1
18276 451537 : data_tmp = full_data(idata)
18277 451537 : data_tmp = ISHFT(data_tmp, 38)
18278 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18279 451537 : pack_tmp = ISHFT(pack_tmp, -20)
18280 451537 : idata = idata + 1
18281 451537 : data_tmp = full_data(idata)
18282 451537 : data_tmp = ISHFT(data_tmp, 38)
18283 451537 : data_tmp = IAND(data_tmp, mask_left(20))
18284 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18285 451537 : ipack = ipack + 1
18286 451537 : packed_data(ipack) = pack_tmp
18287 451537 : data_tmp = full_data(idata)
18288 451537 : pack_tmp = ISHFT(data_tmp, 58)
18289 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18290 451537 : idata = idata + 1
18291 451537 : data_tmp = full_data(idata)
18292 451537 : data_tmp = ISHFT(data_tmp, 38)
18293 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18294 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18295 451537 : idata = idata + 1
18296 451537 : data_tmp = full_data(idata)
18297 451537 : data_tmp = ISHFT(data_tmp, 38)
18298 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18299 451537 : pack_tmp = ISHFT(pack_tmp, -6)
18300 451537 : idata = idata + 1
18301 451537 : data_tmp = full_data(idata)
18302 451537 : data_tmp = ISHFT(data_tmp, 38)
18303 451537 : data_tmp = IAND(data_tmp, mask_left(6))
18304 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18305 451537 : ipack = ipack + 1
18306 451537 : packed_data(ipack) = pack_tmp
18307 451537 : data_tmp = full_data(idata)
18308 451537 : pack_tmp = ISHFT(data_tmp, 44)
18309 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18310 451537 : idata = idata + 1
18311 451537 : data_tmp = full_data(idata)
18312 451537 : data_tmp = ISHFT(data_tmp, 38)
18313 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18314 451537 : pack_tmp = ISHFT(pack_tmp, -18)
18315 451537 : idata = idata + 1
18316 451537 : data_tmp = full_data(idata)
18317 451537 : data_tmp = ISHFT(data_tmp, 38)
18318 451537 : data_tmp = IAND(data_tmp, mask_left(18))
18319 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18320 451537 : ipack = ipack + 1
18321 451537 : packed_data(ipack) = pack_tmp
18322 451537 : data_tmp = full_data(idata)
18323 451537 : pack_tmp = ISHFT(data_tmp, 56)
18324 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18325 451537 : idata = idata + 1
18326 451537 : data_tmp = full_data(idata)
18327 451537 : data_tmp = ISHFT(data_tmp, 38)
18328 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18329 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18330 451537 : idata = idata + 1
18331 451537 : data_tmp = full_data(idata)
18332 451537 : data_tmp = ISHFT(data_tmp, 38)
18333 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18334 451537 : pack_tmp = ISHFT(pack_tmp, -4)
18335 451537 : idata = idata + 1
18336 451537 : data_tmp = full_data(idata)
18337 451537 : data_tmp = ISHFT(data_tmp, 38)
18338 451537 : data_tmp = IAND(data_tmp, mask_left(4))
18339 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18340 451537 : ipack = ipack + 1
18341 451537 : packed_data(ipack) = pack_tmp
18342 451537 : data_tmp = full_data(idata)
18343 451537 : pack_tmp = ISHFT(data_tmp, 42)
18344 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18345 451537 : idata = idata + 1
18346 451537 : data_tmp = full_data(idata)
18347 451537 : data_tmp = ISHFT(data_tmp, 38)
18348 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18349 451537 : pack_tmp = ISHFT(pack_tmp, -16)
18350 451537 : idata = idata + 1
18351 451537 : data_tmp = full_data(idata)
18352 451537 : data_tmp = ISHFT(data_tmp, 38)
18353 451537 : data_tmp = IAND(data_tmp, mask_left(16))
18354 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18355 451537 : ipack = ipack + 1
18356 451537 : packed_data(ipack) = pack_tmp
18357 451537 : data_tmp = full_data(idata)
18358 451537 : pack_tmp = ISHFT(data_tmp, 54)
18359 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18360 451537 : idata = idata + 1
18361 451537 : data_tmp = full_data(idata)
18362 451537 : data_tmp = ISHFT(data_tmp, 38)
18363 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18364 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18365 451537 : idata = idata + 1
18366 451537 : data_tmp = full_data(idata)
18367 451537 : data_tmp = ISHFT(data_tmp, 38)
18368 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18369 451537 : pack_tmp = ISHFT(pack_tmp, -2)
18370 451537 : idata = idata + 1
18371 451537 : data_tmp = full_data(idata)
18372 451537 : data_tmp = ISHFT(data_tmp, 38)
18373 451537 : data_tmp = IAND(data_tmp, mask_left(2))
18374 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18375 451537 : ipack = ipack + 1
18376 451537 : packed_data(ipack) = pack_tmp
18377 451537 : data_tmp = full_data(idata)
18378 451537 : pack_tmp = ISHFT(data_tmp, 40)
18379 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18380 451537 : idata = idata + 1
18381 451537 : data_tmp = full_data(idata)
18382 451537 : data_tmp = ISHFT(data_tmp, 38)
18383 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18384 451537 : pack_tmp = ISHFT(pack_tmp, -14)
18385 451537 : idata = idata + 1
18386 451537 : data_tmp = full_data(idata)
18387 451537 : data_tmp = ISHFT(data_tmp, 38)
18388 451537 : data_tmp = IAND(data_tmp, mask_left(14))
18389 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18390 451537 : ipack = ipack + 1
18391 451537 : packed_data(ipack) = pack_tmp
18392 451537 : data_tmp = full_data(idata)
18393 451537 : pack_tmp = ISHFT(data_tmp, 52)
18394 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18395 451537 : idata = idata + 1
18396 451537 : data_tmp = full_data(idata)
18397 451537 : data_tmp = ISHFT(data_tmp, 38)
18398 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18399 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18400 451537 : idata = idata + 1
18401 451537 : data_tmp = full_data(idata)
18402 451537 : data_tmp = ISHFT(data_tmp, 38)
18403 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18404 451537 : pack_tmp = ISHFT(pack_tmp, 0)
18405 451537 : idata = idata + 1
18406 451537 : data_tmp = full_data(idata)
18407 : data_tmp = ISHFT(data_tmp, 38)
18408 451537 : data_tmp = IAND(data_tmp, mask_left(0))
18409 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18410 451537 : ipack = ipack + 1
18411 451537 : packed_data(ipack) = pack_tmp
18412 451537 : data_tmp = full_data(idata)
18413 451537 : pack_tmp = ISHFT(data_tmp, 38)
18414 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18415 451537 : idata = idata + 1
18416 451537 : data_tmp = full_data(idata)
18417 451537 : data_tmp = ISHFT(data_tmp, 38)
18418 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18419 451537 : pack_tmp = ISHFT(pack_tmp, -12)
18420 451537 : idata = idata + 1
18421 451537 : data_tmp = full_data(idata)
18422 451537 : data_tmp = ISHFT(data_tmp, 38)
18423 451537 : data_tmp = IAND(data_tmp, mask_left(12))
18424 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18425 451537 : ipack = ipack + 1
18426 451537 : packed_data(ipack) = pack_tmp
18427 451537 : data_tmp = full_data(idata)
18428 451537 : pack_tmp = ISHFT(data_tmp, 50)
18429 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18430 451537 : idata = idata + 1
18431 451537 : data_tmp = full_data(idata)
18432 451537 : data_tmp = ISHFT(data_tmp, 38)
18433 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18434 451537 : pack_tmp = ISHFT(pack_tmp, -24)
18435 451537 : idata = idata + 1
18436 451537 : data_tmp = full_data(idata)
18437 451537 : data_tmp = ISHFT(data_tmp, 38)
18438 451537 : data_tmp = IAND(data_tmp, mask_left(24))
18439 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18440 451537 : ipack = ipack + 1
18441 451537 : packed_data(ipack) = pack_tmp
18442 451537 : data_tmp = full_data(idata)
18443 451537 : pack_tmp = ISHFT(data_tmp, 62)
18444 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18445 451537 : idata = idata + 1
18446 451537 : data_tmp = full_data(idata)
18447 451537 : data_tmp = ISHFT(data_tmp, 38)
18448 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18449 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18450 451537 : idata = idata + 1
18451 451537 : data_tmp = full_data(idata)
18452 451537 : data_tmp = ISHFT(data_tmp, 38)
18453 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18454 451537 : pack_tmp = ISHFT(pack_tmp, -10)
18455 451537 : idata = idata + 1
18456 451537 : data_tmp = full_data(idata)
18457 451537 : data_tmp = ISHFT(data_tmp, 38)
18458 451537 : data_tmp = IAND(data_tmp, mask_left(10))
18459 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18460 451537 : ipack = ipack + 1
18461 451537 : packed_data(ipack) = pack_tmp
18462 451537 : data_tmp = full_data(idata)
18463 451537 : pack_tmp = ISHFT(data_tmp, 48)
18464 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18465 451537 : idata = idata + 1
18466 451537 : data_tmp = full_data(idata)
18467 451537 : data_tmp = ISHFT(data_tmp, 38)
18468 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18469 451537 : pack_tmp = ISHFT(pack_tmp, -22)
18470 451537 : idata = idata + 1
18471 451537 : data_tmp = full_data(idata)
18472 451537 : data_tmp = ISHFT(data_tmp, 38)
18473 451537 : data_tmp = IAND(data_tmp, mask_left(22))
18474 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18475 451537 : ipack = ipack + 1
18476 451537 : packed_data(ipack) = pack_tmp
18477 451537 : data_tmp = full_data(idata)
18478 451537 : pack_tmp = ISHFT(data_tmp, 60)
18479 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18480 451537 : idata = idata + 1
18481 451537 : data_tmp = full_data(idata)
18482 451537 : data_tmp = ISHFT(data_tmp, 38)
18483 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18484 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18485 451537 : idata = idata + 1
18486 451537 : data_tmp = full_data(idata)
18487 451537 : data_tmp = ISHFT(data_tmp, 38)
18488 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18489 451537 : pack_tmp = ISHFT(pack_tmp, -8)
18490 451537 : idata = idata + 1
18491 451537 : data_tmp = full_data(idata)
18492 451537 : data_tmp = ISHFT(data_tmp, 38)
18493 451537 : data_tmp = IAND(data_tmp, mask_left(8))
18494 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18495 451537 : ipack = ipack + 1
18496 451537 : packed_data(ipack) = pack_tmp
18497 451537 : data_tmp = full_data(idata)
18498 451537 : pack_tmp = ISHFT(data_tmp, 46)
18499 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18500 451537 : idata = idata + 1
18501 451537 : data_tmp = full_data(idata)
18502 451537 : data_tmp = ISHFT(data_tmp, 38)
18503 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18504 451537 : pack_tmp = ISHFT(pack_tmp, -20)
18505 451537 : idata = idata + 1
18506 451537 : data_tmp = full_data(idata)
18507 451537 : data_tmp = ISHFT(data_tmp, 38)
18508 451537 : data_tmp = IAND(data_tmp, mask_left(20))
18509 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18510 451537 : ipack = ipack + 1
18511 451537 : packed_data(ipack) = pack_tmp
18512 451537 : data_tmp = full_data(idata)
18513 451537 : pack_tmp = ISHFT(data_tmp, 58)
18514 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18515 451537 : idata = idata + 1
18516 451537 : data_tmp = full_data(idata)
18517 451537 : data_tmp = ISHFT(data_tmp, 38)
18518 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18519 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18520 451537 : idata = idata + 1
18521 451537 : data_tmp = full_data(idata)
18522 451537 : data_tmp = ISHFT(data_tmp, 38)
18523 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18524 451537 : pack_tmp = ISHFT(pack_tmp, -6)
18525 451537 : idata = idata + 1
18526 451537 : data_tmp = full_data(idata)
18527 451537 : data_tmp = ISHFT(data_tmp, 38)
18528 451537 : data_tmp = IAND(data_tmp, mask_left(6))
18529 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18530 451537 : ipack = ipack + 1
18531 451537 : packed_data(ipack) = pack_tmp
18532 451537 : data_tmp = full_data(idata)
18533 451537 : pack_tmp = ISHFT(data_tmp, 44)
18534 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18535 451537 : idata = idata + 1
18536 451537 : data_tmp = full_data(idata)
18537 451537 : data_tmp = ISHFT(data_tmp, 38)
18538 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18539 451537 : pack_tmp = ISHFT(pack_tmp, -18)
18540 451537 : idata = idata + 1
18541 451537 : data_tmp = full_data(idata)
18542 451537 : data_tmp = ISHFT(data_tmp, 38)
18543 451537 : data_tmp = IAND(data_tmp, mask_left(18))
18544 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18545 451537 : ipack = ipack + 1
18546 451537 : packed_data(ipack) = pack_tmp
18547 451537 : data_tmp = full_data(idata)
18548 451537 : pack_tmp = ISHFT(data_tmp, 56)
18549 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18550 451537 : idata = idata + 1
18551 451537 : data_tmp = full_data(idata)
18552 451537 : data_tmp = ISHFT(data_tmp, 38)
18553 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18554 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18555 451537 : idata = idata + 1
18556 451537 : data_tmp = full_data(idata)
18557 451537 : data_tmp = ISHFT(data_tmp, 38)
18558 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18559 451537 : pack_tmp = ISHFT(pack_tmp, -4)
18560 451537 : idata = idata + 1
18561 451537 : data_tmp = full_data(idata)
18562 451537 : data_tmp = ISHFT(data_tmp, 38)
18563 451537 : data_tmp = IAND(data_tmp, mask_left(4))
18564 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18565 451537 : ipack = ipack + 1
18566 451537 : packed_data(ipack) = pack_tmp
18567 451537 : data_tmp = full_data(idata)
18568 451537 : pack_tmp = ISHFT(data_tmp, 42)
18569 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18570 451537 : idata = idata + 1
18571 451537 : data_tmp = full_data(idata)
18572 451537 : data_tmp = ISHFT(data_tmp, 38)
18573 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18574 451537 : pack_tmp = ISHFT(pack_tmp, -16)
18575 451537 : idata = idata + 1
18576 451537 : data_tmp = full_data(idata)
18577 451537 : data_tmp = ISHFT(data_tmp, 38)
18578 451537 : data_tmp = IAND(data_tmp, mask_left(16))
18579 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18580 451537 : ipack = ipack + 1
18581 451537 : packed_data(ipack) = pack_tmp
18582 451537 : data_tmp = full_data(idata)
18583 451537 : pack_tmp = ISHFT(data_tmp, 54)
18584 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18585 451537 : idata = idata + 1
18586 451537 : data_tmp = full_data(idata)
18587 451537 : data_tmp = ISHFT(data_tmp, 38)
18588 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18589 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18590 451537 : idata = idata + 1
18591 451537 : data_tmp = full_data(idata)
18592 451537 : data_tmp = ISHFT(data_tmp, 38)
18593 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18594 451537 : pack_tmp = ISHFT(pack_tmp, -2)
18595 451537 : idata = idata + 1
18596 451537 : data_tmp = full_data(idata)
18597 451537 : data_tmp = ISHFT(data_tmp, 38)
18598 451537 : data_tmp = IAND(data_tmp, mask_left(2))
18599 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18600 451537 : ipack = ipack + 1
18601 451537 : packed_data(ipack) = pack_tmp
18602 451537 : data_tmp = full_data(idata)
18603 451537 : pack_tmp = ISHFT(data_tmp, 40)
18604 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18605 451537 : idata = idata + 1
18606 451537 : data_tmp = full_data(idata)
18607 451537 : data_tmp = ISHFT(data_tmp, 38)
18608 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18609 451537 : pack_tmp = ISHFT(pack_tmp, -14)
18610 451537 : idata = idata + 1
18611 451537 : data_tmp = full_data(idata)
18612 451537 : data_tmp = ISHFT(data_tmp, 38)
18613 451537 : data_tmp = IAND(data_tmp, mask_left(14))
18614 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18615 451537 : ipack = ipack + 1
18616 451537 : packed_data(ipack) = pack_tmp
18617 451537 : data_tmp = full_data(idata)
18618 451537 : pack_tmp = ISHFT(data_tmp, 52)
18619 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18620 451537 : idata = idata + 1
18621 451537 : data_tmp = full_data(idata)
18622 451537 : data_tmp = ISHFT(data_tmp, 38)
18623 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18624 451537 : pack_tmp = ISHFT(pack_tmp, -26)
18625 451537 : idata = idata + 1
18626 451537 : data_tmp = full_data(idata)
18627 451537 : data_tmp = ISHFT(data_tmp, 38)
18628 451537 : pack_tmp = IOR(pack_tmp, data_tmp)
18629 : pack_tmp = ISHFT(pack_tmp, 0)
18630 451537 : pack_tmp = ISHFT(pack_tmp, 0)
18631 451537 : ipack = ipack + 1
18632 451663 : packed_data(ipack) = pack_tmp
18633 : END DO
18634 30075 : IF (Ndata_rep < Ndata) THEN
18635 3422 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18636 : END IF
18637 30075 : END SUBROUTINE ints2bits_26
18638 :
18639 : ! **************************************************************************************************
18640 : !> \brief ...
18641 : !> \param Ndata ...
18642 : !> \param packed_data ...
18643 : !> \param full_data ...
18644 : ! **************************************************************************************************
18645 133483 : 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 133483 : ipack = 0
18656 133483 : idata = 0
18657 133483 : pack_tmp = 0
18658 133483 : Ndata_rep = (Ndata/64)*64
18659 133483 : DO kdata = 1, Ndata_rep, 64
18660 1955879 : idata = idata + 1
18661 1955879 : data_tmp = ISHFT(pack_tmp, 26)
18662 1955879 : ipack = ipack + 1
18663 1955879 : pack_tmp = packed_data(ipack)
18664 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18665 1955879 : pack_tmp = ISHFT(pack_tmp, -26)
18666 1955879 : idata = idata + 1
18667 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18668 1955879 : full_data(idata) = data_tmp
18669 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18670 1955879 : idata = idata + 1
18671 1955879 : data_tmp = ISHFT(pack_tmp, 14)
18672 1955879 : ipack = ipack + 1
18673 1955879 : pack_tmp = packed_data(ipack)
18674 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18675 1955879 : pack_tmp = ISHFT(pack_tmp, -14)
18676 1955879 : idata = idata + 1
18677 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18678 1955879 : full_data(idata) = data_tmp
18679 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18680 1955879 : idata = idata + 1
18681 1955879 : data_tmp = ISHFT(pack_tmp, 2)
18682 1955879 : ipack = ipack + 1
18683 1955879 : pack_tmp = packed_data(ipack)
18684 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18685 1955879 : pack_tmp = ISHFT(pack_tmp, -2)
18686 1955879 : idata = idata + 1
18687 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18688 1955879 : full_data(idata) = data_tmp
18689 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18690 1955879 : idata = idata + 1
18691 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18692 1955879 : full_data(idata) = data_tmp
18693 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18694 1955879 : idata = idata + 1
18695 1955879 : data_tmp = ISHFT(pack_tmp, 16)
18696 1955879 : ipack = ipack + 1
18697 1955879 : pack_tmp = packed_data(ipack)
18698 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18699 1955879 : pack_tmp = ISHFT(pack_tmp, -16)
18700 1955879 : idata = idata + 1
18701 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18702 1955879 : full_data(idata) = data_tmp
18703 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18704 1955879 : idata = idata + 1
18705 1955879 : data_tmp = ISHFT(pack_tmp, 4)
18706 1955879 : ipack = ipack + 1
18707 1955879 : pack_tmp = packed_data(ipack)
18708 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18709 1955879 : pack_tmp = ISHFT(pack_tmp, -4)
18710 1955879 : idata = idata + 1
18711 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18712 1955879 : full_data(idata) = data_tmp
18713 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18714 1955879 : idata = idata + 1
18715 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18716 1955879 : full_data(idata) = data_tmp
18717 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18718 1955879 : idata = idata + 1
18719 1955879 : data_tmp = ISHFT(pack_tmp, 18)
18720 1955879 : ipack = ipack + 1
18721 1955879 : pack_tmp = packed_data(ipack)
18722 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18723 1955879 : pack_tmp = ISHFT(pack_tmp, -18)
18724 1955879 : idata = idata + 1
18725 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18726 1955879 : full_data(idata) = data_tmp
18727 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18728 1955879 : idata = idata + 1
18729 1955879 : data_tmp = ISHFT(pack_tmp, 6)
18730 1955879 : ipack = ipack + 1
18731 1955879 : pack_tmp = packed_data(ipack)
18732 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18733 1955879 : pack_tmp = ISHFT(pack_tmp, -6)
18734 1955879 : idata = idata + 1
18735 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18736 1955879 : full_data(idata) = data_tmp
18737 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18738 1955879 : idata = idata + 1
18739 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18740 1955879 : full_data(idata) = data_tmp
18741 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18742 1955879 : idata = idata + 1
18743 1955879 : data_tmp = ISHFT(pack_tmp, 20)
18744 1955879 : ipack = ipack + 1
18745 1955879 : pack_tmp = packed_data(ipack)
18746 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18747 1955879 : pack_tmp = ISHFT(pack_tmp, -20)
18748 1955879 : idata = idata + 1
18749 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18750 1955879 : full_data(idata) = data_tmp
18751 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18752 1955879 : idata = idata + 1
18753 1955879 : data_tmp = ISHFT(pack_tmp, 8)
18754 1955879 : ipack = ipack + 1
18755 1955879 : pack_tmp = packed_data(ipack)
18756 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18757 1955879 : pack_tmp = ISHFT(pack_tmp, -8)
18758 1955879 : idata = idata + 1
18759 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18760 1955879 : full_data(idata) = data_tmp
18761 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18762 1955879 : idata = idata + 1
18763 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18764 1955879 : full_data(idata) = data_tmp
18765 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18766 1955879 : idata = idata + 1
18767 1955879 : data_tmp = ISHFT(pack_tmp, 22)
18768 1955879 : ipack = ipack + 1
18769 1955879 : pack_tmp = packed_data(ipack)
18770 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18771 1955879 : pack_tmp = ISHFT(pack_tmp, -22)
18772 1955879 : idata = idata + 1
18773 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18774 1955879 : full_data(idata) = data_tmp
18775 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18776 1955879 : idata = idata + 1
18777 1955879 : data_tmp = ISHFT(pack_tmp, 10)
18778 1955879 : ipack = ipack + 1
18779 1955879 : pack_tmp = packed_data(ipack)
18780 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18781 1955879 : pack_tmp = ISHFT(pack_tmp, -10)
18782 1955879 : idata = idata + 1
18783 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18784 1955879 : full_data(idata) = data_tmp
18785 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18786 1955879 : idata = idata + 1
18787 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18788 1955879 : full_data(idata) = data_tmp
18789 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18790 1955879 : idata = idata + 1
18791 1955879 : data_tmp = ISHFT(pack_tmp, 24)
18792 1955879 : ipack = ipack + 1
18793 1955879 : pack_tmp = packed_data(ipack)
18794 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18795 1955879 : pack_tmp = ISHFT(pack_tmp, -24)
18796 1955879 : idata = idata + 1
18797 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18798 1955879 : full_data(idata) = data_tmp
18799 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18800 1955879 : idata = idata + 1
18801 1955879 : data_tmp = ISHFT(pack_tmp, 12)
18802 1955879 : ipack = ipack + 1
18803 1955879 : pack_tmp = packed_data(ipack)
18804 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18805 1955879 : pack_tmp = ISHFT(pack_tmp, -12)
18806 1955879 : idata = idata + 1
18807 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18808 1955879 : full_data(idata) = data_tmp
18809 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18810 1955879 : idata = idata + 1
18811 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18812 1955879 : full_data(idata) = data_tmp
18813 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18814 1955879 : idata = idata + 1
18815 1955879 : data_tmp = ISHFT(pack_tmp, 26)
18816 1955879 : ipack = ipack + 1
18817 1955879 : pack_tmp = packed_data(ipack)
18818 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18819 1955879 : pack_tmp = ISHFT(pack_tmp, -26)
18820 1955879 : idata = idata + 1
18821 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18822 1955879 : full_data(idata) = data_tmp
18823 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18824 1955879 : idata = idata + 1
18825 1955879 : data_tmp = ISHFT(pack_tmp, 14)
18826 1955879 : ipack = ipack + 1
18827 1955879 : pack_tmp = packed_data(ipack)
18828 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18829 1955879 : pack_tmp = ISHFT(pack_tmp, -14)
18830 1955879 : idata = idata + 1
18831 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18832 1955879 : full_data(idata) = data_tmp
18833 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18834 1955879 : idata = idata + 1
18835 1955879 : data_tmp = ISHFT(pack_tmp, 2)
18836 1955879 : ipack = ipack + 1
18837 1955879 : pack_tmp = packed_data(ipack)
18838 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18839 1955879 : pack_tmp = ISHFT(pack_tmp, -2)
18840 1955879 : idata = idata + 1
18841 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18842 1955879 : full_data(idata) = data_tmp
18843 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18844 1955879 : idata = idata + 1
18845 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18846 1955879 : full_data(idata) = data_tmp
18847 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18848 1955879 : idata = idata + 1
18849 1955879 : data_tmp = ISHFT(pack_tmp, 16)
18850 1955879 : ipack = ipack + 1
18851 1955879 : pack_tmp = packed_data(ipack)
18852 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18853 1955879 : pack_tmp = ISHFT(pack_tmp, -16)
18854 1955879 : idata = idata + 1
18855 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18856 1955879 : full_data(idata) = data_tmp
18857 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18858 1955879 : idata = idata + 1
18859 1955879 : data_tmp = ISHFT(pack_tmp, 4)
18860 1955879 : ipack = ipack + 1
18861 1955879 : pack_tmp = packed_data(ipack)
18862 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18863 1955879 : pack_tmp = ISHFT(pack_tmp, -4)
18864 1955879 : idata = idata + 1
18865 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18866 1955879 : full_data(idata) = data_tmp
18867 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18868 1955879 : idata = idata + 1
18869 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18870 1955879 : full_data(idata) = data_tmp
18871 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18872 1955879 : idata = idata + 1
18873 1955879 : data_tmp = ISHFT(pack_tmp, 18)
18874 1955879 : ipack = ipack + 1
18875 1955879 : pack_tmp = packed_data(ipack)
18876 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18877 1955879 : pack_tmp = ISHFT(pack_tmp, -18)
18878 1955879 : idata = idata + 1
18879 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18880 1955879 : full_data(idata) = data_tmp
18881 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18882 1955879 : idata = idata + 1
18883 1955879 : data_tmp = ISHFT(pack_tmp, 6)
18884 1955879 : ipack = ipack + 1
18885 1955879 : pack_tmp = packed_data(ipack)
18886 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18887 1955879 : pack_tmp = ISHFT(pack_tmp, -6)
18888 1955879 : idata = idata + 1
18889 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18890 1955879 : full_data(idata) = data_tmp
18891 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18892 1955879 : idata = idata + 1
18893 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18894 1955879 : full_data(idata) = data_tmp
18895 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18896 1955879 : idata = idata + 1
18897 1955879 : data_tmp = ISHFT(pack_tmp, 20)
18898 1955879 : ipack = ipack + 1
18899 1955879 : pack_tmp = packed_data(ipack)
18900 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18901 1955879 : pack_tmp = ISHFT(pack_tmp, -20)
18902 1955879 : idata = idata + 1
18903 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18904 1955879 : full_data(idata) = data_tmp
18905 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18906 1955879 : idata = idata + 1
18907 1955879 : data_tmp = ISHFT(pack_tmp, 8)
18908 1955879 : ipack = ipack + 1
18909 1955879 : pack_tmp = packed_data(ipack)
18910 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18911 1955879 : pack_tmp = ISHFT(pack_tmp, -8)
18912 1955879 : idata = idata + 1
18913 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18914 1955879 : full_data(idata) = data_tmp
18915 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18916 1955879 : idata = idata + 1
18917 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18918 1955879 : full_data(idata) = data_tmp
18919 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18920 1955879 : idata = idata + 1
18921 1955879 : data_tmp = ISHFT(pack_tmp, 22)
18922 1955879 : ipack = ipack + 1
18923 1955879 : pack_tmp = packed_data(ipack)
18924 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18925 1955879 : pack_tmp = ISHFT(pack_tmp, -22)
18926 1955879 : idata = idata + 1
18927 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18928 1955879 : full_data(idata) = data_tmp
18929 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18930 1955879 : idata = idata + 1
18931 1955879 : data_tmp = ISHFT(pack_tmp, 10)
18932 1955879 : ipack = ipack + 1
18933 1955879 : pack_tmp = packed_data(ipack)
18934 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18935 1955879 : pack_tmp = ISHFT(pack_tmp, -10)
18936 1955879 : idata = idata + 1
18937 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18938 1955879 : full_data(idata) = data_tmp
18939 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18940 1955879 : idata = idata + 1
18941 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18942 1955879 : full_data(idata) = data_tmp
18943 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18944 1955879 : idata = idata + 1
18945 1955879 : data_tmp = ISHFT(pack_tmp, 24)
18946 1955879 : ipack = ipack + 1
18947 1955879 : pack_tmp = packed_data(ipack)
18948 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18949 1955879 : pack_tmp = ISHFT(pack_tmp, -24)
18950 1955879 : idata = idata + 1
18951 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18952 1955879 : full_data(idata) = data_tmp
18953 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18954 1955879 : idata = idata + 1
18955 1955879 : data_tmp = ISHFT(pack_tmp, 12)
18956 1955879 : ipack = ipack + 1
18957 1955879 : pack_tmp = packed_data(ipack)
18958 1955879 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18959 1955879 : pack_tmp = ISHFT(pack_tmp, -12)
18960 1955879 : idata = idata + 1
18961 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18962 1955879 : full_data(idata) = data_tmp
18963 1955879 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18964 1955879 : idata = idata + 1
18965 1955879 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18966 1955879 : full_data(idata) = data_tmp
18967 1956402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18968 : END DO
18969 133483 : IF (Ndata_rep < Ndata) THEN
18970 20914 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18971 : END IF
18972 133483 : END SUBROUTINE bits2ints_26
18973 :
18974 : ! **************************************************************************************************
18975 : !> \brief ...
18976 : !> \param Ndata ...
18977 : !> \param packed_data ...
18978 : !> \param full_data ...
18979 : ! **************************************************************************************************
18980 29614 : 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 29614 : idata = 0
18991 29614 : ipack = 0
18992 29614 : Ndata_rep = (Ndata/64)*64
18993 29614 : DO kdata = 1, Ndata_rep, 64
18994 446845 : pack_tmp = 0
18995 446845 : idata = idata + 1
18996 446845 : data_tmp = full_data(idata)
18997 446845 : data_tmp = ISHFT(data_tmp, 37)
18998 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
18999 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19000 446845 : idata = idata + 1
19001 446845 : data_tmp = full_data(idata)
19002 446845 : data_tmp = ISHFT(data_tmp, 37)
19003 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19004 446845 : pack_tmp = ISHFT(pack_tmp, -10)
19005 446845 : idata = idata + 1
19006 446845 : data_tmp = full_data(idata)
19007 446845 : data_tmp = ISHFT(data_tmp, 37)
19008 446845 : data_tmp = IAND(data_tmp, mask_left(10))
19009 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19010 446845 : ipack = ipack + 1
19011 446845 : packed_data(ipack) = pack_tmp
19012 446845 : data_tmp = full_data(idata)
19013 446845 : pack_tmp = ISHFT(data_tmp, 47)
19014 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19015 446845 : idata = idata + 1
19016 446845 : data_tmp = full_data(idata)
19017 446845 : data_tmp = ISHFT(data_tmp, 37)
19018 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19019 446845 : pack_tmp = ISHFT(pack_tmp, -20)
19020 446845 : idata = idata + 1
19021 446845 : data_tmp = full_data(idata)
19022 446845 : data_tmp = ISHFT(data_tmp, 37)
19023 446845 : data_tmp = IAND(data_tmp, mask_left(20))
19024 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19025 446845 : ipack = ipack + 1
19026 446845 : packed_data(ipack) = pack_tmp
19027 446845 : data_tmp = full_data(idata)
19028 446845 : pack_tmp = ISHFT(data_tmp, 57)
19029 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19030 446845 : idata = idata + 1
19031 446845 : data_tmp = full_data(idata)
19032 446845 : data_tmp = ISHFT(data_tmp, 37)
19033 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19034 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19035 446845 : idata = idata + 1
19036 446845 : data_tmp = full_data(idata)
19037 446845 : data_tmp = ISHFT(data_tmp, 37)
19038 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19039 446845 : pack_tmp = ISHFT(pack_tmp, -3)
19040 446845 : idata = idata + 1
19041 446845 : data_tmp = full_data(idata)
19042 446845 : data_tmp = ISHFT(data_tmp, 37)
19043 446845 : data_tmp = IAND(data_tmp, mask_left(3))
19044 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19045 446845 : ipack = ipack + 1
19046 446845 : packed_data(ipack) = pack_tmp
19047 446845 : data_tmp = full_data(idata)
19048 446845 : pack_tmp = ISHFT(data_tmp, 40)
19049 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19050 446845 : idata = idata + 1
19051 446845 : data_tmp = full_data(idata)
19052 446845 : data_tmp = ISHFT(data_tmp, 37)
19053 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19054 446845 : pack_tmp = ISHFT(pack_tmp, -13)
19055 446845 : idata = idata + 1
19056 446845 : data_tmp = full_data(idata)
19057 446845 : data_tmp = ISHFT(data_tmp, 37)
19058 446845 : data_tmp = IAND(data_tmp, mask_left(13))
19059 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19060 446845 : ipack = ipack + 1
19061 446845 : packed_data(ipack) = pack_tmp
19062 446845 : data_tmp = full_data(idata)
19063 446845 : pack_tmp = ISHFT(data_tmp, 50)
19064 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19065 446845 : idata = idata + 1
19066 446845 : data_tmp = full_data(idata)
19067 446845 : data_tmp = ISHFT(data_tmp, 37)
19068 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19069 446845 : pack_tmp = ISHFT(pack_tmp, -23)
19070 446845 : idata = idata + 1
19071 446845 : data_tmp = full_data(idata)
19072 446845 : data_tmp = ISHFT(data_tmp, 37)
19073 446845 : data_tmp = IAND(data_tmp, mask_left(23))
19074 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19075 446845 : ipack = ipack + 1
19076 446845 : packed_data(ipack) = pack_tmp
19077 446845 : data_tmp = full_data(idata)
19078 446845 : pack_tmp = ISHFT(data_tmp, 60)
19079 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19080 446845 : idata = idata + 1
19081 446845 : data_tmp = full_data(idata)
19082 446845 : data_tmp = ISHFT(data_tmp, 37)
19083 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19084 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19085 446845 : idata = idata + 1
19086 446845 : data_tmp = full_data(idata)
19087 446845 : data_tmp = ISHFT(data_tmp, 37)
19088 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19089 446845 : pack_tmp = ISHFT(pack_tmp, -6)
19090 446845 : idata = idata + 1
19091 446845 : data_tmp = full_data(idata)
19092 446845 : data_tmp = ISHFT(data_tmp, 37)
19093 446845 : data_tmp = IAND(data_tmp, mask_left(6))
19094 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19095 446845 : ipack = ipack + 1
19096 446845 : packed_data(ipack) = pack_tmp
19097 446845 : data_tmp = full_data(idata)
19098 446845 : pack_tmp = ISHFT(data_tmp, 43)
19099 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19100 446845 : idata = idata + 1
19101 446845 : data_tmp = full_data(idata)
19102 446845 : data_tmp = ISHFT(data_tmp, 37)
19103 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19104 446845 : pack_tmp = ISHFT(pack_tmp, -16)
19105 446845 : idata = idata + 1
19106 446845 : data_tmp = full_data(idata)
19107 446845 : data_tmp = ISHFT(data_tmp, 37)
19108 446845 : data_tmp = IAND(data_tmp, mask_left(16))
19109 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19110 446845 : ipack = ipack + 1
19111 446845 : packed_data(ipack) = pack_tmp
19112 446845 : data_tmp = full_data(idata)
19113 446845 : pack_tmp = ISHFT(data_tmp, 53)
19114 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19115 446845 : idata = idata + 1
19116 446845 : data_tmp = full_data(idata)
19117 446845 : data_tmp = ISHFT(data_tmp, 37)
19118 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19119 446845 : pack_tmp = ISHFT(pack_tmp, -26)
19120 446845 : idata = idata + 1
19121 446845 : data_tmp = full_data(idata)
19122 446845 : data_tmp = ISHFT(data_tmp, 37)
19123 446845 : data_tmp = IAND(data_tmp, mask_left(26))
19124 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19125 446845 : ipack = ipack + 1
19126 446845 : packed_data(ipack) = pack_tmp
19127 446845 : data_tmp = full_data(idata)
19128 446845 : pack_tmp = ISHFT(data_tmp, 63)
19129 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19130 446845 : idata = idata + 1
19131 446845 : data_tmp = full_data(idata)
19132 446845 : data_tmp = ISHFT(data_tmp, 37)
19133 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19134 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19135 446845 : idata = idata + 1
19136 446845 : data_tmp = full_data(idata)
19137 446845 : data_tmp = ISHFT(data_tmp, 37)
19138 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19139 446845 : pack_tmp = ISHFT(pack_tmp, -9)
19140 446845 : idata = idata + 1
19141 446845 : data_tmp = full_data(idata)
19142 446845 : data_tmp = ISHFT(data_tmp, 37)
19143 446845 : data_tmp = IAND(data_tmp, mask_left(9))
19144 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19145 446845 : ipack = ipack + 1
19146 446845 : packed_data(ipack) = pack_tmp
19147 446845 : data_tmp = full_data(idata)
19148 446845 : pack_tmp = ISHFT(data_tmp, 46)
19149 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19150 446845 : idata = idata + 1
19151 446845 : data_tmp = full_data(idata)
19152 446845 : data_tmp = ISHFT(data_tmp, 37)
19153 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19154 446845 : pack_tmp = ISHFT(pack_tmp, -19)
19155 446845 : idata = idata + 1
19156 446845 : data_tmp = full_data(idata)
19157 446845 : data_tmp = ISHFT(data_tmp, 37)
19158 446845 : data_tmp = IAND(data_tmp, mask_left(19))
19159 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19160 446845 : ipack = ipack + 1
19161 446845 : packed_data(ipack) = pack_tmp
19162 446845 : data_tmp = full_data(idata)
19163 446845 : pack_tmp = ISHFT(data_tmp, 56)
19164 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19165 446845 : idata = idata + 1
19166 446845 : data_tmp = full_data(idata)
19167 446845 : data_tmp = ISHFT(data_tmp, 37)
19168 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19169 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19170 446845 : idata = idata + 1
19171 446845 : data_tmp = full_data(idata)
19172 446845 : data_tmp = ISHFT(data_tmp, 37)
19173 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19174 446845 : pack_tmp = ISHFT(pack_tmp, -2)
19175 446845 : idata = idata + 1
19176 446845 : data_tmp = full_data(idata)
19177 446845 : data_tmp = ISHFT(data_tmp, 37)
19178 446845 : data_tmp = IAND(data_tmp, mask_left(2))
19179 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19180 446845 : ipack = ipack + 1
19181 446845 : packed_data(ipack) = pack_tmp
19182 446845 : data_tmp = full_data(idata)
19183 446845 : pack_tmp = ISHFT(data_tmp, 39)
19184 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19185 446845 : idata = idata + 1
19186 446845 : data_tmp = full_data(idata)
19187 446845 : data_tmp = ISHFT(data_tmp, 37)
19188 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19189 446845 : pack_tmp = ISHFT(pack_tmp, -12)
19190 446845 : idata = idata + 1
19191 446845 : data_tmp = full_data(idata)
19192 446845 : data_tmp = ISHFT(data_tmp, 37)
19193 446845 : data_tmp = IAND(data_tmp, mask_left(12))
19194 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19195 446845 : ipack = ipack + 1
19196 446845 : packed_data(ipack) = pack_tmp
19197 446845 : data_tmp = full_data(idata)
19198 446845 : pack_tmp = ISHFT(data_tmp, 49)
19199 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19200 446845 : idata = idata + 1
19201 446845 : data_tmp = full_data(idata)
19202 446845 : data_tmp = ISHFT(data_tmp, 37)
19203 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19204 446845 : pack_tmp = ISHFT(pack_tmp, -22)
19205 446845 : idata = idata + 1
19206 446845 : data_tmp = full_data(idata)
19207 446845 : data_tmp = ISHFT(data_tmp, 37)
19208 446845 : data_tmp = IAND(data_tmp, mask_left(22))
19209 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19210 446845 : ipack = ipack + 1
19211 446845 : packed_data(ipack) = pack_tmp
19212 446845 : data_tmp = full_data(idata)
19213 446845 : pack_tmp = ISHFT(data_tmp, 59)
19214 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19215 446845 : idata = idata + 1
19216 446845 : data_tmp = full_data(idata)
19217 446845 : data_tmp = ISHFT(data_tmp, 37)
19218 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19219 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19220 446845 : idata = idata + 1
19221 446845 : data_tmp = full_data(idata)
19222 446845 : data_tmp = ISHFT(data_tmp, 37)
19223 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19224 446845 : pack_tmp = ISHFT(pack_tmp, -5)
19225 446845 : idata = idata + 1
19226 446845 : data_tmp = full_data(idata)
19227 446845 : data_tmp = ISHFT(data_tmp, 37)
19228 446845 : data_tmp = IAND(data_tmp, mask_left(5))
19229 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19230 446845 : ipack = ipack + 1
19231 446845 : packed_data(ipack) = pack_tmp
19232 446845 : data_tmp = full_data(idata)
19233 446845 : pack_tmp = ISHFT(data_tmp, 42)
19234 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19235 446845 : idata = idata + 1
19236 446845 : data_tmp = full_data(idata)
19237 446845 : data_tmp = ISHFT(data_tmp, 37)
19238 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19239 446845 : pack_tmp = ISHFT(pack_tmp, -15)
19240 446845 : idata = idata + 1
19241 446845 : data_tmp = full_data(idata)
19242 446845 : data_tmp = ISHFT(data_tmp, 37)
19243 446845 : data_tmp = IAND(data_tmp, mask_left(15))
19244 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19245 446845 : ipack = ipack + 1
19246 446845 : packed_data(ipack) = pack_tmp
19247 446845 : data_tmp = full_data(idata)
19248 446845 : pack_tmp = ISHFT(data_tmp, 52)
19249 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19250 446845 : idata = idata + 1
19251 446845 : data_tmp = full_data(idata)
19252 446845 : data_tmp = ISHFT(data_tmp, 37)
19253 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19254 446845 : pack_tmp = ISHFT(pack_tmp, -25)
19255 446845 : idata = idata + 1
19256 446845 : data_tmp = full_data(idata)
19257 446845 : data_tmp = ISHFT(data_tmp, 37)
19258 446845 : data_tmp = IAND(data_tmp, mask_left(25))
19259 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19260 446845 : ipack = ipack + 1
19261 446845 : packed_data(ipack) = pack_tmp
19262 446845 : data_tmp = full_data(idata)
19263 446845 : pack_tmp = ISHFT(data_tmp, 62)
19264 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19265 446845 : idata = idata + 1
19266 446845 : data_tmp = full_data(idata)
19267 446845 : data_tmp = ISHFT(data_tmp, 37)
19268 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19269 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19270 446845 : idata = idata + 1
19271 446845 : data_tmp = full_data(idata)
19272 446845 : data_tmp = ISHFT(data_tmp, 37)
19273 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19274 446845 : pack_tmp = ISHFT(pack_tmp, -8)
19275 446845 : idata = idata + 1
19276 446845 : data_tmp = full_data(idata)
19277 446845 : data_tmp = ISHFT(data_tmp, 37)
19278 446845 : data_tmp = IAND(data_tmp, mask_left(8))
19279 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19280 446845 : ipack = ipack + 1
19281 446845 : packed_data(ipack) = pack_tmp
19282 446845 : data_tmp = full_data(idata)
19283 446845 : pack_tmp = ISHFT(data_tmp, 45)
19284 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19285 446845 : idata = idata + 1
19286 446845 : data_tmp = full_data(idata)
19287 446845 : data_tmp = ISHFT(data_tmp, 37)
19288 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19289 446845 : pack_tmp = ISHFT(pack_tmp, -18)
19290 446845 : idata = idata + 1
19291 446845 : data_tmp = full_data(idata)
19292 446845 : data_tmp = ISHFT(data_tmp, 37)
19293 446845 : data_tmp = IAND(data_tmp, mask_left(18))
19294 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19295 446845 : ipack = ipack + 1
19296 446845 : packed_data(ipack) = pack_tmp
19297 446845 : data_tmp = full_data(idata)
19298 446845 : pack_tmp = ISHFT(data_tmp, 55)
19299 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19300 446845 : idata = idata + 1
19301 446845 : data_tmp = full_data(idata)
19302 446845 : data_tmp = ISHFT(data_tmp, 37)
19303 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19304 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19305 446845 : idata = idata + 1
19306 446845 : data_tmp = full_data(idata)
19307 446845 : data_tmp = ISHFT(data_tmp, 37)
19308 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19309 446845 : pack_tmp = ISHFT(pack_tmp, -1)
19310 446845 : idata = idata + 1
19311 446845 : data_tmp = full_data(idata)
19312 446845 : data_tmp = ISHFT(data_tmp, 37)
19313 446845 : data_tmp = IAND(data_tmp, mask_left(1))
19314 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19315 446845 : ipack = ipack + 1
19316 446845 : packed_data(ipack) = pack_tmp
19317 446845 : data_tmp = full_data(idata)
19318 446845 : pack_tmp = ISHFT(data_tmp, 38)
19319 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19320 446845 : idata = idata + 1
19321 446845 : data_tmp = full_data(idata)
19322 446845 : data_tmp = ISHFT(data_tmp, 37)
19323 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19324 446845 : pack_tmp = ISHFT(pack_tmp, -11)
19325 446845 : idata = idata + 1
19326 446845 : data_tmp = full_data(idata)
19327 446845 : data_tmp = ISHFT(data_tmp, 37)
19328 446845 : data_tmp = IAND(data_tmp, mask_left(11))
19329 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19330 446845 : ipack = ipack + 1
19331 446845 : packed_data(ipack) = pack_tmp
19332 446845 : data_tmp = full_data(idata)
19333 446845 : pack_tmp = ISHFT(data_tmp, 48)
19334 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19335 446845 : idata = idata + 1
19336 446845 : data_tmp = full_data(idata)
19337 446845 : data_tmp = ISHFT(data_tmp, 37)
19338 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19339 446845 : pack_tmp = ISHFT(pack_tmp, -21)
19340 446845 : idata = idata + 1
19341 446845 : data_tmp = full_data(idata)
19342 446845 : data_tmp = ISHFT(data_tmp, 37)
19343 446845 : data_tmp = IAND(data_tmp, mask_left(21))
19344 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19345 446845 : ipack = ipack + 1
19346 446845 : packed_data(ipack) = pack_tmp
19347 446845 : data_tmp = full_data(idata)
19348 446845 : pack_tmp = ISHFT(data_tmp, 58)
19349 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19350 446845 : idata = idata + 1
19351 446845 : data_tmp = full_data(idata)
19352 446845 : data_tmp = ISHFT(data_tmp, 37)
19353 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19354 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19355 446845 : idata = idata + 1
19356 446845 : data_tmp = full_data(idata)
19357 446845 : data_tmp = ISHFT(data_tmp, 37)
19358 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19359 446845 : pack_tmp = ISHFT(pack_tmp, -4)
19360 446845 : idata = idata + 1
19361 446845 : data_tmp = full_data(idata)
19362 446845 : data_tmp = ISHFT(data_tmp, 37)
19363 446845 : data_tmp = IAND(data_tmp, mask_left(4))
19364 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19365 446845 : ipack = ipack + 1
19366 446845 : packed_data(ipack) = pack_tmp
19367 446845 : data_tmp = full_data(idata)
19368 446845 : pack_tmp = ISHFT(data_tmp, 41)
19369 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19370 446845 : idata = idata + 1
19371 446845 : data_tmp = full_data(idata)
19372 446845 : data_tmp = ISHFT(data_tmp, 37)
19373 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19374 446845 : pack_tmp = ISHFT(pack_tmp, -14)
19375 446845 : idata = idata + 1
19376 446845 : data_tmp = full_data(idata)
19377 446845 : data_tmp = ISHFT(data_tmp, 37)
19378 446845 : data_tmp = IAND(data_tmp, mask_left(14))
19379 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19380 446845 : ipack = ipack + 1
19381 446845 : packed_data(ipack) = pack_tmp
19382 446845 : data_tmp = full_data(idata)
19383 446845 : pack_tmp = ISHFT(data_tmp, 51)
19384 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19385 446845 : idata = idata + 1
19386 446845 : data_tmp = full_data(idata)
19387 446845 : data_tmp = ISHFT(data_tmp, 37)
19388 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19389 446845 : pack_tmp = ISHFT(pack_tmp, -24)
19390 446845 : idata = idata + 1
19391 446845 : data_tmp = full_data(idata)
19392 446845 : data_tmp = ISHFT(data_tmp, 37)
19393 446845 : data_tmp = IAND(data_tmp, mask_left(24))
19394 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19395 446845 : ipack = ipack + 1
19396 446845 : packed_data(ipack) = pack_tmp
19397 446845 : data_tmp = full_data(idata)
19398 446845 : pack_tmp = ISHFT(data_tmp, 61)
19399 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19400 446845 : idata = idata + 1
19401 446845 : data_tmp = full_data(idata)
19402 446845 : data_tmp = ISHFT(data_tmp, 37)
19403 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19404 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19405 446845 : idata = idata + 1
19406 446845 : data_tmp = full_data(idata)
19407 446845 : data_tmp = ISHFT(data_tmp, 37)
19408 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19409 446845 : pack_tmp = ISHFT(pack_tmp, -7)
19410 446845 : idata = idata + 1
19411 446845 : data_tmp = full_data(idata)
19412 446845 : data_tmp = ISHFT(data_tmp, 37)
19413 446845 : data_tmp = IAND(data_tmp, mask_left(7))
19414 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19415 446845 : ipack = ipack + 1
19416 446845 : packed_data(ipack) = pack_tmp
19417 446845 : data_tmp = full_data(idata)
19418 446845 : pack_tmp = ISHFT(data_tmp, 44)
19419 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19420 446845 : idata = idata + 1
19421 446845 : data_tmp = full_data(idata)
19422 446845 : data_tmp = ISHFT(data_tmp, 37)
19423 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19424 446845 : pack_tmp = ISHFT(pack_tmp, -17)
19425 446845 : idata = idata + 1
19426 446845 : data_tmp = full_data(idata)
19427 446845 : data_tmp = ISHFT(data_tmp, 37)
19428 446845 : data_tmp = IAND(data_tmp, mask_left(17))
19429 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19430 446845 : ipack = ipack + 1
19431 446845 : packed_data(ipack) = pack_tmp
19432 446845 : data_tmp = full_data(idata)
19433 446845 : pack_tmp = ISHFT(data_tmp, 54)
19434 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19435 446845 : idata = idata + 1
19436 446845 : data_tmp = full_data(idata)
19437 446845 : data_tmp = ISHFT(data_tmp, 37)
19438 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19439 446845 : pack_tmp = ISHFT(pack_tmp, -27)
19440 446845 : idata = idata + 1
19441 446845 : data_tmp = full_data(idata)
19442 446845 : data_tmp = ISHFT(data_tmp, 37)
19443 446845 : pack_tmp = IOR(pack_tmp, data_tmp)
19444 : pack_tmp = ISHFT(pack_tmp, 0)
19445 446845 : pack_tmp = ISHFT(pack_tmp, 0)
19446 446845 : ipack = ipack + 1
19447 446926 : packed_data(ipack) = pack_tmp
19448 : END DO
19449 29614 : IF (Ndata_rep < Ndata) THEN
19450 3174 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19451 : END IF
19452 29614 : END SUBROUTINE ints2bits_27
19453 :
19454 : ! **************************************************************************************************
19455 : !> \brief ...
19456 : !> \param Ndata ...
19457 : !> \param packed_data ...
19458 : !> \param full_data ...
19459 : ! **************************************************************************************************
19460 133749 : 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 133749 : ipack = 0
19471 133749 : idata = 0
19472 133749 : pack_tmp = 0
19473 133749 : Ndata_rep = (Ndata/64)*64
19474 133749 : DO kdata = 1, Ndata_rep, 64
19475 1958373 : idata = idata + 1
19476 1958373 : data_tmp = ISHFT(pack_tmp, 27)
19477 1958373 : ipack = ipack + 1
19478 1958373 : pack_tmp = packed_data(ipack)
19479 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
19480 1958373 : pack_tmp = ISHFT(pack_tmp, -27)
19481 1958373 : idata = idata + 1
19482 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19483 1958373 : full_data(idata) = data_tmp
19484 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19485 1958373 : idata = idata + 1
19486 1958373 : data_tmp = ISHFT(pack_tmp, 17)
19487 1958373 : ipack = ipack + 1
19488 1958373 : pack_tmp = packed_data(ipack)
19489 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
19490 1958373 : pack_tmp = ISHFT(pack_tmp, -17)
19491 1958373 : idata = idata + 1
19492 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19493 1958373 : full_data(idata) = data_tmp
19494 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19495 1958373 : idata = idata + 1
19496 1958373 : data_tmp = ISHFT(pack_tmp, 7)
19497 1958373 : ipack = ipack + 1
19498 1958373 : pack_tmp = packed_data(ipack)
19499 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
19500 1958373 : pack_tmp = ISHFT(pack_tmp, -7)
19501 1958373 : idata = idata + 1
19502 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19503 1958373 : full_data(idata) = data_tmp
19504 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19505 1958373 : idata = idata + 1
19506 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19507 1958373 : full_data(idata) = data_tmp
19508 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19509 1958373 : idata = idata + 1
19510 1958373 : data_tmp = ISHFT(pack_tmp, 24)
19511 1958373 : ipack = ipack + 1
19512 1958373 : pack_tmp = packed_data(ipack)
19513 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
19514 1958373 : pack_tmp = ISHFT(pack_tmp, -24)
19515 1958373 : idata = idata + 1
19516 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19517 1958373 : full_data(idata) = data_tmp
19518 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19519 1958373 : idata = idata + 1
19520 1958373 : data_tmp = ISHFT(pack_tmp, 14)
19521 1958373 : ipack = ipack + 1
19522 1958373 : pack_tmp = packed_data(ipack)
19523 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
19524 1958373 : pack_tmp = ISHFT(pack_tmp, -14)
19525 1958373 : idata = idata + 1
19526 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19527 1958373 : full_data(idata) = data_tmp
19528 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19529 1958373 : idata = idata + 1
19530 1958373 : data_tmp = ISHFT(pack_tmp, 4)
19531 1958373 : ipack = ipack + 1
19532 1958373 : pack_tmp = packed_data(ipack)
19533 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
19534 1958373 : pack_tmp = ISHFT(pack_tmp, -4)
19535 1958373 : idata = idata + 1
19536 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19537 1958373 : full_data(idata) = data_tmp
19538 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19539 1958373 : idata = idata + 1
19540 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19541 1958373 : full_data(idata) = data_tmp
19542 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19543 1958373 : idata = idata + 1
19544 1958373 : data_tmp = ISHFT(pack_tmp, 21)
19545 1958373 : ipack = ipack + 1
19546 1958373 : pack_tmp = packed_data(ipack)
19547 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
19548 1958373 : pack_tmp = ISHFT(pack_tmp, -21)
19549 1958373 : idata = idata + 1
19550 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19551 1958373 : full_data(idata) = data_tmp
19552 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19553 1958373 : idata = idata + 1
19554 1958373 : data_tmp = ISHFT(pack_tmp, 11)
19555 1958373 : ipack = ipack + 1
19556 1958373 : pack_tmp = packed_data(ipack)
19557 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
19558 1958373 : pack_tmp = ISHFT(pack_tmp, -11)
19559 1958373 : idata = idata + 1
19560 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19561 1958373 : full_data(idata) = data_tmp
19562 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19563 1958373 : idata = idata + 1
19564 1958373 : data_tmp = ISHFT(pack_tmp, 1)
19565 1958373 : ipack = ipack + 1
19566 1958373 : pack_tmp = packed_data(ipack)
19567 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
19568 1958373 : pack_tmp = ISHFT(pack_tmp, -1)
19569 1958373 : idata = idata + 1
19570 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19571 1958373 : full_data(idata) = data_tmp
19572 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19573 1958373 : idata = idata + 1
19574 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19575 1958373 : full_data(idata) = data_tmp
19576 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19577 1958373 : idata = idata + 1
19578 1958373 : data_tmp = ISHFT(pack_tmp, 18)
19579 1958373 : ipack = ipack + 1
19580 1958373 : pack_tmp = packed_data(ipack)
19581 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
19582 1958373 : pack_tmp = ISHFT(pack_tmp, -18)
19583 1958373 : idata = idata + 1
19584 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19585 1958373 : full_data(idata) = data_tmp
19586 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19587 1958373 : idata = idata + 1
19588 1958373 : data_tmp = ISHFT(pack_tmp, 8)
19589 1958373 : ipack = ipack + 1
19590 1958373 : pack_tmp = packed_data(ipack)
19591 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
19592 1958373 : pack_tmp = ISHFT(pack_tmp, -8)
19593 1958373 : idata = idata + 1
19594 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19595 1958373 : full_data(idata) = data_tmp
19596 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19597 1958373 : idata = idata + 1
19598 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19599 1958373 : full_data(idata) = data_tmp
19600 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19601 1958373 : idata = idata + 1
19602 1958373 : data_tmp = ISHFT(pack_tmp, 25)
19603 1958373 : ipack = ipack + 1
19604 1958373 : pack_tmp = packed_data(ipack)
19605 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
19606 1958373 : pack_tmp = ISHFT(pack_tmp, -25)
19607 1958373 : idata = idata + 1
19608 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19609 1958373 : full_data(idata) = data_tmp
19610 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19611 1958373 : idata = idata + 1
19612 1958373 : data_tmp = ISHFT(pack_tmp, 15)
19613 1958373 : ipack = ipack + 1
19614 1958373 : pack_tmp = packed_data(ipack)
19615 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
19616 1958373 : pack_tmp = ISHFT(pack_tmp, -15)
19617 1958373 : idata = idata + 1
19618 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19619 1958373 : full_data(idata) = data_tmp
19620 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19621 1958373 : idata = idata + 1
19622 1958373 : data_tmp = ISHFT(pack_tmp, 5)
19623 1958373 : ipack = ipack + 1
19624 1958373 : pack_tmp = packed_data(ipack)
19625 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
19626 1958373 : pack_tmp = ISHFT(pack_tmp, -5)
19627 1958373 : idata = idata + 1
19628 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19629 1958373 : full_data(idata) = data_tmp
19630 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19631 1958373 : idata = idata + 1
19632 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19633 1958373 : full_data(idata) = data_tmp
19634 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19635 1958373 : idata = idata + 1
19636 1958373 : data_tmp = ISHFT(pack_tmp, 22)
19637 1958373 : ipack = ipack + 1
19638 1958373 : pack_tmp = packed_data(ipack)
19639 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
19640 1958373 : pack_tmp = ISHFT(pack_tmp, -22)
19641 1958373 : idata = idata + 1
19642 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19643 1958373 : full_data(idata) = data_tmp
19644 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19645 1958373 : idata = idata + 1
19646 1958373 : data_tmp = ISHFT(pack_tmp, 12)
19647 1958373 : ipack = ipack + 1
19648 1958373 : pack_tmp = packed_data(ipack)
19649 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
19650 1958373 : pack_tmp = ISHFT(pack_tmp, -12)
19651 1958373 : idata = idata + 1
19652 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19653 1958373 : full_data(idata) = data_tmp
19654 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19655 1958373 : idata = idata + 1
19656 1958373 : data_tmp = ISHFT(pack_tmp, 2)
19657 1958373 : ipack = ipack + 1
19658 1958373 : pack_tmp = packed_data(ipack)
19659 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
19660 1958373 : pack_tmp = ISHFT(pack_tmp, -2)
19661 1958373 : idata = idata + 1
19662 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19663 1958373 : full_data(idata) = data_tmp
19664 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19665 1958373 : idata = idata + 1
19666 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19667 1958373 : full_data(idata) = data_tmp
19668 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19669 1958373 : idata = idata + 1
19670 1958373 : data_tmp = ISHFT(pack_tmp, 19)
19671 1958373 : ipack = ipack + 1
19672 1958373 : pack_tmp = packed_data(ipack)
19673 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
19674 1958373 : pack_tmp = ISHFT(pack_tmp, -19)
19675 1958373 : idata = idata + 1
19676 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19677 1958373 : full_data(idata) = data_tmp
19678 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19679 1958373 : idata = idata + 1
19680 1958373 : data_tmp = ISHFT(pack_tmp, 9)
19681 1958373 : ipack = ipack + 1
19682 1958373 : pack_tmp = packed_data(ipack)
19683 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
19684 1958373 : pack_tmp = ISHFT(pack_tmp, -9)
19685 1958373 : idata = idata + 1
19686 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19687 1958373 : full_data(idata) = data_tmp
19688 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19689 1958373 : idata = idata + 1
19690 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19691 1958373 : full_data(idata) = data_tmp
19692 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19693 1958373 : idata = idata + 1
19694 1958373 : data_tmp = ISHFT(pack_tmp, 26)
19695 1958373 : ipack = ipack + 1
19696 1958373 : pack_tmp = packed_data(ipack)
19697 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
19698 1958373 : pack_tmp = ISHFT(pack_tmp, -26)
19699 1958373 : idata = idata + 1
19700 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19701 1958373 : full_data(idata) = data_tmp
19702 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19703 1958373 : idata = idata + 1
19704 1958373 : data_tmp = ISHFT(pack_tmp, 16)
19705 1958373 : ipack = ipack + 1
19706 1958373 : pack_tmp = packed_data(ipack)
19707 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
19708 1958373 : pack_tmp = ISHFT(pack_tmp, -16)
19709 1958373 : idata = idata + 1
19710 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19711 1958373 : full_data(idata) = data_tmp
19712 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19713 1958373 : idata = idata + 1
19714 1958373 : data_tmp = ISHFT(pack_tmp, 6)
19715 1958373 : ipack = ipack + 1
19716 1958373 : pack_tmp = packed_data(ipack)
19717 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
19718 1958373 : pack_tmp = ISHFT(pack_tmp, -6)
19719 1958373 : idata = idata + 1
19720 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19721 1958373 : full_data(idata) = data_tmp
19722 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19723 1958373 : idata = idata + 1
19724 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19725 1958373 : full_data(idata) = data_tmp
19726 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19727 1958373 : idata = idata + 1
19728 1958373 : data_tmp = ISHFT(pack_tmp, 23)
19729 1958373 : ipack = ipack + 1
19730 1958373 : pack_tmp = packed_data(ipack)
19731 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
19732 1958373 : pack_tmp = ISHFT(pack_tmp, -23)
19733 1958373 : idata = idata + 1
19734 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19735 1958373 : full_data(idata) = data_tmp
19736 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19737 1958373 : idata = idata + 1
19738 1958373 : data_tmp = ISHFT(pack_tmp, 13)
19739 1958373 : ipack = ipack + 1
19740 1958373 : pack_tmp = packed_data(ipack)
19741 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
19742 1958373 : pack_tmp = ISHFT(pack_tmp, -13)
19743 1958373 : idata = idata + 1
19744 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19745 1958373 : full_data(idata) = data_tmp
19746 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19747 1958373 : idata = idata + 1
19748 1958373 : data_tmp = ISHFT(pack_tmp, 3)
19749 1958373 : ipack = ipack + 1
19750 1958373 : pack_tmp = packed_data(ipack)
19751 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
19752 1958373 : pack_tmp = ISHFT(pack_tmp, -3)
19753 1958373 : idata = idata + 1
19754 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19755 1958373 : full_data(idata) = data_tmp
19756 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19757 1958373 : idata = idata + 1
19758 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19759 1958373 : full_data(idata) = data_tmp
19760 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19761 1958373 : idata = idata + 1
19762 1958373 : data_tmp = ISHFT(pack_tmp, 20)
19763 1958373 : ipack = ipack + 1
19764 1958373 : pack_tmp = packed_data(ipack)
19765 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
19766 1958373 : pack_tmp = ISHFT(pack_tmp, -20)
19767 1958373 : idata = idata + 1
19768 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19769 1958373 : full_data(idata) = data_tmp
19770 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19771 1958373 : idata = idata + 1
19772 1958373 : data_tmp = ISHFT(pack_tmp, 10)
19773 1958373 : ipack = ipack + 1
19774 1958373 : pack_tmp = packed_data(ipack)
19775 1958373 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
19776 1958373 : pack_tmp = ISHFT(pack_tmp, -10)
19777 1958373 : idata = idata + 1
19778 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19779 1958373 : full_data(idata) = data_tmp
19780 1958373 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19781 1958373 : idata = idata + 1
19782 1958373 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19783 1958373 : full_data(idata) = data_tmp
19784 1958945 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19785 : END DO
19786 133749 : IF (Ndata_rep < Ndata) THEN
19787 21366 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19788 : END IF
19789 133749 : END SUBROUTINE bits2ints_27
19790 :
19791 : ! **************************************************************************************************
19792 : !> \brief ...
19793 : !> \param Ndata ...
19794 : !> \param packed_data ...
19795 : !> \param full_data ...
19796 : ! **************************************************************************************************
19797 33876 : 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 33876 : idata = 0
19808 33876 : ipack = 0
19809 33876 : Ndata_rep = (Ndata/64)*64
19810 33876 : DO kdata = 1, Ndata_rep, 64
19811 489466 : pack_tmp = 0
19812 489466 : idata = idata + 1
19813 489466 : data_tmp = full_data(idata)
19814 489466 : data_tmp = ISHFT(data_tmp, 36)
19815 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19816 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19817 489466 : idata = idata + 1
19818 489466 : data_tmp = full_data(idata)
19819 489466 : data_tmp = ISHFT(data_tmp, 36)
19820 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19821 489466 : pack_tmp = ISHFT(pack_tmp, -8)
19822 489466 : idata = idata + 1
19823 489466 : data_tmp = full_data(idata)
19824 489466 : data_tmp = ISHFT(data_tmp, 36)
19825 489466 : data_tmp = IAND(data_tmp, mask_left(8))
19826 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19827 489466 : ipack = ipack + 1
19828 489466 : packed_data(ipack) = pack_tmp
19829 489466 : data_tmp = full_data(idata)
19830 489466 : pack_tmp = ISHFT(data_tmp, 44)
19831 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19832 489466 : idata = idata + 1
19833 489466 : data_tmp = full_data(idata)
19834 489466 : data_tmp = ISHFT(data_tmp, 36)
19835 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19836 489466 : pack_tmp = ISHFT(pack_tmp, -16)
19837 489466 : idata = idata + 1
19838 489466 : data_tmp = full_data(idata)
19839 489466 : data_tmp = ISHFT(data_tmp, 36)
19840 489466 : data_tmp = IAND(data_tmp, mask_left(16))
19841 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19842 489466 : ipack = ipack + 1
19843 489466 : packed_data(ipack) = pack_tmp
19844 489466 : data_tmp = full_data(idata)
19845 489466 : pack_tmp = ISHFT(data_tmp, 52)
19846 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19847 489466 : idata = idata + 1
19848 489466 : data_tmp = full_data(idata)
19849 489466 : data_tmp = ISHFT(data_tmp, 36)
19850 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19851 489466 : pack_tmp = ISHFT(pack_tmp, -24)
19852 489466 : idata = idata + 1
19853 489466 : data_tmp = full_data(idata)
19854 489466 : data_tmp = ISHFT(data_tmp, 36)
19855 489466 : data_tmp = IAND(data_tmp, mask_left(24))
19856 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19857 489466 : ipack = ipack + 1
19858 489466 : packed_data(ipack) = pack_tmp
19859 489466 : data_tmp = full_data(idata)
19860 489466 : pack_tmp = ISHFT(data_tmp, 60)
19861 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19862 489466 : idata = idata + 1
19863 489466 : data_tmp = full_data(idata)
19864 489466 : data_tmp = ISHFT(data_tmp, 36)
19865 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19866 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19867 489466 : idata = idata + 1
19868 489466 : data_tmp = full_data(idata)
19869 489466 : data_tmp = ISHFT(data_tmp, 36)
19870 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19871 489466 : pack_tmp = ISHFT(pack_tmp, -4)
19872 489466 : idata = idata + 1
19873 489466 : data_tmp = full_data(idata)
19874 489466 : data_tmp = ISHFT(data_tmp, 36)
19875 489466 : data_tmp = IAND(data_tmp, mask_left(4))
19876 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19877 489466 : ipack = ipack + 1
19878 489466 : packed_data(ipack) = pack_tmp
19879 489466 : data_tmp = full_data(idata)
19880 489466 : pack_tmp = ISHFT(data_tmp, 40)
19881 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19882 489466 : idata = idata + 1
19883 489466 : data_tmp = full_data(idata)
19884 489466 : data_tmp = ISHFT(data_tmp, 36)
19885 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19886 489466 : pack_tmp = ISHFT(pack_tmp, -12)
19887 489466 : idata = idata + 1
19888 489466 : data_tmp = full_data(idata)
19889 489466 : data_tmp = ISHFT(data_tmp, 36)
19890 489466 : data_tmp = IAND(data_tmp, mask_left(12))
19891 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19892 489466 : ipack = ipack + 1
19893 489466 : packed_data(ipack) = pack_tmp
19894 489466 : data_tmp = full_data(idata)
19895 489466 : pack_tmp = ISHFT(data_tmp, 48)
19896 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19897 489466 : idata = idata + 1
19898 489466 : data_tmp = full_data(idata)
19899 489466 : data_tmp = ISHFT(data_tmp, 36)
19900 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19901 489466 : pack_tmp = ISHFT(pack_tmp, -20)
19902 489466 : idata = idata + 1
19903 489466 : data_tmp = full_data(idata)
19904 489466 : data_tmp = ISHFT(data_tmp, 36)
19905 489466 : data_tmp = IAND(data_tmp, mask_left(20))
19906 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19907 489466 : ipack = ipack + 1
19908 489466 : packed_data(ipack) = pack_tmp
19909 489466 : data_tmp = full_data(idata)
19910 489466 : pack_tmp = ISHFT(data_tmp, 56)
19911 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19912 489466 : idata = idata + 1
19913 489466 : data_tmp = full_data(idata)
19914 489466 : data_tmp = ISHFT(data_tmp, 36)
19915 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19916 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19917 489466 : idata = idata + 1
19918 489466 : data_tmp = full_data(idata)
19919 489466 : data_tmp = ISHFT(data_tmp, 36)
19920 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19921 489466 : pack_tmp = ISHFT(pack_tmp, 0)
19922 489466 : idata = idata + 1
19923 489466 : data_tmp = full_data(idata)
19924 : data_tmp = ISHFT(data_tmp, 36)
19925 489466 : data_tmp = IAND(data_tmp, mask_left(0))
19926 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19927 489466 : ipack = ipack + 1
19928 489466 : packed_data(ipack) = pack_tmp
19929 489466 : data_tmp = full_data(idata)
19930 489466 : pack_tmp = ISHFT(data_tmp, 36)
19931 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19932 489466 : idata = idata + 1
19933 489466 : data_tmp = full_data(idata)
19934 489466 : data_tmp = ISHFT(data_tmp, 36)
19935 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19936 489466 : pack_tmp = ISHFT(pack_tmp, -8)
19937 489466 : idata = idata + 1
19938 489466 : data_tmp = full_data(idata)
19939 489466 : data_tmp = ISHFT(data_tmp, 36)
19940 489466 : data_tmp = IAND(data_tmp, mask_left(8))
19941 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19942 489466 : ipack = ipack + 1
19943 489466 : packed_data(ipack) = pack_tmp
19944 489466 : data_tmp = full_data(idata)
19945 489466 : pack_tmp = ISHFT(data_tmp, 44)
19946 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19947 489466 : idata = idata + 1
19948 489466 : data_tmp = full_data(idata)
19949 489466 : data_tmp = ISHFT(data_tmp, 36)
19950 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19951 489466 : pack_tmp = ISHFT(pack_tmp, -16)
19952 489466 : idata = idata + 1
19953 489466 : data_tmp = full_data(idata)
19954 489466 : data_tmp = ISHFT(data_tmp, 36)
19955 489466 : data_tmp = IAND(data_tmp, mask_left(16))
19956 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19957 489466 : ipack = ipack + 1
19958 489466 : packed_data(ipack) = pack_tmp
19959 489466 : data_tmp = full_data(idata)
19960 489466 : pack_tmp = ISHFT(data_tmp, 52)
19961 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19962 489466 : idata = idata + 1
19963 489466 : data_tmp = full_data(idata)
19964 489466 : data_tmp = ISHFT(data_tmp, 36)
19965 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19966 489466 : pack_tmp = ISHFT(pack_tmp, -24)
19967 489466 : idata = idata + 1
19968 489466 : data_tmp = full_data(idata)
19969 489466 : data_tmp = ISHFT(data_tmp, 36)
19970 489466 : data_tmp = IAND(data_tmp, mask_left(24))
19971 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19972 489466 : ipack = ipack + 1
19973 489466 : packed_data(ipack) = pack_tmp
19974 489466 : data_tmp = full_data(idata)
19975 489466 : pack_tmp = ISHFT(data_tmp, 60)
19976 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19977 489466 : idata = idata + 1
19978 489466 : data_tmp = full_data(idata)
19979 489466 : data_tmp = ISHFT(data_tmp, 36)
19980 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19981 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19982 489466 : idata = idata + 1
19983 489466 : data_tmp = full_data(idata)
19984 489466 : data_tmp = ISHFT(data_tmp, 36)
19985 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19986 489466 : pack_tmp = ISHFT(pack_tmp, -4)
19987 489466 : idata = idata + 1
19988 489466 : data_tmp = full_data(idata)
19989 489466 : data_tmp = ISHFT(data_tmp, 36)
19990 489466 : data_tmp = IAND(data_tmp, mask_left(4))
19991 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
19992 489466 : ipack = ipack + 1
19993 489466 : packed_data(ipack) = pack_tmp
19994 489466 : data_tmp = full_data(idata)
19995 489466 : pack_tmp = ISHFT(data_tmp, 40)
19996 489466 : pack_tmp = ISHFT(pack_tmp, -28)
19997 489466 : idata = idata + 1
19998 489466 : data_tmp = full_data(idata)
19999 489466 : data_tmp = ISHFT(data_tmp, 36)
20000 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20001 489466 : pack_tmp = ISHFT(pack_tmp, -12)
20002 489466 : idata = idata + 1
20003 489466 : data_tmp = full_data(idata)
20004 489466 : data_tmp = ISHFT(data_tmp, 36)
20005 489466 : data_tmp = IAND(data_tmp, mask_left(12))
20006 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20007 489466 : ipack = ipack + 1
20008 489466 : packed_data(ipack) = pack_tmp
20009 489466 : data_tmp = full_data(idata)
20010 489466 : pack_tmp = ISHFT(data_tmp, 48)
20011 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20012 489466 : idata = idata + 1
20013 489466 : data_tmp = full_data(idata)
20014 489466 : data_tmp = ISHFT(data_tmp, 36)
20015 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20016 489466 : pack_tmp = ISHFT(pack_tmp, -20)
20017 489466 : idata = idata + 1
20018 489466 : data_tmp = full_data(idata)
20019 489466 : data_tmp = ISHFT(data_tmp, 36)
20020 489466 : data_tmp = IAND(data_tmp, mask_left(20))
20021 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20022 489466 : ipack = ipack + 1
20023 489466 : packed_data(ipack) = pack_tmp
20024 489466 : data_tmp = full_data(idata)
20025 489466 : pack_tmp = ISHFT(data_tmp, 56)
20026 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20027 489466 : idata = idata + 1
20028 489466 : data_tmp = full_data(idata)
20029 489466 : data_tmp = ISHFT(data_tmp, 36)
20030 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20031 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20032 489466 : idata = idata + 1
20033 489466 : data_tmp = full_data(idata)
20034 489466 : data_tmp = ISHFT(data_tmp, 36)
20035 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20036 489466 : pack_tmp = ISHFT(pack_tmp, 0)
20037 489466 : idata = idata + 1
20038 489466 : data_tmp = full_data(idata)
20039 : data_tmp = ISHFT(data_tmp, 36)
20040 489466 : data_tmp = IAND(data_tmp, mask_left(0))
20041 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20042 489466 : ipack = ipack + 1
20043 489466 : packed_data(ipack) = pack_tmp
20044 489466 : data_tmp = full_data(idata)
20045 489466 : pack_tmp = ISHFT(data_tmp, 36)
20046 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20047 489466 : idata = idata + 1
20048 489466 : data_tmp = full_data(idata)
20049 489466 : data_tmp = ISHFT(data_tmp, 36)
20050 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20051 489466 : pack_tmp = ISHFT(pack_tmp, -8)
20052 489466 : idata = idata + 1
20053 489466 : data_tmp = full_data(idata)
20054 489466 : data_tmp = ISHFT(data_tmp, 36)
20055 489466 : data_tmp = IAND(data_tmp, mask_left(8))
20056 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20057 489466 : ipack = ipack + 1
20058 489466 : packed_data(ipack) = pack_tmp
20059 489466 : data_tmp = full_data(idata)
20060 489466 : pack_tmp = ISHFT(data_tmp, 44)
20061 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20062 489466 : idata = idata + 1
20063 489466 : data_tmp = full_data(idata)
20064 489466 : data_tmp = ISHFT(data_tmp, 36)
20065 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20066 489466 : pack_tmp = ISHFT(pack_tmp, -16)
20067 489466 : idata = idata + 1
20068 489466 : data_tmp = full_data(idata)
20069 489466 : data_tmp = ISHFT(data_tmp, 36)
20070 489466 : data_tmp = IAND(data_tmp, mask_left(16))
20071 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20072 489466 : ipack = ipack + 1
20073 489466 : packed_data(ipack) = pack_tmp
20074 489466 : data_tmp = full_data(idata)
20075 489466 : pack_tmp = ISHFT(data_tmp, 52)
20076 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20077 489466 : idata = idata + 1
20078 489466 : data_tmp = full_data(idata)
20079 489466 : data_tmp = ISHFT(data_tmp, 36)
20080 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20081 489466 : pack_tmp = ISHFT(pack_tmp, -24)
20082 489466 : idata = idata + 1
20083 489466 : data_tmp = full_data(idata)
20084 489466 : data_tmp = ISHFT(data_tmp, 36)
20085 489466 : data_tmp = IAND(data_tmp, mask_left(24))
20086 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20087 489466 : ipack = ipack + 1
20088 489466 : packed_data(ipack) = pack_tmp
20089 489466 : data_tmp = full_data(idata)
20090 489466 : pack_tmp = ISHFT(data_tmp, 60)
20091 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20092 489466 : idata = idata + 1
20093 489466 : data_tmp = full_data(idata)
20094 489466 : data_tmp = ISHFT(data_tmp, 36)
20095 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20096 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20097 489466 : idata = idata + 1
20098 489466 : data_tmp = full_data(idata)
20099 489466 : data_tmp = ISHFT(data_tmp, 36)
20100 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20101 489466 : pack_tmp = ISHFT(pack_tmp, -4)
20102 489466 : idata = idata + 1
20103 489466 : data_tmp = full_data(idata)
20104 489466 : data_tmp = ISHFT(data_tmp, 36)
20105 489466 : data_tmp = IAND(data_tmp, mask_left(4))
20106 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20107 489466 : ipack = ipack + 1
20108 489466 : packed_data(ipack) = pack_tmp
20109 489466 : data_tmp = full_data(idata)
20110 489466 : pack_tmp = ISHFT(data_tmp, 40)
20111 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20112 489466 : idata = idata + 1
20113 489466 : data_tmp = full_data(idata)
20114 489466 : data_tmp = ISHFT(data_tmp, 36)
20115 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20116 489466 : pack_tmp = ISHFT(pack_tmp, -12)
20117 489466 : idata = idata + 1
20118 489466 : data_tmp = full_data(idata)
20119 489466 : data_tmp = ISHFT(data_tmp, 36)
20120 489466 : data_tmp = IAND(data_tmp, mask_left(12))
20121 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20122 489466 : ipack = ipack + 1
20123 489466 : packed_data(ipack) = pack_tmp
20124 489466 : data_tmp = full_data(idata)
20125 489466 : pack_tmp = ISHFT(data_tmp, 48)
20126 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20127 489466 : idata = idata + 1
20128 489466 : data_tmp = full_data(idata)
20129 489466 : data_tmp = ISHFT(data_tmp, 36)
20130 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20131 489466 : pack_tmp = ISHFT(pack_tmp, -20)
20132 489466 : idata = idata + 1
20133 489466 : data_tmp = full_data(idata)
20134 489466 : data_tmp = ISHFT(data_tmp, 36)
20135 489466 : data_tmp = IAND(data_tmp, mask_left(20))
20136 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20137 489466 : ipack = ipack + 1
20138 489466 : packed_data(ipack) = pack_tmp
20139 489466 : data_tmp = full_data(idata)
20140 489466 : pack_tmp = ISHFT(data_tmp, 56)
20141 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20142 489466 : idata = idata + 1
20143 489466 : data_tmp = full_data(idata)
20144 489466 : data_tmp = ISHFT(data_tmp, 36)
20145 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20146 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20147 489466 : idata = idata + 1
20148 489466 : data_tmp = full_data(idata)
20149 489466 : data_tmp = ISHFT(data_tmp, 36)
20150 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20151 489466 : pack_tmp = ISHFT(pack_tmp, 0)
20152 489466 : idata = idata + 1
20153 489466 : data_tmp = full_data(idata)
20154 : data_tmp = ISHFT(data_tmp, 36)
20155 489466 : data_tmp = IAND(data_tmp, mask_left(0))
20156 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20157 489466 : ipack = ipack + 1
20158 489466 : packed_data(ipack) = pack_tmp
20159 489466 : data_tmp = full_data(idata)
20160 489466 : pack_tmp = ISHFT(data_tmp, 36)
20161 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20162 489466 : idata = idata + 1
20163 489466 : data_tmp = full_data(idata)
20164 489466 : data_tmp = ISHFT(data_tmp, 36)
20165 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20166 489466 : pack_tmp = ISHFT(pack_tmp, -8)
20167 489466 : idata = idata + 1
20168 489466 : data_tmp = full_data(idata)
20169 489466 : data_tmp = ISHFT(data_tmp, 36)
20170 489466 : data_tmp = IAND(data_tmp, mask_left(8))
20171 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20172 489466 : ipack = ipack + 1
20173 489466 : packed_data(ipack) = pack_tmp
20174 489466 : data_tmp = full_data(idata)
20175 489466 : pack_tmp = ISHFT(data_tmp, 44)
20176 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20177 489466 : idata = idata + 1
20178 489466 : data_tmp = full_data(idata)
20179 489466 : data_tmp = ISHFT(data_tmp, 36)
20180 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20181 489466 : pack_tmp = ISHFT(pack_tmp, -16)
20182 489466 : idata = idata + 1
20183 489466 : data_tmp = full_data(idata)
20184 489466 : data_tmp = ISHFT(data_tmp, 36)
20185 489466 : data_tmp = IAND(data_tmp, mask_left(16))
20186 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20187 489466 : ipack = ipack + 1
20188 489466 : packed_data(ipack) = pack_tmp
20189 489466 : data_tmp = full_data(idata)
20190 489466 : pack_tmp = ISHFT(data_tmp, 52)
20191 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20192 489466 : idata = idata + 1
20193 489466 : data_tmp = full_data(idata)
20194 489466 : data_tmp = ISHFT(data_tmp, 36)
20195 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20196 489466 : pack_tmp = ISHFT(pack_tmp, -24)
20197 489466 : idata = idata + 1
20198 489466 : data_tmp = full_data(idata)
20199 489466 : data_tmp = ISHFT(data_tmp, 36)
20200 489466 : data_tmp = IAND(data_tmp, mask_left(24))
20201 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20202 489466 : ipack = ipack + 1
20203 489466 : packed_data(ipack) = pack_tmp
20204 489466 : data_tmp = full_data(idata)
20205 489466 : pack_tmp = ISHFT(data_tmp, 60)
20206 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20207 489466 : idata = idata + 1
20208 489466 : data_tmp = full_data(idata)
20209 489466 : data_tmp = ISHFT(data_tmp, 36)
20210 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20211 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20212 489466 : idata = idata + 1
20213 489466 : data_tmp = full_data(idata)
20214 489466 : data_tmp = ISHFT(data_tmp, 36)
20215 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20216 489466 : pack_tmp = ISHFT(pack_tmp, -4)
20217 489466 : idata = idata + 1
20218 489466 : data_tmp = full_data(idata)
20219 489466 : data_tmp = ISHFT(data_tmp, 36)
20220 489466 : data_tmp = IAND(data_tmp, mask_left(4))
20221 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20222 489466 : ipack = ipack + 1
20223 489466 : packed_data(ipack) = pack_tmp
20224 489466 : data_tmp = full_data(idata)
20225 489466 : pack_tmp = ISHFT(data_tmp, 40)
20226 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20227 489466 : idata = idata + 1
20228 489466 : data_tmp = full_data(idata)
20229 489466 : data_tmp = ISHFT(data_tmp, 36)
20230 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20231 489466 : pack_tmp = ISHFT(pack_tmp, -12)
20232 489466 : idata = idata + 1
20233 489466 : data_tmp = full_data(idata)
20234 489466 : data_tmp = ISHFT(data_tmp, 36)
20235 489466 : data_tmp = IAND(data_tmp, mask_left(12))
20236 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20237 489466 : ipack = ipack + 1
20238 489466 : packed_data(ipack) = pack_tmp
20239 489466 : data_tmp = full_data(idata)
20240 489466 : pack_tmp = ISHFT(data_tmp, 48)
20241 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20242 489466 : idata = idata + 1
20243 489466 : data_tmp = full_data(idata)
20244 489466 : data_tmp = ISHFT(data_tmp, 36)
20245 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20246 489466 : pack_tmp = ISHFT(pack_tmp, -20)
20247 489466 : idata = idata + 1
20248 489466 : data_tmp = full_data(idata)
20249 489466 : data_tmp = ISHFT(data_tmp, 36)
20250 489466 : data_tmp = IAND(data_tmp, mask_left(20))
20251 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20252 489466 : ipack = ipack + 1
20253 489466 : packed_data(ipack) = pack_tmp
20254 489466 : data_tmp = full_data(idata)
20255 489466 : pack_tmp = ISHFT(data_tmp, 56)
20256 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20257 489466 : idata = idata + 1
20258 489466 : data_tmp = full_data(idata)
20259 489466 : data_tmp = ISHFT(data_tmp, 36)
20260 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20261 489466 : pack_tmp = ISHFT(pack_tmp, -28)
20262 489466 : idata = idata + 1
20263 489466 : data_tmp = full_data(idata)
20264 489466 : data_tmp = ISHFT(data_tmp, 36)
20265 489466 : pack_tmp = IOR(pack_tmp, data_tmp)
20266 : pack_tmp = ISHFT(pack_tmp, 0)
20267 489466 : pack_tmp = ISHFT(pack_tmp, 0)
20268 489466 : ipack = ipack + 1
20269 489577 : packed_data(ipack) = pack_tmp
20270 : END DO
20271 33876 : 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 33876 : END SUBROUTINE ints2bits_28
20275 :
20276 : ! **************************************************************************************************
20277 : !> \brief ...
20278 : !> \param Ndata ...
20279 : !> \param packed_data ...
20280 : !> \param full_data ...
20281 : ! **************************************************************************************************
20282 156972 : 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 156972 : ipack = 0
20293 156972 : idata = 0
20294 156972 : pack_tmp = 0
20295 156972 : Ndata_rep = (Ndata/64)*64
20296 156972 : DO kdata = 1, Ndata_rep, 64
20297 2203136 : idata = idata + 1
20298 2203136 : data_tmp = ISHFT(pack_tmp, 28)
20299 2203136 : ipack = ipack + 1
20300 2203136 : pack_tmp = packed_data(ipack)
20301 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20302 2203136 : pack_tmp = ISHFT(pack_tmp, -28)
20303 2203136 : idata = idata + 1
20304 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20305 2203136 : full_data(idata) = data_tmp
20306 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20307 2203136 : idata = idata + 1
20308 2203136 : data_tmp = ISHFT(pack_tmp, 20)
20309 2203136 : ipack = ipack + 1
20310 2203136 : pack_tmp = packed_data(ipack)
20311 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20312 2203136 : pack_tmp = ISHFT(pack_tmp, -20)
20313 2203136 : idata = idata + 1
20314 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20315 2203136 : full_data(idata) = data_tmp
20316 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20317 2203136 : idata = idata + 1
20318 2203136 : data_tmp = ISHFT(pack_tmp, 12)
20319 2203136 : ipack = ipack + 1
20320 2203136 : pack_tmp = packed_data(ipack)
20321 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20322 2203136 : pack_tmp = ISHFT(pack_tmp, -12)
20323 2203136 : idata = idata + 1
20324 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20325 2203136 : full_data(idata) = data_tmp
20326 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20327 2203136 : idata = idata + 1
20328 2203136 : data_tmp = ISHFT(pack_tmp, 4)
20329 2203136 : ipack = ipack + 1
20330 2203136 : pack_tmp = packed_data(ipack)
20331 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20332 2203136 : pack_tmp = ISHFT(pack_tmp, -4)
20333 2203136 : idata = idata + 1
20334 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20335 2203136 : full_data(idata) = data_tmp
20336 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20337 2203136 : idata = idata + 1
20338 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20339 2203136 : full_data(idata) = data_tmp
20340 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20341 2203136 : idata = idata + 1
20342 2203136 : data_tmp = ISHFT(pack_tmp, 24)
20343 2203136 : ipack = ipack + 1
20344 2203136 : pack_tmp = packed_data(ipack)
20345 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20346 2203136 : pack_tmp = ISHFT(pack_tmp, -24)
20347 2203136 : idata = idata + 1
20348 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20349 2203136 : full_data(idata) = data_tmp
20350 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20351 2203136 : idata = idata + 1
20352 2203136 : data_tmp = ISHFT(pack_tmp, 16)
20353 2203136 : ipack = ipack + 1
20354 2203136 : pack_tmp = packed_data(ipack)
20355 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20356 2203136 : pack_tmp = ISHFT(pack_tmp, -16)
20357 2203136 : idata = idata + 1
20358 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20359 2203136 : full_data(idata) = data_tmp
20360 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20361 2203136 : idata = idata + 1
20362 2203136 : data_tmp = ISHFT(pack_tmp, 8)
20363 2203136 : ipack = ipack + 1
20364 2203136 : pack_tmp = packed_data(ipack)
20365 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20366 2203136 : pack_tmp = ISHFT(pack_tmp, -8)
20367 2203136 : idata = idata + 1
20368 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20369 2203136 : full_data(idata) = data_tmp
20370 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20371 2203136 : idata = idata + 1
20372 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20373 2203136 : full_data(idata) = data_tmp
20374 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20375 2203136 : idata = idata + 1
20376 2203136 : data_tmp = ISHFT(pack_tmp, 28)
20377 2203136 : ipack = ipack + 1
20378 2203136 : pack_tmp = packed_data(ipack)
20379 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20380 2203136 : pack_tmp = ISHFT(pack_tmp, -28)
20381 2203136 : idata = idata + 1
20382 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20383 2203136 : full_data(idata) = data_tmp
20384 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20385 2203136 : idata = idata + 1
20386 2203136 : data_tmp = ISHFT(pack_tmp, 20)
20387 2203136 : ipack = ipack + 1
20388 2203136 : pack_tmp = packed_data(ipack)
20389 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20390 2203136 : pack_tmp = ISHFT(pack_tmp, -20)
20391 2203136 : idata = idata + 1
20392 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20393 2203136 : full_data(idata) = data_tmp
20394 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20395 2203136 : idata = idata + 1
20396 2203136 : data_tmp = ISHFT(pack_tmp, 12)
20397 2203136 : ipack = ipack + 1
20398 2203136 : pack_tmp = packed_data(ipack)
20399 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20400 2203136 : pack_tmp = ISHFT(pack_tmp, -12)
20401 2203136 : idata = idata + 1
20402 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20403 2203136 : full_data(idata) = data_tmp
20404 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20405 2203136 : idata = idata + 1
20406 2203136 : data_tmp = ISHFT(pack_tmp, 4)
20407 2203136 : ipack = ipack + 1
20408 2203136 : pack_tmp = packed_data(ipack)
20409 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20410 2203136 : pack_tmp = ISHFT(pack_tmp, -4)
20411 2203136 : idata = idata + 1
20412 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20413 2203136 : full_data(idata) = data_tmp
20414 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20415 2203136 : idata = idata + 1
20416 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20417 2203136 : full_data(idata) = data_tmp
20418 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20419 2203136 : idata = idata + 1
20420 2203136 : data_tmp = ISHFT(pack_tmp, 24)
20421 2203136 : ipack = ipack + 1
20422 2203136 : pack_tmp = packed_data(ipack)
20423 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20424 2203136 : pack_tmp = ISHFT(pack_tmp, -24)
20425 2203136 : idata = idata + 1
20426 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20427 2203136 : full_data(idata) = data_tmp
20428 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20429 2203136 : idata = idata + 1
20430 2203136 : data_tmp = ISHFT(pack_tmp, 16)
20431 2203136 : ipack = ipack + 1
20432 2203136 : pack_tmp = packed_data(ipack)
20433 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20434 2203136 : pack_tmp = ISHFT(pack_tmp, -16)
20435 2203136 : idata = idata + 1
20436 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20437 2203136 : full_data(idata) = data_tmp
20438 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20439 2203136 : idata = idata + 1
20440 2203136 : data_tmp = ISHFT(pack_tmp, 8)
20441 2203136 : ipack = ipack + 1
20442 2203136 : pack_tmp = packed_data(ipack)
20443 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20444 2203136 : pack_tmp = ISHFT(pack_tmp, -8)
20445 2203136 : idata = idata + 1
20446 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20447 2203136 : full_data(idata) = data_tmp
20448 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20449 2203136 : idata = idata + 1
20450 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20451 2203136 : full_data(idata) = data_tmp
20452 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20453 2203136 : idata = idata + 1
20454 2203136 : data_tmp = ISHFT(pack_tmp, 28)
20455 2203136 : ipack = ipack + 1
20456 2203136 : pack_tmp = packed_data(ipack)
20457 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20458 2203136 : pack_tmp = ISHFT(pack_tmp, -28)
20459 2203136 : idata = idata + 1
20460 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20461 2203136 : full_data(idata) = data_tmp
20462 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20463 2203136 : idata = idata + 1
20464 2203136 : data_tmp = ISHFT(pack_tmp, 20)
20465 2203136 : ipack = ipack + 1
20466 2203136 : pack_tmp = packed_data(ipack)
20467 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20468 2203136 : pack_tmp = ISHFT(pack_tmp, -20)
20469 2203136 : idata = idata + 1
20470 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20471 2203136 : full_data(idata) = data_tmp
20472 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20473 2203136 : idata = idata + 1
20474 2203136 : data_tmp = ISHFT(pack_tmp, 12)
20475 2203136 : ipack = ipack + 1
20476 2203136 : pack_tmp = packed_data(ipack)
20477 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20478 2203136 : pack_tmp = ISHFT(pack_tmp, -12)
20479 2203136 : idata = idata + 1
20480 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20481 2203136 : full_data(idata) = data_tmp
20482 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20483 2203136 : idata = idata + 1
20484 2203136 : data_tmp = ISHFT(pack_tmp, 4)
20485 2203136 : ipack = ipack + 1
20486 2203136 : pack_tmp = packed_data(ipack)
20487 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20488 2203136 : pack_tmp = ISHFT(pack_tmp, -4)
20489 2203136 : idata = idata + 1
20490 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20491 2203136 : full_data(idata) = data_tmp
20492 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20493 2203136 : idata = idata + 1
20494 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20495 2203136 : full_data(idata) = data_tmp
20496 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20497 2203136 : idata = idata + 1
20498 2203136 : data_tmp = ISHFT(pack_tmp, 24)
20499 2203136 : ipack = ipack + 1
20500 2203136 : pack_tmp = packed_data(ipack)
20501 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20502 2203136 : pack_tmp = ISHFT(pack_tmp, -24)
20503 2203136 : idata = idata + 1
20504 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20505 2203136 : full_data(idata) = data_tmp
20506 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20507 2203136 : idata = idata + 1
20508 2203136 : data_tmp = ISHFT(pack_tmp, 16)
20509 2203136 : ipack = ipack + 1
20510 2203136 : pack_tmp = packed_data(ipack)
20511 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20512 2203136 : pack_tmp = ISHFT(pack_tmp, -16)
20513 2203136 : idata = idata + 1
20514 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20515 2203136 : full_data(idata) = data_tmp
20516 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20517 2203136 : idata = idata + 1
20518 2203136 : data_tmp = ISHFT(pack_tmp, 8)
20519 2203136 : ipack = ipack + 1
20520 2203136 : pack_tmp = packed_data(ipack)
20521 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20522 2203136 : pack_tmp = ISHFT(pack_tmp, -8)
20523 2203136 : idata = idata + 1
20524 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20525 2203136 : full_data(idata) = data_tmp
20526 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20527 2203136 : idata = idata + 1
20528 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20529 2203136 : full_data(idata) = data_tmp
20530 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20531 2203136 : idata = idata + 1
20532 2203136 : data_tmp = ISHFT(pack_tmp, 28)
20533 2203136 : ipack = ipack + 1
20534 2203136 : pack_tmp = packed_data(ipack)
20535 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20536 2203136 : pack_tmp = ISHFT(pack_tmp, -28)
20537 2203136 : idata = idata + 1
20538 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20539 2203136 : full_data(idata) = data_tmp
20540 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20541 2203136 : idata = idata + 1
20542 2203136 : data_tmp = ISHFT(pack_tmp, 20)
20543 2203136 : ipack = ipack + 1
20544 2203136 : pack_tmp = packed_data(ipack)
20545 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20546 2203136 : pack_tmp = ISHFT(pack_tmp, -20)
20547 2203136 : idata = idata + 1
20548 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20549 2203136 : full_data(idata) = data_tmp
20550 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20551 2203136 : idata = idata + 1
20552 2203136 : data_tmp = ISHFT(pack_tmp, 12)
20553 2203136 : ipack = ipack + 1
20554 2203136 : pack_tmp = packed_data(ipack)
20555 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20556 2203136 : pack_tmp = ISHFT(pack_tmp, -12)
20557 2203136 : idata = idata + 1
20558 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20559 2203136 : full_data(idata) = data_tmp
20560 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20561 2203136 : idata = idata + 1
20562 2203136 : data_tmp = ISHFT(pack_tmp, 4)
20563 2203136 : ipack = ipack + 1
20564 2203136 : pack_tmp = packed_data(ipack)
20565 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20566 2203136 : pack_tmp = ISHFT(pack_tmp, -4)
20567 2203136 : idata = idata + 1
20568 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20569 2203136 : full_data(idata) = data_tmp
20570 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20571 2203136 : idata = idata + 1
20572 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20573 2203136 : full_data(idata) = data_tmp
20574 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20575 2203136 : idata = idata + 1
20576 2203136 : data_tmp = ISHFT(pack_tmp, 24)
20577 2203136 : ipack = ipack + 1
20578 2203136 : pack_tmp = packed_data(ipack)
20579 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20580 2203136 : pack_tmp = ISHFT(pack_tmp, -24)
20581 2203136 : idata = idata + 1
20582 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20583 2203136 : full_data(idata) = data_tmp
20584 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20585 2203136 : idata = idata + 1
20586 2203136 : data_tmp = ISHFT(pack_tmp, 16)
20587 2203136 : ipack = ipack + 1
20588 2203136 : pack_tmp = packed_data(ipack)
20589 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20590 2203136 : pack_tmp = ISHFT(pack_tmp, -16)
20591 2203136 : idata = idata + 1
20592 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20593 2203136 : full_data(idata) = data_tmp
20594 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20595 2203136 : idata = idata + 1
20596 2203136 : data_tmp = ISHFT(pack_tmp, 8)
20597 2203136 : ipack = ipack + 1
20598 2203136 : pack_tmp = packed_data(ipack)
20599 2203136 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20600 2203136 : pack_tmp = ISHFT(pack_tmp, -8)
20601 2203136 : idata = idata + 1
20602 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20603 2203136 : full_data(idata) = data_tmp
20604 2203136 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20605 2203136 : idata = idata + 1
20606 2203136 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20607 2203136 : full_data(idata) = data_tmp
20608 2204145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20609 : END DO
20610 156972 : IF (Ndata_rep < Ndata) THEN
20611 36032 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
20612 : END IF
20613 156972 : END SUBROUTINE bits2ints_28
20614 :
20615 : ! **************************************************************************************************
20616 : !> \brief ...
20617 : !> \param Ndata ...
20618 : !> \param packed_data ...
20619 : !> \param full_data ...
20620 : ! **************************************************************************************************
20621 36880 : 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 36880 : idata = 0
20632 36880 : ipack = 0
20633 36880 : Ndata_rep = (Ndata/64)*64
20634 36880 : DO kdata = 1, Ndata_rep, 64
20635 522193 : pack_tmp = 0
20636 522193 : idata = idata + 1
20637 522193 : data_tmp = full_data(idata)
20638 522193 : data_tmp = ISHFT(data_tmp, 35)
20639 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20640 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20641 522193 : idata = idata + 1
20642 522193 : data_tmp = full_data(idata)
20643 522193 : data_tmp = ISHFT(data_tmp, 35)
20644 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20645 522193 : pack_tmp = ISHFT(pack_tmp, -6)
20646 522193 : idata = idata + 1
20647 522193 : data_tmp = full_data(idata)
20648 522193 : data_tmp = ISHFT(data_tmp, 35)
20649 522193 : data_tmp = IAND(data_tmp, mask_left(6))
20650 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20651 522193 : ipack = ipack + 1
20652 522193 : packed_data(ipack) = pack_tmp
20653 522193 : data_tmp = full_data(idata)
20654 522193 : pack_tmp = ISHFT(data_tmp, 41)
20655 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20656 522193 : idata = idata + 1
20657 522193 : data_tmp = full_data(idata)
20658 522193 : data_tmp = ISHFT(data_tmp, 35)
20659 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20660 522193 : pack_tmp = ISHFT(pack_tmp, -12)
20661 522193 : idata = idata + 1
20662 522193 : data_tmp = full_data(idata)
20663 522193 : data_tmp = ISHFT(data_tmp, 35)
20664 522193 : data_tmp = IAND(data_tmp, mask_left(12))
20665 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20666 522193 : ipack = ipack + 1
20667 522193 : packed_data(ipack) = pack_tmp
20668 522193 : data_tmp = full_data(idata)
20669 522193 : pack_tmp = ISHFT(data_tmp, 47)
20670 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20671 522193 : idata = idata + 1
20672 522193 : data_tmp = full_data(idata)
20673 522193 : data_tmp = ISHFT(data_tmp, 35)
20674 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20675 522193 : pack_tmp = ISHFT(pack_tmp, -18)
20676 522193 : idata = idata + 1
20677 522193 : data_tmp = full_data(idata)
20678 522193 : data_tmp = ISHFT(data_tmp, 35)
20679 522193 : data_tmp = IAND(data_tmp, mask_left(18))
20680 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20681 522193 : ipack = ipack + 1
20682 522193 : packed_data(ipack) = pack_tmp
20683 522193 : data_tmp = full_data(idata)
20684 522193 : pack_tmp = ISHFT(data_tmp, 53)
20685 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20686 522193 : idata = idata + 1
20687 522193 : data_tmp = full_data(idata)
20688 522193 : data_tmp = ISHFT(data_tmp, 35)
20689 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20690 522193 : pack_tmp = ISHFT(pack_tmp, -24)
20691 522193 : idata = idata + 1
20692 522193 : data_tmp = full_data(idata)
20693 522193 : data_tmp = ISHFT(data_tmp, 35)
20694 522193 : data_tmp = IAND(data_tmp, mask_left(24))
20695 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20696 522193 : ipack = ipack + 1
20697 522193 : packed_data(ipack) = pack_tmp
20698 522193 : data_tmp = full_data(idata)
20699 522193 : pack_tmp = ISHFT(data_tmp, 59)
20700 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20701 522193 : idata = idata + 1
20702 522193 : data_tmp = full_data(idata)
20703 522193 : data_tmp = ISHFT(data_tmp, 35)
20704 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20705 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20706 522193 : idata = idata + 1
20707 522193 : data_tmp = full_data(idata)
20708 522193 : data_tmp = ISHFT(data_tmp, 35)
20709 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20710 522193 : pack_tmp = ISHFT(pack_tmp, -1)
20711 522193 : idata = idata + 1
20712 522193 : data_tmp = full_data(idata)
20713 522193 : data_tmp = ISHFT(data_tmp, 35)
20714 522193 : data_tmp = IAND(data_tmp, mask_left(1))
20715 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20716 522193 : ipack = ipack + 1
20717 522193 : packed_data(ipack) = pack_tmp
20718 522193 : data_tmp = full_data(idata)
20719 522193 : pack_tmp = ISHFT(data_tmp, 36)
20720 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20721 522193 : idata = idata + 1
20722 522193 : data_tmp = full_data(idata)
20723 522193 : data_tmp = ISHFT(data_tmp, 35)
20724 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20725 522193 : pack_tmp = ISHFT(pack_tmp, -7)
20726 522193 : idata = idata + 1
20727 522193 : data_tmp = full_data(idata)
20728 522193 : data_tmp = ISHFT(data_tmp, 35)
20729 522193 : data_tmp = IAND(data_tmp, mask_left(7))
20730 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20731 522193 : ipack = ipack + 1
20732 522193 : packed_data(ipack) = pack_tmp
20733 522193 : data_tmp = full_data(idata)
20734 522193 : pack_tmp = ISHFT(data_tmp, 42)
20735 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20736 522193 : idata = idata + 1
20737 522193 : data_tmp = full_data(idata)
20738 522193 : data_tmp = ISHFT(data_tmp, 35)
20739 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20740 522193 : pack_tmp = ISHFT(pack_tmp, -13)
20741 522193 : idata = idata + 1
20742 522193 : data_tmp = full_data(idata)
20743 522193 : data_tmp = ISHFT(data_tmp, 35)
20744 522193 : data_tmp = IAND(data_tmp, mask_left(13))
20745 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20746 522193 : ipack = ipack + 1
20747 522193 : packed_data(ipack) = pack_tmp
20748 522193 : data_tmp = full_data(idata)
20749 522193 : pack_tmp = ISHFT(data_tmp, 48)
20750 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20751 522193 : idata = idata + 1
20752 522193 : data_tmp = full_data(idata)
20753 522193 : data_tmp = ISHFT(data_tmp, 35)
20754 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20755 522193 : pack_tmp = ISHFT(pack_tmp, -19)
20756 522193 : idata = idata + 1
20757 522193 : data_tmp = full_data(idata)
20758 522193 : data_tmp = ISHFT(data_tmp, 35)
20759 522193 : data_tmp = IAND(data_tmp, mask_left(19))
20760 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20761 522193 : ipack = ipack + 1
20762 522193 : packed_data(ipack) = pack_tmp
20763 522193 : data_tmp = full_data(idata)
20764 522193 : pack_tmp = ISHFT(data_tmp, 54)
20765 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20766 522193 : idata = idata + 1
20767 522193 : data_tmp = full_data(idata)
20768 522193 : data_tmp = ISHFT(data_tmp, 35)
20769 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20770 522193 : pack_tmp = ISHFT(pack_tmp, -25)
20771 522193 : idata = idata + 1
20772 522193 : data_tmp = full_data(idata)
20773 522193 : data_tmp = ISHFT(data_tmp, 35)
20774 522193 : data_tmp = IAND(data_tmp, mask_left(25))
20775 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20776 522193 : ipack = ipack + 1
20777 522193 : packed_data(ipack) = pack_tmp
20778 522193 : data_tmp = full_data(idata)
20779 522193 : pack_tmp = ISHFT(data_tmp, 60)
20780 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20781 522193 : idata = idata + 1
20782 522193 : data_tmp = full_data(idata)
20783 522193 : data_tmp = ISHFT(data_tmp, 35)
20784 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20785 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20786 522193 : idata = idata + 1
20787 522193 : data_tmp = full_data(idata)
20788 522193 : data_tmp = ISHFT(data_tmp, 35)
20789 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20790 522193 : pack_tmp = ISHFT(pack_tmp, -2)
20791 522193 : idata = idata + 1
20792 522193 : data_tmp = full_data(idata)
20793 522193 : data_tmp = ISHFT(data_tmp, 35)
20794 522193 : data_tmp = IAND(data_tmp, mask_left(2))
20795 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20796 522193 : ipack = ipack + 1
20797 522193 : packed_data(ipack) = pack_tmp
20798 522193 : data_tmp = full_data(idata)
20799 522193 : pack_tmp = ISHFT(data_tmp, 37)
20800 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20801 522193 : idata = idata + 1
20802 522193 : data_tmp = full_data(idata)
20803 522193 : data_tmp = ISHFT(data_tmp, 35)
20804 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20805 522193 : pack_tmp = ISHFT(pack_tmp, -8)
20806 522193 : idata = idata + 1
20807 522193 : data_tmp = full_data(idata)
20808 522193 : data_tmp = ISHFT(data_tmp, 35)
20809 522193 : data_tmp = IAND(data_tmp, mask_left(8))
20810 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20811 522193 : ipack = ipack + 1
20812 522193 : packed_data(ipack) = pack_tmp
20813 522193 : data_tmp = full_data(idata)
20814 522193 : pack_tmp = ISHFT(data_tmp, 43)
20815 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20816 522193 : idata = idata + 1
20817 522193 : data_tmp = full_data(idata)
20818 522193 : data_tmp = ISHFT(data_tmp, 35)
20819 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20820 522193 : pack_tmp = ISHFT(pack_tmp, -14)
20821 522193 : idata = idata + 1
20822 522193 : data_tmp = full_data(idata)
20823 522193 : data_tmp = ISHFT(data_tmp, 35)
20824 522193 : data_tmp = IAND(data_tmp, mask_left(14))
20825 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20826 522193 : ipack = ipack + 1
20827 522193 : packed_data(ipack) = pack_tmp
20828 522193 : data_tmp = full_data(idata)
20829 522193 : pack_tmp = ISHFT(data_tmp, 49)
20830 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20831 522193 : idata = idata + 1
20832 522193 : data_tmp = full_data(idata)
20833 522193 : data_tmp = ISHFT(data_tmp, 35)
20834 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20835 522193 : pack_tmp = ISHFT(pack_tmp, -20)
20836 522193 : idata = idata + 1
20837 522193 : data_tmp = full_data(idata)
20838 522193 : data_tmp = ISHFT(data_tmp, 35)
20839 522193 : data_tmp = IAND(data_tmp, mask_left(20))
20840 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20841 522193 : ipack = ipack + 1
20842 522193 : packed_data(ipack) = pack_tmp
20843 522193 : data_tmp = full_data(idata)
20844 522193 : pack_tmp = ISHFT(data_tmp, 55)
20845 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20846 522193 : idata = idata + 1
20847 522193 : data_tmp = full_data(idata)
20848 522193 : data_tmp = ISHFT(data_tmp, 35)
20849 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20850 522193 : pack_tmp = ISHFT(pack_tmp, -26)
20851 522193 : idata = idata + 1
20852 522193 : data_tmp = full_data(idata)
20853 522193 : data_tmp = ISHFT(data_tmp, 35)
20854 522193 : data_tmp = IAND(data_tmp, mask_left(26))
20855 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20856 522193 : ipack = ipack + 1
20857 522193 : packed_data(ipack) = pack_tmp
20858 522193 : data_tmp = full_data(idata)
20859 522193 : pack_tmp = ISHFT(data_tmp, 61)
20860 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20861 522193 : idata = idata + 1
20862 522193 : data_tmp = full_data(idata)
20863 522193 : data_tmp = ISHFT(data_tmp, 35)
20864 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20865 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20866 522193 : idata = idata + 1
20867 522193 : data_tmp = full_data(idata)
20868 522193 : data_tmp = ISHFT(data_tmp, 35)
20869 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20870 522193 : pack_tmp = ISHFT(pack_tmp, -3)
20871 522193 : idata = idata + 1
20872 522193 : data_tmp = full_data(idata)
20873 522193 : data_tmp = ISHFT(data_tmp, 35)
20874 522193 : data_tmp = IAND(data_tmp, mask_left(3))
20875 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20876 522193 : ipack = ipack + 1
20877 522193 : packed_data(ipack) = pack_tmp
20878 522193 : data_tmp = full_data(idata)
20879 522193 : pack_tmp = ISHFT(data_tmp, 38)
20880 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20881 522193 : idata = idata + 1
20882 522193 : data_tmp = full_data(idata)
20883 522193 : data_tmp = ISHFT(data_tmp, 35)
20884 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20885 522193 : pack_tmp = ISHFT(pack_tmp, -9)
20886 522193 : idata = idata + 1
20887 522193 : data_tmp = full_data(idata)
20888 522193 : data_tmp = ISHFT(data_tmp, 35)
20889 522193 : data_tmp = IAND(data_tmp, mask_left(9))
20890 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20891 522193 : ipack = ipack + 1
20892 522193 : packed_data(ipack) = pack_tmp
20893 522193 : data_tmp = full_data(idata)
20894 522193 : pack_tmp = ISHFT(data_tmp, 44)
20895 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20896 522193 : idata = idata + 1
20897 522193 : data_tmp = full_data(idata)
20898 522193 : data_tmp = ISHFT(data_tmp, 35)
20899 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20900 522193 : pack_tmp = ISHFT(pack_tmp, -15)
20901 522193 : idata = idata + 1
20902 522193 : data_tmp = full_data(idata)
20903 522193 : data_tmp = ISHFT(data_tmp, 35)
20904 522193 : data_tmp = IAND(data_tmp, mask_left(15))
20905 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20906 522193 : ipack = ipack + 1
20907 522193 : packed_data(ipack) = pack_tmp
20908 522193 : data_tmp = full_data(idata)
20909 522193 : pack_tmp = ISHFT(data_tmp, 50)
20910 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20911 522193 : idata = idata + 1
20912 522193 : data_tmp = full_data(idata)
20913 522193 : data_tmp = ISHFT(data_tmp, 35)
20914 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20915 522193 : pack_tmp = ISHFT(pack_tmp, -21)
20916 522193 : idata = idata + 1
20917 522193 : data_tmp = full_data(idata)
20918 522193 : data_tmp = ISHFT(data_tmp, 35)
20919 522193 : data_tmp = IAND(data_tmp, mask_left(21))
20920 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20921 522193 : ipack = ipack + 1
20922 522193 : packed_data(ipack) = pack_tmp
20923 522193 : data_tmp = full_data(idata)
20924 522193 : pack_tmp = ISHFT(data_tmp, 56)
20925 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20926 522193 : idata = idata + 1
20927 522193 : data_tmp = full_data(idata)
20928 522193 : data_tmp = ISHFT(data_tmp, 35)
20929 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20930 522193 : pack_tmp = ISHFT(pack_tmp, -27)
20931 522193 : idata = idata + 1
20932 522193 : data_tmp = full_data(idata)
20933 522193 : data_tmp = ISHFT(data_tmp, 35)
20934 522193 : data_tmp = IAND(data_tmp, mask_left(27))
20935 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20936 522193 : ipack = ipack + 1
20937 522193 : packed_data(ipack) = pack_tmp
20938 522193 : data_tmp = full_data(idata)
20939 522193 : pack_tmp = ISHFT(data_tmp, 62)
20940 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20941 522193 : idata = idata + 1
20942 522193 : data_tmp = full_data(idata)
20943 522193 : data_tmp = ISHFT(data_tmp, 35)
20944 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20945 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20946 522193 : idata = idata + 1
20947 522193 : data_tmp = full_data(idata)
20948 522193 : data_tmp = ISHFT(data_tmp, 35)
20949 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20950 522193 : pack_tmp = ISHFT(pack_tmp, -4)
20951 522193 : idata = idata + 1
20952 522193 : data_tmp = full_data(idata)
20953 522193 : data_tmp = ISHFT(data_tmp, 35)
20954 522193 : data_tmp = IAND(data_tmp, mask_left(4))
20955 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20956 522193 : ipack = ipack + 1
20957 522193 : packed_data(ipack) = pack_tmp
20958 522193 : data_tmp = full_data(idata)
20959 522193 : pack_tmp = ISHFT(data_tmp, 39)
20960 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20961 522193 : idata = idata + 1
20962 522193 : data_tmp = full_data(idata)
20963 522193 : data_tmp = ISHFT(data_tmp, 35)
20964 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20965 522193 : pack_tmp = ISHFT(pack_tmp, -10)
20966 522193 : idata = idata + 1
20967 522193 : data_tmp = full_data(idata)
20968 522193 : data_tmp = ISHFT(data_tmp, 35)
20969 522193 : data_tmp = IAND(data_tmp, mask_left(10))
20970 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20971 522193 : ipack = ipack + 1
20972 522193 : packed_data(ipack) = pack_tmp
20973 522193 : data_tmp = full_data(idata)
20974 522193 : pack_tmp = ISHFT(data_tmp, 45)
20975 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20976 522193 : idata = idata + 1
20977 522193 : data_tmp = full_data(idata)
20978 522193 : data_tmp = ISHFT(data_tmp, 35)
20979 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20980 522193 : pack_tmp = ISHFT(pack_tmp, -16)
20981 522193 : idata = idata + 1
20982 522193 : data_tmp = full_data(idata)
20983 522193 : data_tmp = ISHFT(data_tmp, 35)
20984 522193 : data_tmp = IAND(data_tmp, mask_left(16))
20985 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20986 522193 : ipack = ipack + 1
20987 522193 : packed_data(ipack) = pack_tmp
20988 522193 : data_tmp = full_data(idata)
20989 522193 : pack_tmp = ISHFT(data_tmp, 51)
20990 522193 : pack_tmp = ISHFT(pack_tmp, -29)
20991 522193 : idata = idata + 1
20992 522193 : data_tmp = full_data(idata)
20993 522193 : data_tmp = ISHFT(data_tmp, 35)
20994 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
20995 522193 : pack_tmp = ISHFT(pack_tmp, -22)
20996 522193 : idata = idata + 1
20997 522193 : data_tmp = full_data(idata)
20998 522193 : data_tmp = ISHFT(data_tmp, 35)
20999 522193 : data_tmp = IAND(data_tmp, mask_left(22))
21000 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21001 522193 : ipack = ipack + 1
21002 522193 : packed_data(ipack) = pack_tmp
21003 522193 : data_tmp = full_data(idata)
21004 522193 : pack_tmp = ISHFT(data_tmp, 57)
21005 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21006 522193 : idata = idata + 1
21007 522193 : data_tmp = full_data(idata)
21008 522193 : data_tmp = ISHFT(data_tmp, 35)
21009 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21010 522193 : pack_tmp = ISHFT(pack_tmp, -28)
21011 522193 : idata = idata + 1
21012 522193 : data_tmp = full_data(idata)
21013 522193 : data_tmp = ISHFT(data_tmp, 35)
21014 522193 : data_tmp = IAND(data_tmp, mask_left(28))
21015 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21016 522193 : ipack = ipack + 1
21017 522193 : packed_data(ipack) = pack_tmp
21018 522193 : data_tmp = full_data(idata)
21019 522193 : pack_tmp = ISHFT(data_tmp, 63)
21020 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21021 522193 : idata = idata + 1
21022 522193 : data_tmp = full_data(idata)
21023 522193 : data_tmp = ISHFT(data_tmp, 35)
21024 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21025 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21026 522193 : idata = idata + 1
21027 522193 : data_tmp = full_data(idata)
21028 522193 : data_tmp = ISHFT(data_tmp, 35)
21029 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21030 522193 : pack_tmp = ISHFT(pack_tmp, -5)
21031 522193 : idata = idata + 1
21032 522193 : data_tmp = full_data(idata)
21033 522193 : data_tmp = ISHFT(data_tmp, 35)
21034 522193 : data_tmp = IAND(data_tmp, mask_left(5))
21035 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21036 522193 : ipack = ipack + 1
21037 522193 : packed_data(ipack) = pack_tmp
21038 522193 : data_tmp = full_data(idata)
21039 522193 : pack_tmp = ISHFT(data_tmp, 40)
21040 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21041 522193 : idata = idata + 1
21042 522193 : data_tmp = full_data(idata)
21043 522193 : data_tmp = ISHFT(data_tmp, 35)
21044 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21045 522193 : pack_tmp = ISHFT(pack_tmp, -11)
21046 522193 : idata = idata + 1
21047 522193 : data_tmp = full_data(idata)
21048 522193 : data_tmp = ISHFT(data_tmp, 35)
21049 522193 : data_tmp = IAND(data_tmp, mask_left(11))
21050 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21051 522193 : ipack = ipack + 1
21052 522193 : packed_data(ipack) = pack_tmp
21053 522193 : data_tmp = full_data(idata)
21054 522193 : pack_tmp = ISHFT(data_tmp, 46)
21055 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21056 522193 : idata = idata + 1
21057 522193 : data_tmp = full_data(idata)
21058 522193 : data_tmp = ISHFT(data_tmp, 35)
21059 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21060 522193 : pack_tmp = ISHFT(pack_tmp, -17)
21061 522193 : idata = idata + 1
21062 522193 : data_tmp = full_data(idata)
21063 522193 : data_tmp = ISHFT(data_tmp, 35)
21064 522193 : data_tmp = IAND(data_tmp, mask_left(17))
21065 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21066 522193 : ipack = ipack + 1
21067 522193 : packed_data(ipack) = pack_tmp
21068 522193 : data_tmp = full_data(idata)
21069 522193 : pack_tmp = ISHFT(data_tmp, 52)
21070 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21071 522193 : idata = idata + 1
21072 522193 : data_tmp = full_data(idata)
21073 522193 : data_tmp = ISHFT(data_tmp, 35)
21074 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21075 522193 : pack_tmp = ISHFT(pack_tmp, -23)
21076 522193 : idata = idata + 1
21077 522193 : data_tmp = full_data(idata)
21078 522193 : data_tmp = ISHFT(data_tmp, 35)
21079 522193 : data_tmp = IAND(data_tmp, mask_left(23))
21080 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21081 522193 : ipack = ipack + 1
21082 522193 : packed_data(ipack) = pack_tmp
21083 522193 : data_tmp = full_data(idata)
21084 522193 : pack_tmp = ISHFT(data_tmp, 58)
21085 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21086 522193 : idata = idata + 1
21087 522193 : data_tmp = full_data(idata)
21088 522193 : data_tmp = ISHFT(data_tmp, 35)
21089 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21090 522193 : pack_tmp = ISHFT(pack_tmp, -29)
21091 522193 : idata = idata + 1
21092 522193 : data_tmp = full_data(idata)
21093 522193 : data_tmp = ISHFT(data_tmp, 35)
21094 522193 : pack_tmp = IOR(pack_tmp, data_tmp)
21095 : pack_tmp = ISHFT(pack_tmp, 0)
21096 522193 : pack_tmp = ISHFT(pack_tmp, 0)
21097 522193 : ipack = ipack + 1
21098 522597 : packed_data(ipack) = pack_tmp
21099 : END DO
21100 36880 : IF (Ndata_rep < Ndata) THEN
21101 7902 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21102 : END IF
21103 36880 : END SUBROUTINE ints2bits_29
21104 :
21105 : ! **************************************************************************************************
21106 : !> \brief ...
21107 : !> \param Ndata ...
21108 : !> \param packed_data ...
21109 : !> \param full_data ...
21110 : ! **************************************************************************************************
21111 177246 : 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 177246 : ipack = 0
21122 177246 : idata = 0
21123 177246 : pack_tmp = 0
21124 177246 : Ndata_rep = (Ndata/64)*64
21125 177246 : DO kdata = 1, Ndata_rep, 64
21126 2423710 : idata = idata + 1
21127 2423710 : data_tmp = ISHFT(pack_tmp, 29)
21128 2423710 : ipack = ipack + 1
21129 2423710 : pack_tmp = packed_data(ipack)
21130 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
21131 2423710 : pack_tmp = ISHFT(pack_tmp, -29)
21132 2423710 : idata = idata + 1
21133 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21134 2423710 : full_data(idata) = data_tmp
21135 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21136 2423710 : idata = idata + 1
21137 2423710 : data_tmp = ISHFT(pack_tmp, 23)
21138 2423710 : ipack = ipack + 1
21139 2423710 : pack_tmp = packed_data(ipack)
21140 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
21141 2423710 : pack_tmp = ISHFT(pack_tmp, -23)
21142 2423710 : idata = idata + 1
21143 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21144 2423710 : full_data(idata) = data_tmp
21145 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21146 2423710 : idata = idata + 1
21147 2423710 : data_tmp = ISHFT(pack_tmp, 17)
21148 2423710 : ipack = ipack + 1
21149 2423710 : pack_tmp = packed_data(ipack)
21150 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
21151 2423710 : pack_tmp = ISHFT(pack_tmp, -17)
21152 2423710 : idata = idata + 1
21153 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21154 2423710 : full_data(idata) = data_tmp
21155 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21156 2423710 : idata = idata + 1
21157 2423710 : data_tmp = ISHFT(pack_tmp, 11)
21158 2423710 : ipack = ipack + 1
21159 2423710 : pack_tmp = packed_data(ipack)
21160 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
21161 2423710 : pack_tmp = ISHFT(pack_tmp, -11)
21162 2423710 : idata = idata + 1
21163 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21164 2423710 : full_data(idata) = data_tmp
21165 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21166 2423710 : idata = idata + 1
21167 2423710 : data_tmp = ISHFT(pack_tmp, 5)
21168 2423710 : ipack = ipack + 1
21169 2423710 : pack_tmp = packed_data(ipack)
21170 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
21171 2423710 : pack_tmp = ISHFT(pack_tmp, -5)
21172 2423710 : idata = idata + 1
21173 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21174 2423710 : full_data(idata) = data_tmp
21175 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21176 2423710 : idata = idata + 1
21177 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21178 2423710 : full_data(idata) = data_tmp
21179 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21180 2423710 : idata = idata + 1
21181 2423710 : data_tmp = ISHFT(pack_tmp, 28)
21182 2423710 : ipack = ipack + 1
21183 2423710 : pack_tmp = packed_data(ipack)
21184 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
21185 2423710 : pack_tmp = ISHFT(pack_tmp, -28)
21186 2423710 : idata = idata + 1
21187 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21188 2423710 : full_data(idata) = data_tmp
21189 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21190 2423710 : idata = idata + 1
21191 2423710 : data_tmp = ISHFT(pack_tmp, 22)
21192 2423710 : ipack = ipack + 1
21193 2423710 : pack_tmp = packed_data(ipack)
21194 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21195 2423710 : pack_tmp = ISHFT(pack_tmp, -22)
21196 2423710 : idata = idata + 1
21197 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21198 2423710 : full_data(idata) = data_tmp
21199 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21200 2423710 : idata = idata + 1
21201 2423710 : data_tmp = ISHFT(pack_tmp, 16)
21202 2423710 : ipack = ipack + 1
21203 2423710 : pack_tmp = packed_data(ipack)
21204 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
21205 2423710 : pack_tmp = ISHFT(pack_tmp, -16)
21206 2423710 : idata = idata + 1
21207 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21208 2423710 : full_data(idata) = data_tmp
21209 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21210 2423710 : idata = idata + 1
21211 2423710 : data_tmp = ISHFT(pack_tmp, 10)
21212 2423710 : ipack = ipack + 1
21213 2423710 : pack_tmp = packed_data(ipack)
21214 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
21215 2423710 : pack_tmp = ISHFT(pack_tmp, -10)
21216 2423710 : idata = idata + 1
21217 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21218 2423710 : full_data(idata) = data_tmp
21219 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21220 2423710 : idata = idata + 1
21221 2423710 : data_tmp = ISHFT(pack_tmp, 4)
21222 2423710 : ipack = ipack + 1
21223 2423710 : pack_tmp = packed_data(ipack)
21224 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
21225 2423710 : pack_tmp = ISHFT(pack_tmp, -4)
21226 2423710 : idata = idata + 1
21227 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21228 2423710 : full_data(idata) = data_tmp
21229 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21230 2423710 : idata = idata + 1
21231 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21232 2423710 : full_data(idata) = data_tmp
21233 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21234 2423710 : idata = idata + 1
21235 2423710 : data_tmp = ISHFT(pack_tmp, 27)
21236 2423710 : ipack = ipack + 1
21237 2423710 : pack_tmp = packed_data(ipack)
21238 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
21239 2423710 : pack_tmp = ISHFT(pack_tmp, -27)
21240 2423710 : idata = idata + 1
21241 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21242 2423710 : full_data(idata) = data_tmp
21243 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21244 2423710 : idata = idata + 1
21245 2423710 : data_tmp = ISHFT(pack_tmp, 21)
21246 2423710 : ipack = ipack + 1
21247 2423710 : pack_tmp = packed_data(ipack)
21248 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
21249 2423710 : pack_tmp = ISHFT(pack_tmp, -21)
21250 2423710 : idata = idata + 1
21251 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21252 2423710 : full_data(idata) = data_tmp
21253 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21254 2423710 : idata = idata + 1
21255 2423710 : data_tmp = ISHFT(pack_tmp, 15)
21256 2423710 : ipack = ipack + 1
21257 2423710 : pack_tmp = packed_data(ipack)
21258 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
21259 2423710 : pack_tmp = ISHFT(pack_tmp, -15)
21260 2423710 : idata = idata + 1
21261 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21262 2423710 : full_data(idata) = data_tmp
21263 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21264 2423710 : idata = idata + 1
21265 2423710 : data_tmp = ISHFT(pack_tmp, 9)
21266 2423710 : ipack = ipack + 1
21267 2423710 : pack_tmp = packed_data(ipack)
21268 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
21269 2423710 : pack_tmp = ISHFT(pack_tmp, -9)
21270 2423710 : idata = idata + 1
21271 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21272 2423710 : full_data(idata) = data_tmp
21273 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21274 2423710 : idata = idata + 1
21275 2423710 : data_tmp = ISHFT(pack_tmp, 3)
21276 2423710 : ipack = ipack + 1
21277 2423710 : pack_tmp = packed_data(ipack)
21278 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
21279 2423710 : pack_tmp = ISHFT(pack_tmp, -3)
21280 2423710 : idata = idata + 1
21281 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21282 2423710 : full_data(idata) = data_tmp
21283 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21284 2423710 : idata = idata + 1
21285 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21286 2423710 : full_data(idata) = data_tmp
21287 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21288 2423710 : idata = idata + 1
21289 2423710 : data_tmp = ISHFT(pack_tmp, 26)
21290 2423710 : ipack = ipack + 1
21291 2423710 : pack_tmp = packed_data(ipack)
21292 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21293 2423710 : pack_tmp = ISHFT(pack_tmp, -26)
21294 2423710 : idata = idata + 1
21295 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21296 2423710 : full_data(idata) = data_tmp
21297 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21298 2423710 : idata = idata + 1
21299 2423710 : data_tmp = ISHFT(pack_tmp, 20)
21300 2423710 : ipack = ipack + 1
21301 2423710 : pack_tmp = packed_data(ipack)
21302 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
21303 2423710 : pack_tmp = ISHFT(pack_tmp, -20)
21304 2423710 : idata = idata + 1
21305 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21306 2423710 : full_data(idata) = data_tmp
21307 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21308 2423710 : idata = idata + 1
21309 2423710 : data_tmp = ISHFT(pack_tmp, 14)
21310 2423710 : ipack = ipack + 1
21311 2423710 : pack_tmp = packed_data(ipack)
21312 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
21313 2423710 : pack_tmp = ISHFT(pack_tmp, -14)
21314 2423710 : idata = idata + 1
21315 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21316 2423710 : full_data(idata) = data_tmp
21317 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21318 2423710 : idata = idata + 1
21319 2423710 : data_tmp = ISHFT(pack_tmp, 8)
21320 2423710 : ipack = ipack + 1
21321 2423710 : pack_tmp = packed_data(ipack)
21322 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
21323 2423710 : pack_tmp = ISHFT(pack_tmp, -8)
21324 2423710 : idata = idata + 1
21325 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21326 2423710 : full_data(idata) = data_tmp
21327 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21328 2423710 : idata = idata + 1
21329 2423710 : data_tmp = ISHFT(pack_tmp, 2)
21330 2423710 : ipack = ipack + 1
21331 2423710 : pack_tmp = packed_data(ipack)
21332 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
21333 2423710 : pack_tmp = ISHFT(pack_tmp, -2)
21334 2423710 : idata = idata + 1
21335 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21336 2423710 : full_data(idata) = data_tmp
21337 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21338 2423710 : idata = idata + 1
21339 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21340 2423710 : full_data(idata) = data_tmp
21341 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21342 2423710 : idata = idata + 1
21343 2423710 : data_tmp = ISHFT(pack_tmp, 25)
21344 2423710 : ipack = ipack + 1
21345 2423710 : pack_tmp = packed_data(ipack)
21346 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
21347 2423710 : pack_tmp = ISHFT(pack_tmp, -25)
21348 2423710 : idata = idata + 1
21349 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21350 2423710 : full_data(idata) = data_tmp
21351 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21352 2423710 : idata = idata + 1
21353 2423710 : data_tmp = ISHFT(pack_tmp, 19)
21354 2423710 : ipack = ipack + 1
21355 2423710 : pack_tmp = packed_data(ipack)
21356 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
21357 2423710 : pack_tmp = ISHFT(pack_tmp, -19)
21358 2423710 : idata = idata + 1
21359 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21360 2423710 : full_data(idata) = data_tmp
21361 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21362 2423710 : idata = idata + 1
21363 2423710 : data_tmp = ISHFT(pack_tmp, 13)
21364 2423710 : ipack = ipack + 1
21365 2423710 : pack_tmp = packed_data(ipack)
21366 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
21367 2423710 : pack_tmp = ISHFT(pack_tmp, -13)
21368 2423710 : idata = idata + 1
21369 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21370 2423710 : full_data(idata) = data_tmp
21371 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21372 2423710 : idata = idata + 1
21373 2423710 : data_tmp = ISHFT(pack_tmp, 7)
21374 2423710 : ipack = ipack + 1
21375 2423710 : pack_tmp = packed_data(ipack)
21376 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
21377 2423710 : pack_tmp = ISHFT(pack_tmp, -7)
21378 2423710 : idata = idata + 1
21379 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21380 2423710 : full_data(idata) = data_tmp
21381 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21382 2423710 : idata = idata + 1
21383 2423710 : data_tmp = ISHFT(pack_tmp, 1)
21384 2423710 : ipack = ipack + 1
21385 2423710 : pack_tmp = packed_data(ipack)
21386 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
21387 2423710 : pack_tmp = ISHFT(pack_tmp, -1)
21388 2423710 : idata = idata + 1
21389 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21390 2423710 : full_data(idata) = data_tmp
21391 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21392 2423710 : idata = idata + 1
21393 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21394 2423710 : full_data(idata) = data_tmp
21395 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21396 2423710 : idata = idata + 1
21397 2423710 : data_tmp = ISHFT(pack_tmp, 24)
21398 2423710 : ipack = ipack + 1
21399 2423710 : pack_tmp = packed_data(ipack)
21400 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
21401 2423710 : pack_tmp = ISHFT(pack_tmp, -24)
21402 2423710 : idata = idata + 1
21403 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21404 2423710 : full_data(idata) = data_tmp
21405 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21406 2423710 : idata = idata + 1
21407 2423710 : data_tmp = ISHFT(pack_tmp, 18)
21408 2423710 : ipack = ipack + 1
21409 2423710 : pack_tmp = packed_data(ipack)
21410 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21411 2423710 : pack_tmp = ISHFT(pack_tmp, -18)
21412 2423710 : idata = idata + 1
21413 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21414 2423710 : full_data(idata) = data_tmp
21415 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21416 2423710 : idata = idata + 1
21417 2423710 : data_tmp = ISHFT(pack_tmp, 12)
21418 2423710 : ipack = ipack + 1
21419 2423710 : pack_tmp = packed_data(ipack)
21420 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
21421 2423710 : pack_tmp = ISHFT(pack_tmp, -12)
21422 2423710 : idata = idata + 1
21423 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21424 2423710 : full_data(idata) = data_tmp
21425 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21426 2423710 : idata = idata + 1
21427 2423710 : data_tmp = ISHFT(pack_tmp, 6)
21428 2423710 : ipack = ipack + 1
21429 2423710 : pack_tmp = packed_data(ipack)
21430 2423710 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
21431 2423710 : pack_tmp = ISHFT(pack_tmp, -6)
21432 2423710 : idata = idata + 1
21433 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21434 2423710 : full_data(idata) = data_tmp
21435 2423710 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21436 2423710 : idata = idata + 1
21437 2423710 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21438 2423710 : full_data(idata) = data_tmp
21439 2426117 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21440 : END DO
21441 177246 : IF (Ndata_rep < Ndata) THEN
21442 47716 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21443 : END IF
21444 177246 : END SUBROUTINE bits2ints_29
21445 :
21446 : ! **************************************************************************************************
21447 : !> \brief ...
21448 : !> \param Ndata ...
21449 : !> \param packed_data ...
21450 : !> \param full_data ...
21451 : ! **************************************************************************************************
21452 43669 : 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 43669 : idata = 0
21463 43669 : ipack = 0
21464 43669 : Ndata_rep = (Ndata/64)*64
21465 43669 : DO kdata = 1, Ndata_rep, 64
21466 592046 : pack_tmp = 0
21467 592046 : idata = idata + 1
21468 592046 : data_tmp = full_data(idata)
21469 592046 : data_tmp = ISHFT(data_tmp, 34)
21470 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21471 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21472 592046 : idata = idata + 1
21473 592046 : data_tmp = full_data(idata)
21474 592046 : data_tmp = ISHFT(data_tmp, 34)
21475 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21476 592046 : pack_tmp = ISHFT(pack_tmp, -4)
21477 592046 : idata = idata + 1
21478 592046 : data_tmp = full_data(idata)
21479 592046 : data_tmp = ISHFT(data_tmp, 34)
21480 592046 : data_tmp = IAND(data_tmp, mask_left(4))
21481 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21482 592046 : ipack = ipack + 1
21483 592046 : packed_data(ipack) = pack_tmp
21484 592046 : data_tmp = full_data(idata)
21485 592046 : pack_tmp = ISHFT(data_tmp, 38)
21486 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21487 592046 : idata = idata + 1
21488 592046 : data_tmp = full_data(idata)
21489 592046 : data_tmp = ISHFT(data_tmp, 34)
21490 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21491 592046 : pack_tmp = ISHFT(pack_tmp, -8)
21492 592046 : idata = idata + 1
21493 592046 : data_tmp = full_data(idata)
21494 592046 : data_tmp = ISHFT(data_tmp, 34)
21495 592046 : data_tmp = IAND(data_tmp, mask_left(8))
21496 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21497 592046 : ipack = ipack + 1
21498 592046 : packed_data(ipack) = pack_tmp
21499 592046 : data_tmp = full_data(idata)
21500 592046 : pack_tmp = ISHFT(data_tmp, 42)
21501 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21502 592046 : idata = idata + 1
21503 592046 : data_tmp = full_data(idata)
21504 592046 : data_tmp = ISHFT(data_tmp, 34)
21505 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21506 592046 : pack_tmp = ISHFT(pack_tmp, -12)
21507 592046 : idata = idata + 1
21508 592046 : data_tmp = full_data(idata)
21509 592046 : data_tmp = ISHFT(data_tmp, 34)
21510 592046 : data_tmp = IAND(data_tmp, mask_left(12))
21511 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21512 592046 : ipack = ipack + 1
21513 592046 : packed_data(ipack) = pack_tmp
21514 592046 : data_tmp = full_data(idata)
21515 592046 : pack_tmp = ISHFT(data_tmp, 46)
21516 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21517 592046 : idata = idata + 1
21518 592046 : data_tmp = full_data(idata)
21519 592046 : data_tmp = ISHFT(data_tmp, 34)
21520 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21521 592046 : pack_tmp = ISHFT(pack_tmp, -16)
21522 592046 : idata = idata + 1
21523 592046 : data_tmp = full_data(idata)
21524 592046 : data_tmp = ISHFT(data_tmp, 34)
21525 592046 : data_tmp = IAND(data_tmp, mask_left(16))
21526 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21527 592046 : ipack = ipack + 1
21528 592046 : packed_data(ipack) = pack_tmp
21529 592046 : data_tmp = full_data(idata)
21530 592046 : pack_tmp = ISHFT(data_tmp, 50)
21531 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21532 592046 : idata = idata + 1
21533 592046 : data_tmp = full_data(idata)
21534 592046 : data_tmp = ISHFT(data_tmp, 34)
21535 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21536 592046 : pack_tmp = ISHFT(pack_tmp, -20)
21537 592046 : idata = idata + 1
21538 592046 : data_tmp = full_data(idata)
21539 592046 : data_tmp = ISHFT(data_tmp, 34)
21540 592046 : data_tmp = IAND(data_tmp, mask_left(20))
21541 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21542 592046 : ipack = ipack + 1
21543 592046 : packed_data(ipack) = pack_tmp
21544 592046 : data_tmp = full_data(idata)
21545 592046 : pack_tmp = ISHFT(data_tmp, 54)
21546 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21547 592046 : idata = idata + 1
21548 592046 : data_tmp = full_data(idata)
21549 592046 : data_tmp = ISHFT(data_tmp, 34)
21550 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21551 592046 : pack_tmp = ISHFT(pack_tmp, -24)
21552 592046 : idata = idata + 1
21553 592046 : data_tmp = full_data(idata)
21554 592046 : data_tmp = ISHFT(data_tmp, 34)
21555 592046 : data_tmp = IAND(data_tmp, mask_left(24))
21556 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21557 592046 : ipack = ipack + 1
21558 592046 : packed_data(ipack) = pack_tmp
21559 592046 : data_tmp = full_data(idata)
21560 592046 : pack_tmp = ISHFT(data_tmp, 58)
21561 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21562 592046 : idata = idata + 1
21563 592046 : data_tmp = full_data(idata)
21564 592046 : data_tmp = ISHFT(data_tmp, 34)
21565 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21566 592046 : pack_tmp = ISHFT(pack_tmp, -28)
21567 592046 : idata = idata + 1
21568 592046 : data_tmp = full_data(idata)
21569 592046 : data_tmp = ISHFT(data_tmp, 34)
21570 592046 : data_tmp = IAND(data_tmp, mask_left(28))
21571 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21572 592046 : ipack = ipack + 1
21573 592046 : packed_data(ipack) = pack_tmp
21574 592046 : data_tmp = full_data(idata)
21575 592046 : pack_tmp = ISHFT(data_tmp, 62)
21576 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21577 592046 : idata = idata + 1
21578 592046 : data_tmp = full_data(idata)
21579 592046 : data_tmp = ISHFT(data_tmp, 34)
21580 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21581 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21582 592046 : idata = idata + 1
21583 592046 : data_tmp = full_data(idata)
21584 592046 : data_tmp = ISHFT(data_tmp, 34)
21585 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21586 592046 : pack_tmp = ISHFT(pack_tmp, -2)
21587 592046 : idata = idata + 1
21588 592046 : data_tmp = full_data(idata)
21589 592046 : data_tmp = ISHFT(data_tmp, 34)
21590 592046 : data_tmp = IAND(data_tmp, mask_left(2))
21591 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21592 592046 : ipack = ipack + 1
21593 592046 : packed_data(ipack) = pack_tmp
21594 592046 : data_tmp = full_data(idata)
21595 592046 : pack_tmp = ISHFT(data_tmp, 36)
21596 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21597 592046 : idata = idata + 1
21598 592046 : data_tmp = full_data(idata)
21599 592046 : data_tmp = ISHFT(data_tmp, 34)
21600 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21601 592046 : pack_tmp = ISHFT(pack_tmp, -6)
21602 592046 : idata = idata + 1
21603 592046 : data_tmp = full_data(idata)
21604 592046 : data_tmp = ISHFT(data_tmp, 34)
21605 592046 : data_tmp = IAND(data_tmp, mask_left(6))
21606 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21607 592046 : ipack = ipack + 1
21608 592046 : packed_data(ipack) = pack_tmp
21609 592046 : data_tmp = full_data(idata)
21610 592046 : pack_tmp = ISHFT(data_tmp, 40)
21611 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21612 592046 : idata = idata + 1
21613 592046 : data_tmp = full_data(idata)
21614 592046 : data_tmp = ISHFT(data_tmp, 34)
21615 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21616 592046 : pack_tmp = ISHFT(pack_tmp, -10)
21617 592046 : idata = idata + 1
21618 592046 : data_tmp = full_data(idata)
21619 592046 : data_tmp = ISHFT(data_tmp, 34)
21620 592046 : data_tmp = IAND(data_tmp, mask_left(10))
21621 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21622 592046 : ipack = ipack + 1
21623 592046 : packed_data(ipack) = pack_tmp
21624 592046 : data_tmp = full_data(idata)
21625 592046 : pack_tmp = ISHFT(data_tmp, 44)
21626 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21627 592046 : idata = idata + 1
21628 592046 : data_tmp = full_data(idata)
21629 592046 : data_tmp = ISHFT(data_tmp, 34)
21630 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21631 592046 : pack_tmp = ISHFT(pack_tmp, -14)
21632 592046 : idata = idata + 1
21633 592046 : data_tmp = full_data(idata)
21634 592046 : data_tmp = ISHFT(data_tmp, 34)
21635 592046 : data_tmp = IAND(data_tmp, mask_left(14))
21636 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21637 592046 : ipack = ipack + 1
21638 592046 : packed_data(ipack) = pack_tmp
21639 592046 : data_tmp = full_data(idata)
21640 592046 : pack_tmp = ISHFT(data_tmp, 48)
21641 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21642 592046 : idata = idata + 1
21643 592046 : data_tmp = full_data(idata)
21644 592046 : data_tmp = ISHFT(data_tmp, 34)
21645 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21646 592046 : pack_tmp = ISHFT(pack_tmp, -18)
21647 592046 : idata = idata + 1
21648 592046 : data_tmp = full_data(idata)
21649 592046 : data_tmp = ISHFT(data_tmp, 34)
21650 592046 : data_tmp = IAND(data_tmp, mask_left(18))
21651 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21652 592046 : ipack = ipack + 1
21653 592046 : packed_data(ipack) = pack_tmp
21654 592046 : data_tmp = full_data(idata)
21655 592046 : pack_tmp = ISHFT(data_tmp, 52)
21656 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21657 592046 : idata = idata + 1
21658 592046 : data_tmp = full_data(idata)
21659 592046 : data_tmp = ISHFT(data_tmp, 34)
21660 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21661 592046 : pack_tmp = ISHFT(pack_tmp, -22)
21662 592046 : idata = idata + 1
21663 592046 : data_tmp = full_data(idata)
21664 592046 : data_tmp = ISHFT(data_tmp, 34)
21665 592046 : data_tmp = IAND(data_tmp, mask_left(22))
21666 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21667 592046 : ipack = ipack + 1
21668 592046 : packed_data(ipack) = pack_tmp
21669 592046 : data_tmp = full_data(idata)
21670 592046 : pack_tmp = ISHFT(data_tmp, 56)
21671 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21672 592046 : idata = idata + 1
21673 592046 : data_tmp = full_data(idata)
21674 592046 : data_tmp = ISHFT(data_tmp, 34)
21675 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21676 592046 : pack_tmp = ISHFT(pack_tmp, -26)
21677 592046 : idata = idata + 1
21678 592046 : data_tmp = full_data(idata)
21679 592046 : data_tmp = ISHFT(data_tmp, 34)
21680 592046 : data_tmp = IAND(data_tmp, mask_left(26))
21681 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21682 592046 : ipack = ipack + 1
21683 592046 : packed_data(ipack) = pack_tmp
21684 592046 : data_tmp = full_data(idata)
21685 592046 : pack_tmp = ISHFT(data_tmp, 60)
21686 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21687 592046 : idata = idata + 1
21688 592046 : data_tmp = full_data(idata)
21689 592046 : data_tmp = ISHFT(data_tmp, 34)
21690 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21691 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21692 592046 : idata = idata + 1
21693 592046 : data_tmp = full_data(idata)
21694 592046 : data_tmp = ISHFT(data_tmp, 34)
21695 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21696 592046 : pack_tmp = ISHFT(pack_tmp, 0)
21697 592046 : idata = idata + 1
21698 592046 : data_tmp = full_data(idata)
21699 : data_tmp = ISHFT(data_tmp, 34)
21700 592046 : data_tmp = IAND(data_tmp, mask_left(0))
21701 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21702 592046 : ipack = ipack + 1
21703 592046 : packed_data(ipack) = pack_tmp
21704 592046 : data_tmp = full_data(idata)
21705 592046 : pack_tmp = ISHFT(data_tmp, 34)
21706 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21707 592046 : idata = idata + 1
21708 592046 : data_tmp = full_data(idata)
21709 592046 : data_tmp = ISHFT(data_tmp, 34)
21710 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21711 592046 : pack_tmp = ISHFT(pack_tmp, -4)
21712 592046 : idata = idata + 1
21713 592046 : data_tmp = full_data(idata)
21714 592046 : data_tmp = ISHFT(data_tmp, 34)
21715 592046 : data_tmp = IAND(data_tmp, mask_left(4))
21716 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21717 592046 : ipack = ipack + 1
21718 592046 : packed_data(ipack) = pack_tmp
21719 592046 : data_tmp = full_data(idata)
21720 592046 : pack_tmp = ISHFT(data_tmp, 38)
21721 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21722 592046 : idata = idata + 1
21723 592046 : data_tmp = full_data(idata)
21724 592046 : data_tmp = ISHFT(data_tmp, 34)
21725 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21726 592046 : pack_tmp = ISHFT(pack_tmp, -8)
21727 592046 : idata = idata + 1
21728 592046 : data_tmp = full_data(idata)
21729 592046 : data_tmp = ISHFT(data_tmp, 34)
21730 592046 : data_tmp = IAND(data_tmp, mask_left(8))
21731 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21732 592046 : ipack = ipack + 1
21733 592046 : packed_data(ipack) = pack_tmp
21734 592046 : data_tmp = full_data(idata)
21735 592046 : pack_tmp = ISHFT(data_tmp, 42)
21736 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21737 592046 : idata = idata + 1
21738 592046 : data_tmp = full_data(idata)
21739 592046 : data_tmp = ISHFT(data_tmp, 34)
21740 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21741 592046 : pack_tmp = ISHFT(pack_tmp, -12)
21742 592046 : idata = idata + 1
21743 592046 : data_tmp = full_data(idata)
21744 592046 : data_tmp = ISHFT(data_tmp, 34)
21745 592046 : data_tmp = IAND(data_tmp, mask_left(12))
21746 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21747 592046 : ipack = ipack + 1
21748 592046 : packed_data(ipack) = pack_tmp
21749 592046 : data_tmp = full_data(idata)
21750 592046 : pack_tmp = ISHFT(data_tmp, 46)
21751 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21752 592046 : idata = idata + 1
21753 592046 : data_tmp = full_data(idata)
21754 592046 : data_tmp = ISHFT(data_tmp, 34)
21755 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21756 592046 : pack_tmp = ISHFT(pack_tmp, -16)
21757 592046 : idata = idata + 1
21758 592046 : data_tmp = full_data(idata)
21759 592046 : data_tmp = ISHFT(data_tmp, 34)
21760 592046 : data_tmp = IAND(data_tmp, mask_left(16))
21761 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21762 592046 : ipack = ipack + 1
21763 592046 : packed_data(ipack) = pack_tmp
21764 592046 : data_tmp = full_data(idata)
21765 592046 : pack_tmp = ISHFT(data_tmp, 50)
21766 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21767 592046 : idata = idata + 1
21768 592046 : data_tmp = full_data(idata)
21769 592046 : data_tmp = ISHFT(data_tmp, 34)
21770 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21771 592046 : pack_tmp = ISHFT(pack_tmp, -20)
21772 592046 : idata = idata + 1
21773 592046 : data_tmp = full_data(idata)
21774 592046 : data_tmp = ISHFT(data_tmp, 34)
21775 592046 : data_tmp = IAND(data_tmp, mask_left(20))
21776 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21777 592046 : ipack = ipack + 1
21778 592046 : packed_data(ipack) = pack_tmp
21779 592046 : data_tmp = full_data(idata)
21780 592046 : pack_tmp = ISHFT(data_tmp, 54)
21781 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21782 592046 : idata = idata + 1
21783 592046 : data_tmp = full_data(idata)
21784 592046 : data_tmp = ISHFT(data_tmp, 34)
21785 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21786 592046 : pack_tmp = ISHFT(pack_tmp, -24)
21787 592046 : idata = idata + 1
21788 592046 : data_tmp = full_data(idata)
21789 592046 : data_tmp = ISHFT(data_tmp, 34)
21790 592046 : data_tmp = IAND(data_tmp, mask_left(24))
21791 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21792 592046 : ipack = ipack + 1
21793 592046 : packed_data(ipack) = pack_tmp
21794 592046 : data_tmp = full_data(idata)
21795 592046 : pack_tmp = ISHFT(data_tmp, 58)
21796 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21797 592046 : idata = idata + 1
21798 592046 : data_tmp = full_data(idata)
21799 592046 : data_tmp = ISHFT(data_tmp, 34)
21800 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21801 592046 : pack_tmp = ISHFT(pack_tmp, -28)
21802 592046 : idata = idata + 1
21803 592046 : data_tmp = full_data(idata)
21804 592046 : data_tmp = ISHFT(data_tmp, 34)
21805 592046 : data_tmp = IAND(data_tmp, mask_left(28))
21806 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21807 592046 : ipack = ipack + 1
21808 592046 : packed_data(ipack) = pack_tmp
21809 592046 : data_tmp = full_data(idata)
21810 592046 : pack_tmp = ISHFT(data_tmp, 62)
21811 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21812 592046 : idata = idata + 1
21813 592046 : data_tmp = full_data(idata)
21814 592046 : data_tmp = ISHFT(data_tmp, 34)
21815 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21816 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21817 592046 : idata = idata + 1
21818 592046 : data_tmp = full_data(idata)
21819 592046 : data_tmp = ISHFT(data_tmp, 34)
21820 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21821 592046 : pack_tmp = ISHFT(pack_tmp, -2)
21822 592046 : idata = idata + 1
21823 592046 : data_tmp = full_data(idata)
21824 592046 : data_tmp = ISHFT(data_tmp, 34)
21825 592046 : data_tmp = IAND(data_tmp, mask_left(2))
21826 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21827 592046 : ipack = ipack + 1
21828 592046 : packed_data(ipack) = pack_tmp
21829 592046 : data_tmp = full_data(idata)
21830 592046 : pack_tmp = ISHFT(data_tmp, 36)
21831 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21832 592046 : idata = idata + 1
21833 592046 : data_tmp = full_data(idata)
21834 592046 : data_tmp = ISHFT(data_tmp, 34)
21835 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21836 592046 : pack_tmp = ISHFT(pack_tmp, -6)
21837 592046 : idata = idata + 1
21838 592046 : data_tmp = full_data(idata)
21839 592046 : data_tmp = ISHFT(data_tmp, 34)
21840 592046 : data_tmp = IAND(data_tmp, mask_left(6))
21841 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21842 592046 : ipack = ipack + 1
21843 592046 : packed_data(ipack) = pack_tmp
21844 592046 : data_tmp = full_data(idata)
21845 592046 : pack_tmp = ISHFT(data_tmp, 40)
21846 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21847 592046 : idata = idata + 1
21848 592046 : data_tmp = full_data(idata)
21849 592046 : data_tmp = ISHFT(data_tmp, 34)
21850 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21851 592046 : pack_tmp = ISHFT(pack_tmp, -10)
21852 592046 : idata = idata + 1
21853 592046 : data_tmp = full_data(idata)
21854 592046 : data_tmp = ISHFT(data_tmp, 34)
21855 592046 : data_tmp = IAND(data_tmp, mask_left(10))
21856 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21857 592046 : ipack = ipack + 1
21858 592046 : packed_data(ipack) = pack_tmp
21859 592046 : data_tmp = full_data(idata)
21860 592046 : pack_tmp = ISHFT(data_tmp, 44)
21861 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21862 592046 : idata = idata + 1
21863 592046 : data_tmp = full_data(idata)
21864 592046 : data_tmp = ISHFT(data_tmp, 34)
21865 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21866 592046 : pack_tmp = ISHFT(pack_tmp, -14)
21867 592046 : idata = idata + 1
21868 592046 : data_tmp = full_data(idata)
21869 592046 : data_tmp = ISHFT(data_tmp, 34)
21870 592046 : data_tmp = IAND(data_tmp, mask_left(14))
21871 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21872 592046 : ipack = ipack + 1
21873 592046 : packed_data(ipack) = pack_tmp
21874 592046 : data_tmp = full_data(idata)
21875 592046 : pack_tmp = ISHFT(data_tmp, 48)
21876 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21877 592046 : idata = idata + 1
21878 592046 : data_tmp = full_data(idata)
21879 592046 : data_tmp = ISHFT(data_tmp, 34)
21880 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21881 592046 : pack_tmp = ISHFT(pack_tmp, -18)
21882 592046 : idata = idata + 1
21883 592046 : data_tmp = full_data(idata)
21884 592046 : data_tmp = ISHFT(data_tmp, 34)
21885 592046 : data_tmp = IAND(data_tmp, mask_left(18))
21886 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21887 592046 : ipack = ipack + 1
21888 592046 : packed_data(ipack) = pack_tmp
21889 592046 : data_tmp = full_data(idata)
21890 592046 : pack_tmp = ISHFT(data_tmp, 52)
21891 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21892 592046 : idata = idata + 1
21893 592046 : data_tmp = full_data(idata)
21894 592046 : data_tmp = ISHFT(data_tmp, 34)
21895 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21896 592046 : pack_tmp = ISHFT(pack_tmp, -22)
21897 592046 : idata = idata + 1
21898 592046 : data_tmp = full_data(idata)
21899 592046 : data_tmp = ISHFT(data_tmp, 34)
21900 592046 : data_tmp = IAND(data_tmp, mask_left(22))
21901 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21902 592046 : ipack = ipack + 1
21903 592046 : packed_data(ipack) = pack_tmp
21904 592046 : data_tmp = full_data(idata)
21905 592046 : pack_tmp = ISHFT(data_tmp, 56)
21906 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21907 592046 : idata = idata + 1
21908 592046 : data_tmp = full_data(idata)
21909 592046 : data_tmp = ISHFT(data_tmp, 34)
21910 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21911 592046 : pack_tmp = ISHFT(pack_tmp, -26)
21912 592046 : idata = idata + 1
21913 592046 : data_tmp = full_data(idata)
21914 592046 : data_tmp = ISHFT(data_tmp, 34)
21915 592046 : data_tmp = IAND(data_tmp, mask_left(26))
21916 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21917 592046 : ipack = ipack + 1
21918 592046 : packed_data(ipack) = pack_tmp
21919 592046 : data_tmp = full_data(idata)
21920 592046 : pack_tmp = ISHFT(data_tmp, 60)
21921 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21922 592046 : idata = idata + 1
21923 592046 : data_tmp = full_data(idata)
21924 592046 : data_tmp = ISHFT(data_tmp, 34)
21925 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21926 592046 : pack_tmp = ISHFT(pack_tmp, -30)
21927 592046 : idata = idata + 1
21928 592046 : data_tmp = full_data(idata)
21929 592046 : data_tmp = ISHFT(data_tmp, 34)
21930 592046 : pack_tmp = IOR(pack_tmp, data_tmp)
21931 : pack_tmp = ISHFT(pack_tmp, 0)
21932 592046 : pack_tmp = ISHFT(pack_tmp, 0)
21933 592046 : ipack = ipack + 1
21934 592321 : packed_data(ipack) = pack_tmp
21935 : END DO
21936 43669 : IF (Ndata_rep < Ndata) THEN
21937 12548 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21938 : END IF
21939 43669 : END SUBROUTINE ints2bits_30
21940 :
21941 : ! **************************************************************************************************
21942 : !> \brief ...
21943 : !> \param Ndata ...
21944 : !> \param packed_data ...
21945 : !> \param full_data ...
21946 : ! **************************************************************************************************
21947 226921 : 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 226921 : ipack = 0
21958 226921 : idata = 0
21959 226921 : pack_tmp = 0
21960 226921 : Ndata_rep = (Ndata/64)*64
21961 226921 : DO kdata = 1, Ndata_rep, 64
21962 2935249 : idata = idata + 1
21963 2935249 : data_tmp = ISHFT(pack_tmp, 30)
21964 2935249 : ipack = ipack + 1
21965 2935249 : pack_tmp = packed_data(ipack)
21966 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
21967 2935249 : pack_tmp = ISHFT(pack_tmp, -30)
21968 2935249 : idata = idata + 1
21969 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21970 2935249 : full_data(idata) = data_tmp
21971 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21972 2935249 : idata = idata + 1
21973 2935249 : data_tmp = ISHFT(pack_tmp, 26)
21974 2935249 : ipack = ipack + 1
21975 2935249 : pack_tmp = packed_data(ipack)
21976 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21977 2935249 : pack_tmp = ISHFT(pack_tmp, -26)
21978 2935249 : idata = idata + 1
21979 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21980 2935249 : full_data(idata) = data_tmp
21981 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21982 2935249 : idata = idata + 1
21983 2935249 : data_tmp = ISHFT(pack_tmp, 22)
21984 2935249 : ipack = ipack + 1
21985 2935249 : pack_tmp = packed_data(ipack)
21986 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21987 2935249 : pack_tmp = ISHFT(pack_tmp, -22)
21988 2935249 : idata = idata + 1
21989 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21990 2935249 : full_data(idata) = data_tmp
21991 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21992 2935249 : idata = idata + 1
21993 2935249 : data_tmp = ISHFT(pack_tmp, 18)
21994 2935249 : ipack = ipack + 1
21995 2935249 : pack_tmp = packed_data(ipack)
21996 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21997 2935249 : pack_tmp = ISHFT(pack_tmp, -18)
21998 2935249 : idata = idata + 1
21999 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22000 2935249 : full_data(idata) = data_tmp
22001 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22002 2935249 : idata = idata + 1
22003 2935249 : data_tmp = ISHFT(pack_tmp, 14)
22004 2935249 : ipack = ipack + 1
22005 2935249 : pack_tmp = packed_data(ipack)
22006 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22007 2935249 : pack_tmp = ISHFT(pack_tmp, -14)
22008 2935249 : idata = idata + 1
22009 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22010 2935249 : full_data(idata) = data_tmp
22011 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22012 2935249 : idata = idata + 1
22013 2935249 : data_tmp = ISHFT(pack_tmp, 10)
22014 2935249 : ipack = ipack + 1
22015 2935249 : pack_tmp = packed_data(ipack)
22016 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22017 2935249 : pack_tmp = ISHFT(pack_tmp, -10)
22018 2935249 : idata = idata + 1
22019 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22020 2935249 : full_data(idata) = data_tmp
22021 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22022 2935249 : idata = idata + 1
22023 2935249 : data_tmp = ISHFT(pack_tmp, 6)
22024 2935249 : ipack = ipack + 1
22025 2935249 : pack_tmp = packed_data(ipack)
22026 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22027 2935249 : pack_tmp = ISHFT(pack_tmp, -6)
22028 2935249 : idata = idata + 1
22029 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22030 2935249 : full_data(idata) = data_tmp
22031 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22032 2935249 : idata = idata + 1
22033 2935249 : data_tmp = ISHFT(pack_tmp, 2)
22034 2935249 : ipack = ipack + 1
22035 2935249 : pack_tmp = packed_data(ipack)
22036 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22037 2935249 : pack_tmp = ISHFT(pack_tmp, -2)
22038 2935249 : idata = idata + 1
22039 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22040 2935249 : full_data(idata) = data_tmp
22041 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22042 2935249 : idata = idata + 1
22043 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22044 2935249 : full_data(idata) = data_tmp
22045 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22046 2935249 : idata = idata + 1
22047 2935249 : data_tmp = ISHFT(pack_tmp, 28)
22048 2935249 : ipack = ipack + 1
22049 2935249 : pack_tmp = packed_data(ipack)
22050 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22051 2935249 : pack_tmp = ISHFT(pack_tmp, -28)
22052 2935249 : idata = idata + 1
22053 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22054 2935249 : full_data(idata) = data_tmp
22055 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22056 2935249 : idata = idata + 1
22057 2935249 : data_tmp = ISHFT(pack_tmp, 24)
22058 2935249 : ipack = ipack + 1
22059 2935249 : pack_tmp = packed_data(ipack)
22060 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22061 2935249 : pack_tmp = ISHFT(pack_tmp, -24)
22062 2935249 : idata = idata + 1
22063 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22064 2935249 : full_data(idata) = data_tmp
22065 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22066 2935249 : idata = idata + 1
22067 2935249 : data_tmp = ISHFT(pack_tmp, 20)
22068 2935249 : ipack = ipack + 1
22069 2935249 : pack_tmp = packed_data(ipack)
22070 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22071 2935249 : pack_tmp = ISHFT(pack_tmp, -20)
22072 2935249 : idata = idata + 1
22073 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22074 2935249 : full_data(idata) = data_tmp
22075 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22076 2935249 : idata = idata + 1
22077 2935249 : data_tmp = ISHFT(pack_tmp, 16)
22078 2935249 : ipack = ipack + 1
22079 2935249 : pack_tmp = packed_data(ipack)
22080 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22081 2935249 : pack_tmp = ISHFT(pack_tmp, -16)
22082 2935249 : idata = idata + 1
22083 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22084 2935249 : full_data(idata) = data_tmp
22085 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22086 2935249 : idata = idata + 1
22087 2935249 : data_tmp = ISHFT(pack_tmp, 12)
22088 2935249 : ipack = ipack + 1
22089 2935249 : pack_tmp = packed_data(ipack)
22090 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22091 2935249 : pack_tmp = ISHFT(pack_tmp, -12)
22092 2935249 : idata = idata + 1
22093 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22094 2935249 : full_data(idata) = data_tmp
22095 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22096 2935249 : idata = idata + 1
22097 2935249 : data_tmp = ISHFT(pack_tmp, 8)
22098 2935249 : ipack = ipack + 1
22099 2935249 : pack_tmp = packed_data(ipack)
22100 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22101 2935249 : pack_tmp = ISHFT(pack_tmp, -8)
22102 2935249 : idata = idata + 1
22103 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22104 2935249 : full_data(idata) = data_tmp
22105 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22106 2935249 : idata = idata + 1
22107 2935249 : data_tmp = ISHFT(pack_tmp, 4)
22108 2935249 : ipack = ipack + 1
22109 2935249 : pack_tmp = packed_data(ipack)
22110 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22111 2935249 : pack_tmp = ISHFT(pack_tmp, -4)
22112 2935249 : idata = idata + 1
22113 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22114 2935249 : full_data(idata) = data_tmp
22115 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22116 2935249 : idata = idata + 1
22117 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22118 2935249 : full_data(idata) = data_tmp
22119 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22120 2935249 : idata = idata + 1
22121 2935249 : data_tmp = ISHFT(pack_tmp, 30)
22122 2935249 : ipack = ipack + 1
22123 2935249 : pack_tmp = packed_data(ipack)
22124 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22125 2935249 : pack_tmp = ISHFT(pack_tmp, -30)
22126 2935249 : idata = idata + 1
22127 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22128 2935249 : full_data(idata) = data_tmp
22129 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22130 2935249 : idata = idata + 1
22131 2935249 : data_tmp = ISHFT(pack_tmp, 26)
22132 2935249 : ipack = ipack + 1
22133 2935249 : pack_tmp = packed_data(ipack)
22134 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22135 2935249 : pack_tmp = ISHFT(pack_tmp, -26)
22136 2935249 : idata = idata + 1
22137 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22138 2935249 : full_data(idata) = data_tmp
22139 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22140 2935249 : idata = idata + 1
22141 2935249 : data_tmp = ISHFT(pack_tmp, 22)
22142 2935249 : ipack = ipack + 1
22143 2935249 : pack_tmp = packed_data(ipack)
22144 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
22145 2935249 : pack_tmp = ISHFT(pack_tmp, -22)
22146 2935249 : idata = idata + 1
22147 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22148 2935249 : full_data(idata) = data_tmp
22149 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22150 2935249 : idata = idata + 1
22151 2935249 : data_tmp = ISHFT(pack_tmp, 18)
22152 2935249 : ipack = ipack + 1
22153 2935249 : pack_tmp = packed_data(ipack)
22154 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
22155 2935249 : pack_tmp = ISHFT(pack_tmp, -18)
22156 2935249 : idata = idata + 1
22157 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22158 2935249 : full_data(idata) = data_tmp
22159 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22160 2935249 : idata = idata + 1
22161 2935249 : data_tmp = ISHFT(pack_tmp, 14)
22162 2935249 : ipack = ipack + 1
22163 2935249 : pack_tmp = packed_data(ipack)
22164 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22165 2935249 : pack_tmp = ISHFT(pack_tmp, -14)
22166 2935249 : idata = idata + 1
22167 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22168 2935249 : full_data(idata) = data_tmp
22169 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22170 2935249 : idata = idata + 1
22171 2935249 : data_tmp = ISHFT(pack_tmp, 10)
22172 2935249 : ipack = ipack + 1
22173 2935249 : pack_tmp = packed_data(ipack)
22174 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22175 2935249 : pack_tmp = ISHFT(pack_tmp, -10)
22176 2935249 : idata = idata + 1
22177 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22178 2935249 : full_data(idata) = data_tmp
22179 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22180 2935249 : idata = idata + 1
22181 2935249 : data_tmp = ISHFT(pack_tmp, 6)
22182 2935249 : ipack = ipack + 1
22183 2935249 : pack_tmp = packed_data(ipack)
22184 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22185 2935249 : pack_tmp = ISHFT(pack_tmp, -6)
22186 2935249 : idata = idata + 1
22187 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22188 2935249 : full_data(idata) = data_tmp
22189 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22190 2935249 : idata = idata + 1
22191 2935249 : data_tmp = ISHFT(pack_tmp, 2)
22192 2935249 : ipack = ipack + 1
22193 2935249 : pack_tmp = packed_data(ipack)
22194 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22195 2935249 : pack_tmp = ISHFT(pack_tmp, -2)
22196 2935249 : idata = idata + 1
22197 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22198 2935249 : full_data(idata) = data_tmp
22199 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22200 2935249 : idata = idata + 1
22201 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22202 2935249 : full_data(idata) = data_tmp
22203 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22204 2935249 : idata = idata + 1
22205 2935249 : data_tmp = ISHFT(pack_tmp, 28)
22206 2935249 : ipack = ipack + 1
22207 2935249 : pack_tmp = packed_data(ipack)
22208 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22209 2935249 : pack_tmp = ISHFT(pack_tmp, -28)
22210 2935249 : idata = idata + 1
22211 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22212 2935249 : full_data(idata) = data_tmp
22213 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22214 2935249 : idata = idata + 1
22215 2935249 : data_tmp = ISHFT(pack_tmp, 24)
22216 2935249 : ipack = ipack + 1
22217 2935249 : pack_tmp = packed_data(ipack)
22218 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22219 2935249 : pack_tmp = ISHFT(pack_tmp, -24)
22220 2935249 : idata = idata + 1
22221 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22222 2935249 : full_data(idata) = data_tmp
22223 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22224 2935249 : idata = idata + 1
22225 2935249 : data_tmp = ISHFT(pack_tmp, 20)
22226 2935249 : ipack = ipack + 1
22227 2935249 : pack_tmp = packed_data(ipack)
22228 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22229 2935249 : pack_tmp = ISHFT(pack_tmp, -20)
22230 2935249 : idata = idata + 1
22231 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22232 2935249 : full_data(idata) = data_tmp
22233 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22234 2935249 : idata = idata + 1
22235 2935249 : data_tmp = ISHFT(pack_tmp, 16)
22236 2935249 : ipack = ipack + 1
22237 2935249 : pack_tmp = packed_data(ipack)
22238 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22239 2935249 : pack_tmp = ISHFT(pack_tmp, -16)
22240 2935249 : idata = idata + 1
22241 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22242 2935249 : full_data(idata) = data_tmp
22243 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22244 2935249 : idata = idata + 1
22245 2935249 : data_tmp = ISHFT(pack_tmp, 12)
22246 2935249 : ipack = ipack + 1
22247 2935249 : pack_tmp = packed_data(ipack)
22248 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22249 2935249 : pack_tmp = ISHFT(pack_tmp, -12)
22250 2935249 : idata = idata + 1
22251 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22252 2935249 : full_data(idata) = data_tmp
22253 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22254 2935249 : idata = idata + 1
22255 2935249 : data_tmp = ISHFT(pack_tmp, 8)
22256 2935249 : ipack = ipack + 1
22257 2935249 : pack_tmp = packed_data(ipack)
22258 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22259 2935249 : pack_tmp = ISHFT(pack_tmp, -8)
22260 2935249 : idata = idata + 1
22261 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22262 2935249 : full_data(idata) = data_tmp
22263 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22264 2935249 : idata = idata + 1
22265 2935249 : data_tmp = ISHFT(pack_tmp, 4)
22266 2935249 : ipack = ipack + 1
22267 2935249 : pack_tmp = packed_data(ipack)
22268 2935249 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22269 2935249 : pack_tmp = ISHFT(pack_tmp, -4)
22270 2935249 : idata = idata + 1
22271 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22272 2935249 : full_data(idata) = data_tmp
22273 2935249 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22274 2935249 : idata = idata + 1
22275 2935249 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22276 2935249 : full_data(idata) = data_tmp
22277 2937623 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22278 : END DO
22279 226921 : IF (Ndata_rep < Ndata) THEN
22280 81822 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22281 : END IF
22282 226921 : END SUBROUTINE bits2ints_30
22283 :
22284 : ! **************************************************************************************************
22285 : !> \brief ...
22286 : !> \param Ndata ...
22287 : !> \param packed_data ...
22288 : !> \param full_data ...
22289 : ! **************************************************************************************************
22290 43650 : 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 43650 : idata = 0
22301 43650 : ipack = 0
22302 43650 : Ndata_rep = (Ndata/64)*64
22303 43650 : DO kdata = 1, Ndata_rep, 64
22304 591691 : pack_tmp = 0
22305 591691 : idata = idata + 1
22306 591691 : data_tmp = full_data(idata)
22307 591691 : data_tmp = ISHFT(data_tmp, 33)
22308 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22309 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22310 591691 : idata = idata + 1
22311 591691 : data_tmp = full_data(idata)
22312 591691 : data_tmp = ISHFT(data_tmp, 33)
22313 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22314 591691 : pack_tmp = ISHFT(pack_tmp, -2)
22315 591691 : idata = idata + 1
22316 591691 : data_tmp = full_data(idata)
22317 591691 : data_tmp = ISHFT(data_tmp, 33)
22318 591691 : data_tmp = IAND(data_tmp, mask_left(2))
22319 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22320 591691 : ipack = ipack + 1
22321 591691 : packed_data(ipack) = pack_tmp
22322 591691 : data_tmp = full_data(idata)
22323 591691 : pack_tmp = ISHFT(data_tmp, 35)
22324 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22325 591691 : idata = idata + 1
22326 591691 : data_tmp = full_data(idata)
22327 591691 : data_tmp = ISHFT(data_tmp, 33)
22328 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22329 591691 : pack_tmp = ISHFT(pack_tmp, -4)
22330 591691 : idata = idata + 1
22331 591691 : data_tmp = full_data(idata)
22332 591691 : data_tmp = ISHFT(data_tmp, 33)
22333 591691 : data_tmp = IAND(data_tmp, mask_left(4))
22334 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22335 591691 : ipack = ipack + 1
22336 591691 : packed_data(ipack) = pack_tmp
22337 591691 : data_tmp = full_data(idata)
22338 591691 : pack_tmp = ISHFT(data_tmp, 37)
22339 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22340 591691 : idata = idata + 1
22341 591691 : data_tmp = full_data(idata)
22342 591691 : data_tmp = ISHFT(data_tmp, 33)
22343 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22344 591691 : pack_tmp = ISHFT(pack_tmp, -6)
22345 591691 : idata = idata + 1
22346 591691 : data_tmp = full_data(idata)
22347 591691 : data_tmp = ISHFT(data_tmp, 33)
22348 591691 : data_tmp = IAND(data_tmp, mask_left(6))
22349 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22350 591691 : ipack = ipack + 1
22351 591691 : packed_data(ipack) = pack_tmp
22352 591691 : data_tmp = full_data(idata)
22353 591691 : pack_tmp = ISHFT(data_tmp, 39)
22354 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22355 591691 : idata = idata + 1
22356 591691 : data_tmp = full_data(idata)
22357 591691 : data_tmp = ISHFT(data_tmp, 33)
22358 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22359 591691 : pack_tmp = ISHFT(pack_tmp, -8)
22360 591691 : idata = idata + 1
22361 591691 : data_tmp = full_data(idata)
22362 591691 : data_tmp = ISHFT(data_tmp, 33)
22363 591691 : data_tmp = IAND(data_tmp, mask_left(8))
22364 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22365 591691 : ipack = ipack + 1
22366 591691 : packed_data(ipack) = pack_tmp
22367 591691 : data_tmp = full_data(idata)
22368 591691 : pack_tmp = ISHFT(data_tmp, 41)
22369 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22370 591691 : idata = idata + 1
22371 591691 : data_tmp = full_data(idata)
22372 591691 : data_tmp = ISHFT(data_tmp, 33)
22373 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22374 591691 : pack_tmp = ISHFT(pack_tmp, -10)
22375 591691 : idata = idata + 1
22376 591691 : data_tmp = full_data(idata)
22377 591691 : data_tmp = ISHFT(data_tmp, 33)
22378 591691 : data_tmp = IAND(data_tmp, mask_left(10))
22379 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22380 591691 : ipack = ipack + 1
22381 591691 : packed_data(ipack) = pack_tmp
22382 591691 : data_tmp = full_data(idata)
22383 591691 : pack_tmp = ISHFT(data_tmp, 43)
22384 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22385 591691 : idata = idata + 1
22386 591691 : data_tmp = full_data(idata)
22387 591691 : data_tmp = ISHFT(data_tmp, 33)
22388 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22389 591691 : pack_tmp = ISHFT(pack_tmp, -12)
22390 591691 : idata = idata + 1
22391 591691 : data_tmp = full_data(idata)
22392 591691 : data_tmp = ISHFT(data_tmp, 33)
22393 591691 : data_tmp = IAND(data_tmp, mask_left(12))
22394 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22395 591691 : ipack = ipack + 1
22396 591691 : packed_data(ipack) = pack_tmp
22397 591691 : data_tmp = full_data(idata)
22398 591691 : pack_tmp = ISHFT(data_tmp, 45)
22399 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22400 591691 : idata = idata + 1
22401 591691 : data_tmp = full_data(idata)
22402 591691 : data_tmp = ISHFT(data_tmp, 33)
22403 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22404 591691 : pack_tmp = ISHFT(pack_tmp, -14)
22405 591691 : idata = idata + 1
22406 591691 : data_tmp = full_data(idata)
22407 591691 : data_tmp = ISHFT(data_tmp, 33)
22408 591691 : data_tmp = IAND(data_tmp, mask_left(14))
22409 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22410 591691 : ipack = ipack + 1
22411 591691 : packed_data(ipack) = pack_tmp
22412 591691 : data_tmp = full_data(idata)
22413 591691 : pack_tmp = ISHFT(data_tmp, 47)
22414 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22415 591691 : idata = idata + 1
22416 591691 : data_tmp = full_data(idata)
22417 591691 : data_tmp = ISHFT(data_tmp, 33)
22418 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22419 591691 : pack_tmp = ISHFT(pack_tmp, -16)
22420 591691 : idata = idata + 1
22421 591691 : data_tmp = full_data(idata)
22422 591691 : data_tmp = ISHFT(data_tmp, 33)
22423 591691 : data_tmp = IAND(data_tmp, mask_left(16))
22424 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22425 591691 : ipack = ipack + 1
22426 591691 : packed_data(ipack) = pack_tmp
22427 591691 : data_tmp = full_data(idata)
22428 591691 : pack_tmp = ISHFT(data_tmp, 49)
22429 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22430 591691 : idata = idata + 1
22431 591691 : data_tmp = full_data(idata)
22432 591691 : data_tmp = ISHFT(data_tmp, 33)
22433 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22434 591691 : pack_tmp = ISHFT(pack_tmp, -18)
22435 591691 : idata = idata + 1
22436 591691 : data_tmp = full_data(idata)
22437 591691 : data_tmp = ISHFT(data_tmp, 33)
22438 591691 : data_tmp = IAND(data_tmp, mask_left(18))
22439 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22440 591691 : ipack = ipack + 1
22441 591691 : packed_data(ipack) = pack_tmp
22442 591691 : data_tmp = full_data(idata)
22443 591691 : pack_tmp = ISHFT(data_tmp, 51)
22444 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22445 591691 : idata = idata + 1
22446 591691 : data_tmp = full_data(idata)
22447 591691 : data_tmp = ISHFT(data_tmp, 33)
22448 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22449 591691 : pack_tmp = ISHFT(pack_tmp, -20)
22450 591691 : idata = idata + 1
22451 591691 : data_tmp = full_data(idata)
22452 591691 : data_tmp = ISHFT(data_tmp, 33)
22453 591691 : data_tmp = IAND(data_tmp, mask_left(20))
22454 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22455 591691 : ipack = ipack + 1
22456 591691 : packed_data(ipack) = pack_tmp
22457 591691 : data_tmp = full_data(idata)
22458 591691 : pack_tmp = ISHFT(data_tmp, 53)
22459 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22460 591691 : idata = idata + 1
22461 591691 : data_tmp = full_data(idata)
22462 591691 : data_tmp = ISHFT(data_tmp, 33)
22463 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22464 591691 : pack_tmp = ISHFT(pack_tmp, -22)
22465 591691 : idata = idata + 1
22466 591691 : data_tmp = full_data(idata)
22467 591691 : data_tmp = ISHFT(data_tmp, 33)
22468 591691 : data_tmp = IAND(data_tmp, mask_left(22))
22469 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22470 591691 : ipack = ipack + 1
22471 591691 : packed_data(ipack) = pack_tmp
22472 591691 : data_tmp = full_data(idata)
22473 591691 : pack_tmp = ISHFT(data_tmp, 55)
22474 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22475 591691 : idata = idata + 1
22476 591691 : data_tmp = full_data(idata)
22477 591691 : data_tmp = ISHFT(data_tmp, 33)
22478 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22479 591691 : pack_tmp = ISHFT(pack_tmp, -24)
22480 591691 : idata = idata + 1
22481 591691 : data_tmp = full_data(idata)
22482 591691 : data_tmp = ISHFT(data_tmp, 33)
22483 591691 : data_tmp = IAND(data_tmp, mask_left(24))
22484 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22485 591691 : ipack = ipack + 1
22486 591691 : packed_data(ipack) = pack_tmp
22487 591691 : data_tmp = full_data(idata)
22488 591691 : pack_tmp = ISHFT(data_tmp, 57)
22489 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22490 591691 : idata = idata + 1
22491 591691 : data_tmp = full_data(idata)
22492 591691 : data_tmp = ISHFT(data_tmp, 33)
22493 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22494 591691 : pack_tmp = ISHFT(pack_tmp, -26)
22495 591691 : idata = idata + 1
22496 591691 : data_tmp = full_data(idata)
22497 591691 : data_tmp = ISHFT(data_tmp, 33)
22498 591691 : data_tmp = IAND(data_tmp, mask_left(26))
22499 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22500 591691 : ipack = ipack + 1
22501 591691 : packed_data(ipack) = pack_tmp
22502 591691 : data_tmp = full_data(idata)
22503 591691 : pack_tmp = ISHFT(data_tmp, 59)
22504 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22505 591691 : idata = idata + 1
22506 591691 : data_tmp = full_data(idata)
22507 591691 : data_tmp = ISHFT(data_tmp, 33)
22508 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22509 591691 : pack_tmp = ISHFT(pack_tmp, -28)
22510 591691 : idata = idata + 1
22511 591691 : data_tmp = full_data(idata)
22512 591691 : data_tmp = ISHFT(data_tmp, 33)
22513 591691 : data_tmp = IAND(data_tmp, mask_left(28))
22514 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22515 591691 : ipack = ipack + 1
22516 591691 : packed_data(ipack) = pack_tmp
22517 591691 : data_tmp = full_data(idata)
22518 591691 : pack_tmp = ISHFT(data_tmp, 61)
22519 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22520 591691 : idata = idata + 1
22521 591691 : data_tmp = full_data(idata)
22522 591691 : data_tmp = ISHFT(data_tmp, 33)
22523 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22524 591691 : pack_tmp = ISHFT(pack_tmp, -30)
22525 591691 : idata = idata + 1
22526 591691 : data_tmp = full_data(idata)
22527 591691 : data_tmp = ISHFT(data_tmp, 33)
22528 591691 : data_tmp = IAND(data_tmp, mask_left(30))
22529 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22530 591691 : ipack = ipack + 1
22531 591691 : packed_data(ipack) = pack_tmp
22532 591691 : data_tmp = full_data(idata)
22533 591691 : pack_tmp = ISHFT(data_tmp, 63)
22534 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22535 591691 : idata = idata + 1
22536 591691 : data_tmp = full_data(idata)
22537 591691 : data_tmp = ISHFT(data_tmp, 33)
22538 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22539 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22540 591691 : idata = idata + 1
22541 591691 : data_tmp = full_data(idata)
22542 591691 : data_tmp = ISHFT(data_tmp, 33)
22543 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22544 591691 : pack_tmp = ISHFT(pack_tmp, -1)
22545 591691 : idata = idata + 1
22546 591691 : data_tmp = full_data(idata)
22547 591691 : data_tmp = ISHFT(data_tmp, 33)
22548 591691 : data_tmp = IAND(data_tmp, mask_left(1))
22549 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22550 591691 : ipack = ipack + 1
22551 591691 : packed_data(ipack) = pack_tmp
22552 591691 : data_tmp = full_data(idata)
22553 591691 : pack_tmp = ISHFT(data_tmp, 34)
22554 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22555 591691 : idata = idata + 1
22556 591691 : data_tmp = full_data(idata)
22557 591691 : data_tmp = ISHFT(data_tmp, 33)
22558 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22559 591691 : pack_tmp = ISHFT(pack_tmp, -3)
22560 591691 : idata = idata + 1
22561 591691 : data_tmp = full_data(idata)
22562 591691 : data_tmp = ISHFT(data_tmp, 33)
22563 591691 : data_tmp = IAND(data_tmp, mask_left(3))
22564 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22565 591691 : ipack = ipack + 1
22566 591691 : packed_data(ipack) = pack_tmp
22567 591691 : data_tmp = full_data(idata)
22568 591691 : pack_tmp = ISHFT(data_tmp, 36)
22569 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22570 591691 : idata = idata + 1
22571 591691 : data_tmp = full_data(idata)
22572 591691 : data_tmp = ISHFT(data_tmp, 33)
22573 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22574 591691 : pack_tmp = ISHFT(pack_tmp, -5)
22575 591691 : idata = idata + 1
22576 591691 : data_tmp = full_data(idata)
22577 591691 : data_tmp = ISHFT(data_tmp, 33)
22578 591691 : data_tmp = IAND(data_tmp, mask_left(5))
22579 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22580 591691 : ipack = ipack + 1
22581 591691 : packed_data(ipack) = pack_tmp
22582 591691 : data_tmp = full_data(idata)
22583 591691 : pack_tmp = ISHFT(data_tmp, 38)
22584 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22585 591691 : idata = idata + 1
22586 591691 : data_tmp = full_data(idata)
22587 591691 : data_tmp = ISHFT(data_tmp, 33)
22588 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22589 591691 : pack_tmp = ISHFT(pack_tmp, -7)
22590 591691 : idata = idata + 1
22591 591691 : data_tmp = full_data(idata)
22592 591691 : data_tmp = ISHFT(data_tmp, 33)
22593 591691 : data_tmp = IAND(data_tmp, mask_left(7))
22594 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22595 591691 : ipack = ipack + 1
22596 591691 : packed_data(ipack) = pack_tmp
22597 591691 : data_tmp = full_data(idata)
22598 591691 : pack_tmp = ISHFT(data_tmp, 40)
22599 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22600 591691 : idata = idata + 1
22601 591691 : data_tmp = full_data(idata)
22602 591691 : data_tmp = ISHFT(data_tmp, 33)
22603 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22604 591691 : pack_tmp = ISHFT(pack_tmp, -9)
22605 591691 : idata = idata + 1
22606 591691 : data_tmp = full_data(idata)
22607 591691 : data_tmp = ISHFT(data_tmp, 33)
22608 591691 : data_tmp = IAND(data_tmp, mask_left(9))
22609 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22610 591691 : ipack = ipack + 1
22611 591691 : packed_data(ipack) = pack_tmp
22612 591691 : data_tmp = full_data(idata)
22613 591691 : pack_tmp = ISHFT(data_tmp, 42)
22614 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22615 591691 : idata = idata + 1
22616 591691 : data_tmp = full_data(idata)
22617 591691 : data_tmp = ISHFT(data_tmp, 33)
22618 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22619 591691 : pack_tmp = ISHFT(pack_tmp, -11)
22620 591691 : idata = idata + 1
22621 591691 : data_tmp = full_data(idata)
22622 591691 : data_tmp = ISHFT(data_tmp, 33)
22623 591691 : data_tmp = IAND(data_tmp, mask_left(11))
22624 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22625 591691 : ipack = ipack + 1
22626 591691 : packed_data(ipack) = pack_tmp
22627 591691 : data_tmp = full_data(idata)
22628 591691 : pack_tmp = ISHFT(data_tmp, 44)
22629 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22630 591691 : idata = idata + 1
22631 591691 : data_tmp = full_data(idata)
22632 591691 : data_tmp = ISHFT(data_tmp, 33)
22633 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22634 591691 : pack_tmp = ISHFT(pack_tmp, -13)
22635 591691 : idata = idata + 1
22636 591691 : data_tmp = full_data(idata)
22637 591691 : data_tmp = ISHFT(data_tmp, 33)
22638 591691 : data_tmp = IAND(data_tmp, mask_left(13))
22639 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22640 591691 : ipack = ipack + 1
22641 591691 : packed_data(ipack) = pack_tmp
22642 591691 : data_tmp = full_data(idata)
22643 591691 : pack_tmp = ISHFT(data_tmp, 46)
22644 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22645 591691 : idata = idata + 1
22646 591691 : data_tmp = full_data(idata)
22647 591691 : data_tmp = ISHFT(data_tmp, 33)
22648 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22649 591691 : pack_tmp = ISHFT(pack_tmp, -15)
22650 591691 : idata = idata + 1
22651 591691 : data_tmp = full_data(idata)
22652 591691 : data_tmp = ISHFT(data_tmp, 33)
22653 591691 : data_tmp = IAND(data_tmp, mask_left(15))
22654 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22655 591691 : ipack = ipack + 1
22656 591691 : packed_data(ipack) = pack_tmp
22657 591691 : data_tmp = full_data(idata)
22658 591691 : pack_tmp = ISHFT(data_tmp, 48)
22659 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22660 591691 : idata = idata + 1
22661 591691 : data_tmp = full_data(idata)
22662 591691 : data_tmp = ISHFT(data_tmp, 33)
22663 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22664 591691 : pack_tmp = ISHFT(pack_tmp, -17)
22665 591691 : idata = idata + 1
22666 591691 : data_tmp = full_data(idata)
22667 591691 : data_tmp = ISHFT(data_tmp, 33)
22668 591691 : data_tmp = IAND(data_tmp, mask_left(17))
22669 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22670 591691 : ipack = ipack + 1
22671 591691 : packed_data(ipack) = pack_tmp
22672 591691 : data_tmp = full_data(idata)
22673 591691 : pack_tmp = ISHFT(data_tmp, 50)
22674 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22675 591691 : idata = idata + 1
22676 591691 : data_tmp = full_data(idata)
22677 591691 : data_tmp = ISHFT(data_tmp, 33)
22678 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22679 591691 : pack_tmp = ISHFT(pack_tmp, -19)
22680 591691 : idata = idata + 1
22681 591691 : data_tmp = full_data(idata)
22682 591691 : data_tmp = ISHFT(data_tmp, 33)
22683 591691 : data_tmp = IAND(data_tmp, mask_left(19))
22684 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22685 591691 : ipack = ipack + 1
22686 591691 : packed_data(ipack) = pack_tmp
22687 591691 : data_tmp = full_data(idata)
22688 591691 : pack_tmp = ISHFT(data_tmp, 52)
22689 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22690 591691 : idata = idata + 1
22691 591691 : data_tmp = full_data(idata)
22692 591691 : data_tmp = ISHFT(data_tmp, 33)
22693 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22694 591691 : pack_tmp = ISHFT(pack_tmp, -21)
22695 591691 : idata = idata + 1
22696 591691 : data_tmp = full_data(idata)
22697 591691 : data_tmp = ISHFT(data_tmp, 33)
22698 591691 : data_tmp = IAND(data_tmp, mask_left(21))
22699 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22700 591691 : ipack = ipack + 1
22701 591691 : packed_data(ipack) = pack_tmp
22702 591691 : data_tmp = full_data(idata)
22703 591691 : pack_tmp = ISHFT(data_tmp, 54)
22704 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22705 591691 : idata = idata + 1
22706 591691 : data_tmp = full_data(idata)
22707 591691 : data_tmp = ISHFT(data_tmp, 33)
22708 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22709 591691 : pack_tmp = ISHFT(pack_tmp, -23)
22710 591691 : idata = idata + 1
22711 591691 : data_tmp = full_data(idata)
22712 591691 : data_tmp = ISHFT(data_tmp, 33)
22713 591691 : data_tmp = IAND(data_tmp, mask_left(23))
22714 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22715 591691 : ipack = ipack + 1
22716 591691 : packed_data(ipack) = pack_tmp
22717 591691 : data_tmp = full_data(idata)
22718 591691 : pack_tmp = ISHFT(data_tmp, 56)
22719 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22720 591691 : idata = idata + 1
22721 591691 : data_tmp = full_data(idata)
22722 591691 : data_tmp = ISHFT(data_tmp, 33)
22723 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22724 591691 : pack_tmp = ISHFT(pack_tmp, -25)
22725 591691 : idata = idata + 1
22726 591691 : data_tmp = full_data(idata)
22727 591691 : data_tmp = ISHFT(data_tmp, 33)
22728 591691 : data_tmp = IAND(data_tmp, mask_left(25))
22729 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22730 591691 : ipack = ipack + 1
22731 591691 : packed_data(ipack) = pack_tmp
22732 591691 : data_tmp = full_data(idata)
22733 591691 : pack_tmp = ISHFT(data_tmp, 58)
22734 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22735 591691 : idata = idata + 1
22736 591691 : data_tmp = full_data(idata)
22737 591691 : data_tmp = ISHFT(data_tmp, 33)
22738 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22739 591691 : pack_tmp = ISHFT(pack_tmp, -27)
22740 591691 : idata = idata + 1
22741 591691 : data_tmp = full_data(idata)
22742 591691 : data_tmp = ISHFT(data_tmp, 33)
22743 591691 : data_tmp = IAND(data_tmp, mask_left(27))
22744 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22745 591691 : ipack = ipack + 1
22746 591691 : packed_data(ipack) = pack_tmp
22747 591691 : data_tmp = full_data(idata)
22748 591691 : pack_tmp = ISHFT(data_tmp, 60)
22749 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22750 591691 : idata = idata + 1
22751 591691 : data_tmp = full_data(idata)
22752 591691 : data_tmp = ISHFT(data_tmp, 33)
22753 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22754 591691 : pack_tmp = ISHFT(pack_tmp, -29)
22755 591691 : idata = idata + 1
22756 591691 : data_tmp = full_data(idata)
22757 591691 : data_tmp = ISHFT(data_tmp, 33)
22758 591691 : data_tmp = IAND(data_tmp, mask_left(29))
22759 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22760 591691 : ipack = ipack + 1
22761 591691 : packed_data(ipack) = pack_tmp
22762 591691 : data_tmp = full_data(idata)
22763 591691 : pack_tmp = ISHFT(data_tmp, 62)
22764 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22765 591691 : idata = idata + 1
22766 591691 : data_tmp = full_data(idata)
22767 591691 : data_tmp = ISHFT(data_tmp, 33)
22768 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22769 591691 : pack_tmp = ISHFT(pack_tmp, -31)
22770 591691 : idata = idata + 1
22771 591691 : data_tmp = full_data(idata)
22772 591691 : data_tmp = ISHFT(data_tmp, 33)
22773 591691 : pack_tmp = IOR(pack_tmp, data_tmp)
22774 : pack_tmp = ISHFT(pack_tmp, 0)
22775 591691 : pack_tmp = ISHFT(pack_tmp, 0)
22776 591691 : ipack = ipack + 1
22777 591851 : packed_data(ipack) = pack_tmp
22778 : END DO
22779 43650 : IF (Ndata_rep < Ndata) THEN
22780 12554 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22781 : END IF
22782 43650 : END SUBROUTINE ints2bits_31
22783 :
22784 : ! **************************************************************************************************
22785 : !> \brief ...
22786 : !> \param Ndata ...
22787 : !> \param packed_data ...
22788 : !> \param full_data ...
22789 : ! **************************************************************************************************
22790 273385 : 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 273385 : ipack = 0
22801 273385 : idata = 0
22802 273385 : pack_tmp = 0
22803 273385 : Ndata_rep = (Ndata/64)*64
22804 273385 : DO kdata = 1, Ndata_rep, 64
22805 3416312 : idata = idata + 1
22806 3416312 : data_tmp = ISHFT(pack_tmp, 31)
22807 3416312 : ipack = ipack + 1
22808 3416312 : pack_tmp = packed_data(ipack)
22809 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
22810 3416312 : pack_tmp = ISHFT(pack_tmp, -31)
22811 3416312 : idata = idata + 1
22812 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22813 3416312 : full_data(idata) = data_tmp
22814 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22815 3416312 : idata = idata + 1
22816 3416312 : data_tmp = ISHFT(pack_tmp, 29)
22817 3416312 : ipack = ipack + 1
22818 3416312 : pack_tmp = packed_data(ipack)
22819 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
22820 3416312 : pack_tmp = ISHFT(pack_tmp, -29)
22821 3416312 : idata = idata + 1
22822 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22823 3416312 : full_data(idata) = data_tmp
22824 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22825 3416312 : idata = idata + 1
22826 3416312 : data_tmp = ISHFT(pack_tmp, 27)
22827 3416312 : ipack = ipack + 1
22828 3416312 : pack_tmp = packed_data(ipack)
22829 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
22830 3416312 : pack_tmp = ISHFT(pack_tmp, -27)
22831 3416312 : idata = idata + 1
22832 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22833 3416312 : full_data(idata) = data_tmp
22834 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22835 3416312 : idata = idata + 1
22836 3416312 : data_tmp = ISHFT(pack_tmp, 25)
22837 3416312 : ipack = ipack + 1
22838 3416312 : pack_tmp = packed_data(ipack)
22839 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
22840 3416312 : pack_tmp = ISHFT(pack_tmp, -25)
22841 3416312 : idata = idata + 1
22842 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22843 3416312 : full_data(idata) = data_tmp
22844 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22845 3416312 : idata = idata + 1
22846 3416312 : data_tmp = ISHFT(pack_tmp, 23)
22847 3416312 : ipack = ipack + 1
22848 3416312 : pack_tmp = packed_data(ipack)
22849 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
22850 3416312 : pack_tmp = ISHFT(pack_tmp, -23)
22851 3416312 : idata = idata + 1
22852 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22853 3416312 : full_data(idata) = data_tmp
22854 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22855 3416312 : idata = idata + 1
22856 3416312 : data_tmp = ISHFT(pack_tmp, 21)
22857 3416312 : ipack = ipack + 1
22858 3416312 : pack_tmp = packed_data(ipack)
22859 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
22860 3416312 : pack_tmp = ISHFT(pack_tmp, -21)
22861 3416312 : idata = idata + 1
22862 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22863 3416312 : full_data(idata) = data_tmp
22864 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22865 3416312 : idata = idata + 1
22866 3416312 : data_tmp = ISHFT(pack_tmp, 19)
22867 3416312 : ipack = ipack + 1
22868 3416312 : pack_tmp = packed_data(ipack)
22869 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
22870 3416312 : pack_tmp = ISHFT(pack_tmp, -19)
22871 3416312 : idata = idata + 1
22872 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22873 3416312 : full_data(idata) = data_tmp
22874 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22875 3416312 : idata = idata + 1
22876 3416312 : data_tmp = ISHFT(pack_tmp, 17)
22877 3416312 : ipack = ipack + 1
22878 3416312 : pack_tmp = packed_data(ipack)
22879 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
22880 3416312 : pack_tmp = ISHFT(pack_tmp, -17)
22881 3416312 : idata = idata + 1
22882 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22883 3416312 : full_data(idata) = data_tmp
22884 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22885 3416312 : idata = idata + 1
22886 3416312 : data_tmp = ISHFT(pack_tmp, 15)
22887 3416312 : ipack = ipack + 1
22888 3416312 : pack_tmp = packed_data(ipack)
22889 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
22890 3416312 : pack_tmp = ISHFT(pack_tmp, -15)
22891 3416312 : idata = idata + 1
22892 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22893 3416312 : full_data(idata) = data_tmp
22894 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22895 3416312 : idata = idata + 1
22896 3416312 : data_tmp = ISHFT(pack_tmp, 13)
22897 3416312 : ipack = ipack + 1
22898 3416312 : pack_tmp = packed_data(ipack)
22899 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
22900 3416312 : pack_tmp = ISHFT(pack_tmp, -13)
22901 3416312 : idata = idata + 1
22902 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22903 3416312 : full_data(idata) = data_tmp
22904 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22905 3416312 : idata = idata + 1
22906 3416312 : data_tmp = ISHFT(pack_tmp, 11)
22907 3416312 : ipack = ipack + 1
22908 3416312 : pack_tmp = packed_data(ipack)
22909 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
22910 3416312 : pack_tmp = ISHFT(pack_tmp, -11)
22911 3416312 : idata = idata + 1
22912 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22913 3416312 : full_data(idata) = data_tmp
22914 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22915 3416312 : idata = idata + 1
22916 3416312 : data_tmp = ISHFT(pack_tmp, 9)
22917 3416312 : ipack = ipack + 1
22918 3416312 : pack_tmp = packed_data(ipack)
22919 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
22920 3416312 : pack_tmp = ISHFT(pack_tmp, -9)
22921 3416312 : idata = idata + 1
22922 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22923 3416312 : full_data(idata) = data_tmp
22924 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22925 3416312 : idata = idata + 1
22926 3416312 : data_tmp = ISHFT(pack_tmp, 7)
22927 3416312 : ipack = ipack + 1
22928 3416312 : pack_tmp = packed_data(ipack)
22929 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
22930 3416312 : pack_tmp = ISHFT(pack_tmp, -7)
22931 3416312 : idata = idata + 1
22932 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22933 3416312 : full_data(idata) = data_tmp
22934 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22935 3416312 : idata = idata + 1
22936 3416312 : data_tmp = ISHFT(pack_tmp, 5)
22937 3416312 : ipack = ipack + 1
22938 3416312 : pack_tmp = packed_data(ipack)
22939 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
22940 3416312 : pack_tmp = ISHFT(pack_tmp, -5)
22941 3416312 : idata = idata + 1
22942 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22943 3416312 : full_data(idata) = data_tmp
22944 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22945 3416312 : idata = idata + 1
22946 3416312 : data_tmp = ISHFT(pack_tmp, 3)
22947 3416312 : ipack = ipack + 1
22948 3416312 : pack_tmp = packed_data(ipack)
22949 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
22950 3416312 : pack_tmp = ISHFT(pack_tmp, -3)
22951 3416312 : idata = idata + 1
22952 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22953 3416312 : full_data(idata) = data_tmp
22954 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22955 3416312 : idata = idata + 1
22956 3416312 : data_tmp = ISHFT(pack_tmp, 1)
22957 3416312 : ipack = ipack + 1
22958 3416312 : pack_tmp = packed_data(ipack)
22959 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
22960 3416312 : pack_tmp = ISHFT(pack_tmp, -1)
22961 3416312 : idata = idata + 1
22962 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22963 3416312 : full_data(idata) = data_tmp
22964 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22965 3416312 : idata = idata + 1
22966 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22967 3416312 : full_data(idata) = data_tmp
22968 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22969 3416312 : idata = idata + 1
22970 3416312 : data_tmp = ISHFT(pack_tmp, 30)
22971 3416312 : ipack = ipack + 1
22972 3416312 : pack_tmp = packed_data(ipack)
22973 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22974 3416312 : pack_tmp = ISHFT(pack_tmp, -30)
22975 3416312 : idata = idata + 1
22976 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22977 3416312 : full_data(idata) = data_tmp
22978 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22979 3416312 : idata = idata + 1
22980 3416312 : data_tmp = ISHFT(pack_tmp, 28)
22981 3416312 : ipack = ipack + 1
22982 3416312 : pack_tmp = packed_data(ipack)
22983 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22984 3416312 : pack_tmp = ISHFT(pack_tmp, -28)
22985 3416312 : idata = idata + 1
22986 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22987 3416312 : full_data(idata) = data_tmp
22988 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22989 3416312 : idata = idata + 1
22990 3416312 : data_tmp = ISHFT(pack_tmp, 26)
22991 3416312 : ipack = ipack + 1
22992 3416312 : pack_tmp = packed_data(ipack)
22993 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22994 3416312 : pack_tmp = ISHFT(pack_tmp, -26)
22995 3416312 : idata = idata + 1
22996 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22997 3416312 : full_data(idata) = data_tmp
22998 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22999 3416312 : idata = idata + 1
23000 3416312 : data_tmp = ISHFT(pack_tmp, 24)
23001 3416312 : ipack = ipack + 1
23002 3416312 : pack_tmp = packed_data(ipack)
23003 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
23004 3416312 : pack_tmp = ISHFT(pack_tmp, -24)
23005 3416312 : idata = idata + 1
23006 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23007 3416312 : full_data(idata) = data_tmp
23008 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23009 3416312 : idata = idata + 1
23010 3416312 : data_tmp = ISHFT(pack_tmp, 22)
23011 3416312 : ipack = ipack + 1
23012 3416312 : pack_tmp = packed_data(ipack)
23013 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
23014 3416312 : pack_tmp = ISHFT(pack_tmp, -22)
23015 3416312 : idata = idata + 1
23016 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23017 3416312 : full_data(idata) = data_tmp
23018 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23019 3416312 : idata = idata + 1
23020 3416312 : data_tmp = ISHFT(pack_tmp, 20)
23021 3416312 : ipack = ipack + 1
23022 3416312 : pack_tmp = packed_data(ipack)
23023 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
23024 3416312 : pack_tmp = ISHFT(pack_tmp, -20)
23025 3416312 : idata = idata + 1
23026 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23027 3416312 : full_data(idata) = data_tmp
23028 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23029 3416312 : idata = idata + 1
23030 3416312 : data_tmp = ISHFT(pack_tmp, 18)
23031 3416312 : ipack = ipack + 1
23032 3416312 : pack_tmp = packed_data(ipack)
23033 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
23034 3416312 : pack_tmp = ISHFT(pack_tmp, -18)
23035 3416312 : idata = idata + 1
23036 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23037 3416312 : full_data(idata) = data_tmp
23038 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23039 3416312 : idata = idata + 1
23040 3416312 : data_tmp = ISHFT(pack_tmp, 16)
23041 3416312 : ipack = ipack + 1
23042 3416312 : pack_tmp = packed_data(ipack)
23043 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
23044 3416312 : pack_tmp = ISHFT(pack_tmp, -16)
23045 3416312 : idata = idata + 1
23046 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23047 3416312 : full_data(idata) = data_tmp
23048 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23049 3416312 : idata = idata + 1
23050 3416312 : data_tmp = ISHFT(pack_tmp, 14)
23051 3416312 : ipack = ipack + 1
23052 3416312 : pack_tmp = packed_data(ipack)
23053 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
23054 3416312 : pack_tmp = ISHFT(pack_tmp, -14)
23055 3416312 : idata = idata + 1
23056 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23057 3416312 : full_data(idata) = data_tmp
23058 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23059 3416312 : idata = idata + 1
23060 3416312 : data_tmp = ISHFT(pack_tmp, 12)
23061 3416312 : ipack = ipack + 1
23062 3416312 : pack_tmp = packed_data(ipack)
23063 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
23064 3416312 : pack_tmp = ISHFT(pack_tmp, -12)
23065 3416312 : idata = idata + 1
23066 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23067 3416312 : full_data(idata) = data_tmp
23068 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23069 3416312 : idata = idata + 1
23070 3416312 : data_tmp = ISHFT(pack_tmp, 10)
23071 3416312 : ipack = ipack + 1
23072 3416312 : pack_tmp = packed_data(ipack)
23073 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
23074 3416312 : pack_tmp = ISHFT(pack_tmp, -10)
23075 3416312 : idata = idata + 1
23076 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23077 3416312 : full_data(idata) = data_tmp
23078 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23079 3416312 : idata = idata + 1
23080 3416312 : data_tmp = ISHFT(pack_tmp, 8)
23081 3416312 : ipack = ipack + 1
23082 3416312 : pack_tmp = packed_data(ipack)
23083 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
23084 3416312 : pack_tmp = ISHFT(pack_tmp, -8)
23085 3416312 : idata = idata + 1
23086 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23087 3416312 : full_data(idata) = data_tmp
23088 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23089 3416312 : idata = idata + 1
23090 3416312 : data_tmp = ISHFT(pack_tmp, 6)
23091 3416312 : ipack = ipack + 1
23092 3416312 : pack_tmp = packed_data(ipack)
23093 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
23094 3416312 : pack_tmp = ISHFT(pack_tmp, -6)
23095 3416312 : idata = idata + 1
23096 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23097 3416312 : full_data(idata) = data_tmp
23098 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23099 3416312 : idata = idata + 1
23100 3416312 : data_tmp = ISHFT(pack_tmp, 4)
23101 3416312 : ipack = ipack + 1
23102 3416312 : pack_tmp = packed_data(ipack)
23103 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
23104 3416312 : pack_tmp = ISHFT(pack_tmp, -4)
23105 3416312 : idata = idata + 1
23106 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23107 3416312 : full_data(idata) = data_tmp
23108 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23109 3416312 : idata = idata + 1
23110 3416312 : data_tmp = ISHFT(pack_tmp, 2)
23111 3416312 : ipack = ipack + 1
23112 3416312 : pack_tmp = packed_data(ipack)
23113 3416312 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
23114 3416312 : pack_tmp = ISHFT(pack_tmp, -2)
23115 3416312 : idata = idata + 1
23116 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23117 3416312 : full_data(idata) = data_tmp
23118 3416312 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23119 3416312 : idata = idata + 1
23120 3416312 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23121 3416312 : full_data(idata) = data_tmp
23122 3418442 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23123 : END DO
23124 273385 : IF (Ndata_rep < Ndata) THEN
23125 112688 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
23126 : END IF
23127 273385 : END SUBROUTINE bits2ints_31
23128 :
23129 : ! **************************************************************************************************
23130 : !> \brief ...
23131 : !> \param Ndata ...
23132 : !> \param packed_data ...
23133 : !> \param full_data ...
23134 : ! **************************************************************************************************
23135 52049 : 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 52049 : idata = 0
23146 52049 : ipack = 0
23147 52049 : Ndata_rep = (Ndata/64)*64
23148 52049 : DO kdata = 1, Ndata_rep, 64
23149 675584 : pack_tmp = 0
23150 675584 : idata = idata + 1
23151 675584 : data_tmp = full_data(idata)
23152 675584 : data_tmp = ISHFT(data_tmp, 32)
23153 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23154 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23155 675584 : idata = idata + 1
23156 675584 : data_tmp = full_data(idata)
23157 675584 : data_tmp = ISHFT(data_tmp, 32)
23158 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23159 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23160 675584 : idata = idata + 1
23161 675584 : data_tmp = full_data(idata)
23162 : data_tmp = ISHFT(data_tmp, 32)
23163 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23164 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23165 675584 : ipack = ipack + 1
23166 675584 : packed_data(ipack) = pack_tmp
23167 675584 : data_tmp = full_data(idata)
23168 675584 : pack_tmp = ISHFT(data_tmp, 32)
23169 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23170 675584 : idata = idata + 1
23171 675584 : data_tmp = full_data(idata)
23172 675584 : data_tmp = ISHFT(data_tmp, 32)
23173 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23174 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23175 675584 : idata = idata + 1
23176 675584 : data_tmp = full_data(idata)
23177 : data_tmp = ISHFT(data_tmp, 32)
23178 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23179 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23180 675584 : ipack = ipack + 1
23181 675584 : packed_data(ipack) = pack_tmp
23182 675584 : data_tmp = full_data(idata)
23183 675584 : pack_tmp = ISHFT(data_tmp, 32)
23184 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23185 675584 : idata = idata + 1
23186 675584 : data_tmp = full_data(idata)
23187 675584 : data_tmp = ISHFT(data_tmp, 32)
23188 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23189 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23190 675584 : idata = idata + 1
23191 675584 : data_tmp = full_data(idata)
23192 : data_tmp = ISHFT(data_tmp, 32)
23193 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23194 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23195 675584 : ipack = ipack + 1
23196 675584 : packed_data(ipack) = pack_tmp
23197 675584 : data_tmp = full_data(idata)
23198 675584 : pack_tmp = ISHFT(data_tmp, 32)
23199 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23200 675584 : idata = idata + 1
23201 675584 : data_tmp = full_data(idata)
23202 675584 : data_tmp = ISHFT(data_tmp, 32)
23203 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23204 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23205 675584 : idata = idata + 1
23206 675584 : data_tmp = full_data(idata)
23207 : data_tmp = ISHFT(data_tmp, 32)
23208 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23209 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23210 675584 : ipack = ipack + 1
23211 675584 : packed_data(ipack) = pack_tmp
23212 675584 : data_tmp = full_data(idata)
23213 675584 : pack_tmp = ISHFT(data_tmp, 32)
23214 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23215 675584 : idata = idata + 1
23216 675584 : data_tmp = full_data(idata)
23217 675584 : data_tmp = ISHFT(data_tmp, 32)
23218 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23219 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23220 675584 : idata = idata + 1
23221 675584 : data_tmp = full_data(idata)
23222 : data_tmp = ISHFT(data_tmp, 32)
23223 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23224 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23225 675584 : ipack = ipack + 1
23226 675584 : packed_data(ipack) = pack_tmp
23227 675584 : data_tmp = full_data(idata)
23228 675584 : pack_tmp = ISHFT(data_tmp, 32)
23229 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23230 675584 : idata = idata + 1
23231 675584 : data_tmp = full_data(idata)
23232 675584 : data_tmp = ISHFT(data_tmp, 32)
23233 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23234 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23235 675584 : idata = idata + 1
23236 675584 : data_tmp = full_data(idata)
23237 : data_tmp = ISHFT(data_tmp, 32)
23238 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23239 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23240 675584 : ipack = ipack + 1
23241 675584 : packed_data(ipack) = pack_tmp
23242 675584 : data_tmp = full_data(idata)
23243 675584 : pack_tmp = ISHFT(data_tmp, 32)
23244 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23245 675584 : idata = idata + 1
23246 675584 : data_tmp = full_data(idata)
23247 675584 : data_tmp = ISHFT(data_tmp, 32)
23248 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23249 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23250 675584 : idata = idata + 1
23251 675584 : data_tmp = full_data(idata)
23252 : data_tmp = ISHFT(data_tmp, 32)
23253 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23254 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23255 675584 : ipack = ipack + 1
23256 675584 : packed_data(ipack) = pack_tmp
23257 675584 : data_tmp = full_data(idata)
23258 675584 : pack_tmp = ISHFT(data_tmp, 32)
23259 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23260 675584 : idata = idata + 1
23261 675584 : data_tmp = full_data(idata)
23262 675584 : data_tmp = ISHFT(data_tmp, 32)
23263 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23264 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23265 675584 : idata = idata + 1
23266 675584 : data_tmp = full_data(idata)
23267 : data_tmp = ISHFT(data_tmp, 32)
23268 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23269 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23270 675584 : ipack = ipack + 1
23271 675584 : packed_data(ipack) = pack_tmp
23272 675584 : data_tmp = full_data(idata)
23273 675584 : pack_tmp = ISHFT(data_tmp, 32)
23274 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23275 675584 : idata = idata + 1
23276 675584 : data_tmp = full_data(idata)
23277 675584 : data_tmp = ISHFT(data_tmp, 32)
23278 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23279 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23280 675584 : idata = idata + 1
23281 675584 : data_tmp = full_data(idata)
23282 : data_tmp = ISHFT(data_tmp, 32)
23283 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23284 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23285 675584 : ipack = ipack + 1
23286 675584 : packed_data(ipack) = pack_tmp
23287 675584 : data_tmp = full_data(idata)
23288 675584 : pack_tmp = ISHFT(data_tmp, 32)
23289 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23290 675584 : idata = idata + 1
23291 675584 : data_tmp = full_data(idata)
23292 675584 : data_tmp = ISHFT(data_tmp, 32)
23293 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23294 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23295 675584 : idata = idata + 1
23296 675584 : data_tmp = full_data(idata)
23297 : data_tmp = ISHFT(data_tmp, 32)
23298 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23299 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23300 675584 : ipack = ipack + 1
23301 675584 : packed_data(ipack) = pack_tmp
23302 675584 : data_tmp = full_data(idata)
23303 675584 : pack_tmp = ISHFT(data_tmp, 32)
23304 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23305 675584 : idata = idata + 1
23306 675584 : data_tmp = full_data(idata)
23307 675584 : data_tmp = ISHFT(data_tmp, 32)
23308 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23309 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23310 675584 : idata = idata + 1
23311 675584 : data_tmp = full_data(idata)
23312 : data_tmp = ISHFT(data_tmp, 32)
23313 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23314 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23315 675584 : ipack = ipack + 1
23316 675584 : packed_data(ipack) = pack_tmp
23317 675584 : data_tmp = full_data(idata)
23318 675584 : pack_tmp = ISHFT(data_tmp, 32)
23319 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23320 675584 : idata = idata + 1
23321 675584 : data_tmp = full_data(idata)
23322 675584 : data_tmp = ISHFT(data_tmp, 32)
23323 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23324 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23325 675584 : idata = idata + 1
23326 675584 : data_tmp = full_data(idata)
23327 : data_tmp = ISHFT(data_tmp, 32)
23328 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23329 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23330 675584 : ipack = ipack + 1
23331 675584 : packed_data(ipack) = pack_tmp
23332 675584 : data_tmp = full_data(idata)
23333 675584 : pack_tmp = ISHFT(data_tmp, 32)
23334 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23335 675584 : idata = idata + 1
23336 675584 : data_tmp = full_data(idata)
23337 675584 : data_tmp = ISHFT(data_tmp, 32)
23338 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23339 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23340 675584 : idata = idata + 1
23341 675584 : data_tmp = full_data(idata)
23342 : data_tmp = ISHFT(data_tmp, 32)
23343 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23344 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23345 675584 : ipack = ipack + 1
23346 675584 : packed_data(ipack) = pack_tmp
23347 675584 : data_tmp = full_data(idata)
23348 675584 : pack_tmp = ISHFT(data_tmp, 32)
23349 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23350 675584 : idata = idata + 1
23351 675584 : data_tmp = full_data(idata)
23352 675584 : data_tmp = ISHFT(data_tmp, 32)
23353 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23354 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23355 675584 : idata = idata + 1
23356 675584 : data_tmp = full_data(idata)
23357 : data_tmp = ISHFT(data_tmp, 32)
23358 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23359 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23360 675584 : ipack = ipack + 1
23361 675584 : packed_data(ipack) = pack_tmp
23362 675584 : data_tmp = full_data(idata)
23363 675584 : pack_tmp = ISHFT(data_tmp, 32)
23364 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23365 675584 : idata = idata + 1
23366 675584 : data_tmp = full_data(idata)
23367 675584 : data_tmp = ISHFT(data_tmp, 32)
23368 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23369 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23370 675584 : idata = idata + 1
23371 675584 : data_tmp = full_data(idata)
23372 : data_tmp = ISHFT(data_tmp, 32)
23373 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23374 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23375 675584 : ipack = ipack + 1
23376 675584 : packed_data(ipack) = pack_tmp
23377 675584 : data_tmp = full_data(idata)
23378 675584 : pack_tmp = ISHFT(data_tmp, 32)
23379 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23380 675584 : idata = idata + 1
23381 675584 : data_tmp = full_data(idata)
23382 675584 : data_tmp = ISHFT(data_tmp, 32)
23383 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23384 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23385 675584 : idata = idata + 1
23386 675584 : data_tmp = full_data(idata)
23387 : data_tmp = ISHFT(data_tmp, 32)
23388 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23389 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23390 675584 : ipack = ipack + 1
23391 675584 : packed_data(ipack) = pack_tmp
23392 675584 : data_tmp = full_data(idata)
23393 675584 : pack_tmp = ISHFT(data_tmp, 32)
23394 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23395 675584 : idata = idata + 1
23396 675584 : data_tmp = full_data(idata)
23397 675584 : data_tmp = ISHFT(data_tmp, 32)
23398 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23399 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23400 675584 : idata = idata + 1
23401 675584 : data_tmp = full_data(idata)
23402 : data_tmp = ISHFT(data_tmp, 32)
23403 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23404 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23405 675584 : ipack = ipack + 1
23406 675584 : packed_data(ipack) = pack_tmp
23407 675584 : data_tmp = full_data(idata)
23408 675584 : pack_tmp = ISHFT(data_tmp, 32)
23409 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23410 675584 : idata = idata + 1
23411 675584 : data_tmp = full_data(idata)
23412 675584 : data_tmp = ISHFT(data_tmp, 32)
23413 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23414 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23415 675584 : idata = idata + 1
23416 675584 : data_tmp = full_data(idata)
23417 : data_tmp = ISHFT(data_tmp, 32)
23418 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23419 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23420 675584 : ipack = ipack + 1
23421 675584 : packed_data(ipack) = pack_tmp
23422 675584 : data_tmp = full_data(idata)
23423 675584 : pack_tmp = ISHFT(data_tmp, 32)
23424 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23425 675584 : idata = idata + 1
23426 675584 : data_tmp = full_data(idata)
23427 675584 : data_tmp = ISHFT(data_tmp, 32)
23428 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23429 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23430 675584 : idata = idata + 1
23431 675584 : data_tmp = full_data(idata)
23432 : data_tmp = ISHFT(data_tmp, 32)
23433 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23434 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23435 675584 : ipack = ipack + 1
23436 675584 : packed_data(ipack) = pack_tmp
23437 675584 : data_tmp = full_data(idata)
23438 675584 : pack_tmp = ISHFT(data_tmp, 32)
23439 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23440 675584 : idata = idata + 1
23441 675584 : data_tmp = full_data(idata)
23442 675584 : data_tmp = ISHFT(data_tmp, 32)
23443 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23444 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23445 675584 : idata = idata + 1
23446 675584 : data_tmp = full_data(idata)
23447 : data_tmp = ISHFT(data_tmp, 32)
23448 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23449 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23450 675584 : ipack = ipack + 1
23451 675584 : packed_data(ipack) = pack_tmp
23452 675584 : data_tmp = full_data(idata)
23453 675584 : pack_tmp = ISHFT(data_tmp, 32)
23454 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23455 675584 : idata = idata + 1
23456 675584 : data_tmp = full_data(idata)
23457 675584 : data_tmp = ISHFT(data_tmp, 32)
23458 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23459 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23460 675584 : idata = idata + 1
23461 675584 : data_tmp = full_data(idata)
23462 : data_tmp = ISHFT(data_tmp, 32)
23463 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23464 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23465 675584 : ipack = ipack + 1
23466 675584 : packed_data(ipack) = pack_tmp
23467 675584 : data_tmp = full_data(idata)
23468 675584 : pack_tmp = ISHFT(data_tmp, 32)
23469 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23470 675584 : idata = idata + 1
23471 675584 : data_tmp = full_data(idata)
23472 675584 : data_tmp = ISHFT(data_tmp, 32)
23473 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23474 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23475 675584 : idata = idata + 1
23476 675584 : data_tmp = full_data(idata)
23477 : data_tmp = ISHFT(data_tmp, 32)
23478 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23479 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23480 675584 : ipack = ipack + 1
23481 675584 : packed_data(ipack) = pack_tmp
23482 675584 : data_tmp = full_data(idata)
23483 675584 : pack_tmp = ISHFT(data_tmp, 32)
23484 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23485 675584 : idata = idata + 1
23486 675584 : data_tmp = full_data(idata)
23487 675584 : data_tmp = ISHFT(data_tmp, 32)
23488 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23489 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23490 675584 : idata = idata + 1
23491 675584 : data_tmp = full_data(idata)
23492 : data_tmp = ISHFT(data_tmp, 32)
23493 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23494 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23495 675584 : ipack = ipack + 1
23496 675584 : packed_data(ipack) = pack_tmp
23497 675584 : data_tmp = full_data(idata)
23498 675584 : pack_tmp = ISHFT(data_tmp, 32)
23499 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23500 675584 : idata = idata + 1
23501 675584 : data_tmp = full_data(idata)
23502 675584 : data_tmp = ISHFT(data_tmp, 32)
23503 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23504 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23505 675584 : idata = idata + 1
23506 675584 : data_tmp = full_data(idata)
23507 : data_tmp = ISHFT(data_tmp, 32)
23508 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23509 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23510 675584 : ipack = ipack + 1
23511 675584 : packed_data(ipack) = pack_tmp
23512 675584 : data_tmp = full_data(idata)
23513 675584 : pack_tmp = ISHFT(data_tmp, 32)
23514 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23515 675584 : idata = idata + 1
23516 675584 : data_tmp = full_data(idata)
23517 675584 : data_tmp = ISHFT(data_tmp, 32)
23518 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23519 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23520 675584 : idata = idata + 1
23521 675584 : data_tmp = full_data(idata)
23522 : data_tmp = ISHFT(data_tmp, 32)
23523 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23524 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23525 675584 : ipack = ipack + 1
23526 675584 : packed_data(ipack) = pack_tmp
23527 675584 : data_tmp = full_data(idata)
23528 675584 : pack_tmp = ISHFT(data_tmp, 32)
23529 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23530 675584 : idata = idata + 1
23531 675584 : data_tmp = full_data(idata)
23532 675584 : data_tmp = ISHFT(data_tmp, 32)
23533 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23534 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23535 675584 : idata = idata + 1
23536 675584 : data_tmp = full_data(idata)
23537 : data_tmp = ISHFT(data_tmp, 32)
23538 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23539 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23540 675584 : ipack = ipack + 1
23541 675584 : packed_data(ipack) = pack_tmp
23542 675584 : data_tmp = full_data(idata)
23543 675584 : pack_tmp = ISHFT(data_tmp, 32)
23544 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23545 675584 : idata = idata + 1
23546 675584 : data_tmp = full_data(idata)
23547 675584 : data_tmp = ISHFT(data_tmp, 32)
23548 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23549 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23550 675584 : idata = idata + 1
23551 675584 : data_tmp = full_data(idata)
23552 : data_tmp = ISHFT(data_tmp, 32)
23553 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23554 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23555 675584 : ipack = ipack + 1
23556 675584 : packed_data(ipack) = pack_tmp
23557 675584 : data_tmp = full_data(idata)
23558 675584 : pack_tmp = ISHFT(data_tmp, 32)
23559 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23560 675584 : idata = idata + 1
23561 675584 : data_tmp = full_data(idata)
23562 675584 : data_tmp = ISHFT(data_tmp, 32)
23563 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23564 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23565 675584 : idata = idata + 1
23566 675584 : data_tmp = full_data(idata)
23567 : data_tmp = ISHFT(data_tmp, 32)
23568 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23569 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23570 675584 : ipack = ipack + 1
23571 675584 : packed_data(ipack) = pack_tmp
23572 675584 : data_tmp = full_data(idata)
23573 675584 : pack_tmp = ISHFT(data_tmp, 32)
23574 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23575 675584 : idata = idata + 1
23576 675584 : data_tmp = full_data(idata)
23577 675584 : data_tmp = ISHFT(data_tmp, 32)
23578 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23579 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23580 675584 : idata = idata + 1
23581 675584 : data_tmp = full_data(idata)
23582 : data_tmp = ISHFT(data_tmp, 32)
23583 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23584 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23585 675584 : ipack = ipack + 1
23586 675584 : packed_data(ipack) = pack_tmp
23587 675584 : data_tmp = full_data(idata)
23588 675584 : pack_tmp = ISHFT(data_tmp, 32)
23589 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23590 675584 : idata = idata + 1
23591 675584 : data_tmp = full_data(idata)
23592 675584 : data_tmp = ISHFT(data_tmp, 32)
23593 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23594 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23595 675584 : idata = idata + 1
23596 675584 : data_tmp = full_data(idata)
23597 : data_tmp = ISHFT(data_tmp, 32)
23598 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23599 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23600 675584 : ipack = ipack + 1
23601 675584 : packed_data(ipack) = pack_tmp
23602 675584 : data_tmp = full_data(idata)
23603 675584 : pack_tmp = ISHFT(data_tmp, 32)
23604 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23605 675584 : idata = idata + 1
23606 675584 : data_tmp = full_data(idata)
23607 675584 : data_tmp = ISHFT(data_tmp, 32)
23608 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23609 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23610 675584 : idata = idata + 1
23611 675584 : data_tmp = full_data(idata)
23612 : data_tmp = ISHFT(data_tmp, 32)
23613 675584 : data_tmp = IAND(data_tmp, mask_left(0))
23614 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23615 675584 : ipack = ipack + 1
23616 675584 : packed_data(ipack) = pack_tmp
23617 675584 : data_tmp = full_data(idata)
23618 675584 : pack_tmp = ISHFT(data_tmp, 32)
23619 675584 : pack_tmp = ISHFT(pack_tmp, -32)
23620 675584 : idata = idata + 1
23621 675584 : data_tmp = full_data(idata)
23622 675584 : data_tmp = ISHFT(data_tmp, 32)
23623 675584 : pack_tmp = IOR(pack_tmp, data_tmp)
23624 : pack_tmp = ISHFT(pack_tmp, 0)
23625 675584 : pack_tmp = ISHFT(pack_tmp, 0)
23626 675584 : ipack = ipack + 1
23627 685409 : packed_data(ipack) = pack_tmp
23628 : END DO
23629 52049 : 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 52049 : END SUBROUTINE ints2bits_32
23633 :
23634 : ! **************************************************************************************************
23635 : !> \brief ...
23636 : !> \param Ndata ...
23637 : !> \param packed_data ...
23638 : !> \param full_data ...
23639 : ! **************************************************************************************************
23640 351255 : 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 351255 : ipack = 0
23651 351255 : idata = 0
23652 351255 : pack_tmp = 0
23653 351255 : Ndata_rep = (Ndata/64)*64
23654 351255 : DO kdata = 1, Ndata_rep, 64
23655 4202560 : idata = idata + 1
23656 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23657 4202560 : ipack = ipack + 1
23658 4202560 : pack_tmp = packed_data(ipack)
23659 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23660 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23661 4202560 : idata = idata + 1
23662 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23663 4202560 : full_data(idata) = data_tmp
23664 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23665 4202560 : idata = idata + 1
23666 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23667 4202560 : ipack = ipack + 1
23668 4202560 : pack_tmp = packed_data(ipack)
23669 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23670 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23671 4202560 : idata = idata + 1
23672 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23673 4202560 : full_data(idata) = data_tmp
23674 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23675 4202560 : idata = idata + 1
23676 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23677 4202560 : ipack = ipack + 1
23678 4202560 : pack_tmp = packed_data(ipack)
23679 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23680 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23681 4202560 : idata = idata + 1
23682 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23683 4202560 : full_data(idata) = data_tmp
23684 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23685 4202560 : idata = idata + 1
23686 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23687 4202560 : ipack = ipack + 1
23688 4202560 : pack_tmp = packed_data(ipack)
23689 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23690 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23691 4202560 : idata = idata + 1
23692 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23693 4202560 : full_data(idata) = data_tmp
23694 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23695 4202560 : idata = idata + 1
23696 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23697 4202560 : ipack = ipack + 1
23698 4202560 : pack_tmp = packed_data(ipack)
23699 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23700 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23701 4202560 : idata = idata + 1
23702 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23703 4202560 : full_data(idata) = data_tmp
23704 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23705 4202560 : idata = idata + 1
23706 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23707 4202560 : ipack = ipack + 1
23708 4202560 : pack_tmp = packed_data(ipack)
23709 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23710 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23711 4202560 : idata = idata + 1
23712 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23713 4202560 : full_data(idata) = data_tmp
23714 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23715 4202560 : idata = idata + 1
23716 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23717 4202560 : ipack = ipack + 1
23718 4202560 : pack_tmp = packed_data(ipack)
23719 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23720 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23721 4202560 : idata = idata + 1
23722 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23723 4202560 : full_data(idata) = data_tmp
23724 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23725 4202560 : idata = idata + 1
23726 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23727 4202560 : ipack = ipack + 1
23728 4202560 : pack_tmp = packed_data(ipack)
23729 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23730 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23731 4202560 : idata = idata + 1
23732 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23733 4202560 : full_data(idata) = data_tmp
23734 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23735 4202560 : idata = idata + 1
23736 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23737 4202560 : ipack = ipack + 1
23738 4202560 : pack_tmp = packed_data(ipack)
23739 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23740 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23741 4202560 : idata = idata + 1
23742 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23743 4202560 : full_data(idata) = data_tmp
23744 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23745 4202560 : idata = idata + 1
23746 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23747 4202560 : ipack = ipack + 1
23748 4202560 : pack_tmp = packed_data(ipack)
23749 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23750 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23751 4202560 : idata = idata + 1
23752 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23753 4202560 : full_data(idata) = data_tmp
23754 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23755 4202560 : idata = idata + 1
23756 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23757 4202560 : ipack = ipack + 1
23758 4202560 : pack_tmp = packed_data(ipack)
23759 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23760 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23761 4202560 : idata = idata + 1
23762 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23763 4202560 : full_data(idata) = data_tmp
23764 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23765 4202560 : idata = idata + 1
23766 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23767 4202560 : ipack = ipack + 1
23768 4202560 : pack_tmp = packed_data(ipack)
23769 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23770 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23771 4202560 : idata = idata + 1
23772 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23773 4202560 : full_data(idata) = data_tmp
23774 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23775 4202560 : idata = idata + 1
23776 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23777 4202560 : ipack = ipack + 1
23778 4202560 : pack_tmp = packed_data(ipack)
23779 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23780 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23781 4202560 : idata = idata + 1
23782 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23783 4202560 : full_data(idata) = data_tmp
23784 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23785 4202560 : idata = idata + 1
23786 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23787 4202560 : ipack = ipack + 1
23788 4202560 : pack_tmp = packed_data(ipack)
23789 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23790 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23791 4202560 : idata = idata + 1
23792 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23793 4202560 : full_data(idata) = data_tmp
23794 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23795 4202560 : idata = idata + 1
23796 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23797 4202560 : ipack = ipack + 1
23798 4202560 : pack_tmp = packed_data(ipack)
23799 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23800 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23801 4202560 : idata = idata + 1
23802 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23803 4202560 : full_data(idata) = data_tmp
23804 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23805 4202560 : idata = idata + 1
23806 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23807 4202560 : ipack = ipack + 1
23808 4202560 : pack_tmp = packed_data(ipack)
23809 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23810 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23811 4202560 : idata = idata + 1
23812 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23813 4202560 : full_data(idata) = data_tmp
23814 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23815 4202560 : idata = idata + 1
23816 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23817 4202560 : ipack = ipack + 1
23818 4202560 : pack_tmp = packed_data(ipack)
23819 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23820 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23821 4202560 : idata = idata + 1
23822 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23823 4202560 : full_data(idata) = data_tmp
23824 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23825 4202560 : idata = idata + 1
23826 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23827 4202560 : ipack = ipack + 1
23828 4202560 : pack_tmp = packed_data(ipack)
23829 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23830 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23831 4202560 : idata = idata + 1
23832 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23833 4202560 : full_data(idata) = data_tmp
23834 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23835 4202560 : idata = idata + 1
23836 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23837 4202560 : ipack = ipack + 1
23838 4202560 : pack_tmp = packed_data(ipack)
23839 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23840 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23841 4202560 : idata = idata + 1
23842 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23843 4202560 : full_data(idata) = data_tmp
23844 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23845 4202560 : idata = idata + 1
23846 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23847 4202560 : ipack = ipack + 1
23848 4202560 : pack_tmp = packed_data(ipack)
23849 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23850 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23851 4202560 : idata = idata + 1
23852 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23853 4202560 : full_data(idata) = data_tmp
23854 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23855 4202560 : idata = idata + 1
23856 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23857 4202560 : ipack = ipack + 1
23858 4202560 : pack_tmp = packed_data(ipack)
23859 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23860 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23861 4202560 : idata = idata + 1
23862 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23863 4202560 : full_data(idata) = data_tmp
23864 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23865 4202560 : idata = idata + 1
23866 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23867 4202560 : ipack = ipack + 1
23868 4202560 : pack_tmp = packed_data(ipack)
23869 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23870 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23871 4202560 : idata = idata + 1
23872 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23873 4202560 : full_data(idata) = data_tmp
23874 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23875 4202560 : idata = idata + 1
23876 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23877 4202560 : ipack = ipack + 1
23878 4202560 : pack_tmp = packed_data(ipack)
23879 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23880 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23881 4202560 : idata = idata + 1
23882 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23883 4202560 : full_data(idata) = data_tmp
23884 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23885 4202560 : idata = idata + 1
23886 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23887 4202560 : ipack = ipack + 1
23888 4202560 : pack_tmp = packed_data(ipack)
23889 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23890 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23891 4202560 : idata = idata + 1
23892 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23893 4202560 : full_data(idata) = data_tmp
23894 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23895 4202560 : idata = idata + 1
23896 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23897 4202560 : ipack = ipack + 1
23898 4202560 : pack_tmp = packed_data(ipack)
23899 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23900 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23901 4202560 : idata = idata + 1
23902 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23903 4202560 : full_data(idata) = data_tmp
23904 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23905 4202560 : idata = idata + 1
23906 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23907 4202560 : ipack = ipack + 1
23908 4202560 : pack_tmp = packed_data(ipack)
23909 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23910 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23911 4202560 : idata = idata + 1
23912 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23913 4202560 : full_data(idata) = data_tmp
23914 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23915 4202560 : idata = idata + 1
23916 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23917 4202560 : ipack = ipack + 1
23918 4202560 : pack_tmp = packed_data(ipack)
23919 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23920 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23921 4202560 : idata = idata + 1
23922 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23923 4202560 : full_data(idata) = data_tmp
23924 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23925 4202560 : idata = idata + 1
23926 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23927 4202560 : ipack = ipack + 1
23928 4202560 : pack_tmp = packed_data(ipack)
23929 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23930 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23931 4202560 : idata = idata + 1
23932 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23933 4202560 : full_data(idata) = data_tmp
23934 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23935 4202560 : idata = idata + 1
23936 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23937 4202560 : ipack = ipack + 1
23938 4202560 : pack_tmp = packed_data(ipack)
23939 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23940 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23941 4202560 : idata = idata + 1
23942 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23943 4202560 : full_data(idata) = data_tmp
23944 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23945 4202560 : idata = idata + 1
23946 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23947 4202560 : ipack = ipack + 1
23948 4202560 : pack_tmp = packed_data(ipack)
23949 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23950 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23951 4202560 : idata = idata + 1
23952 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23953 4202560 : full_data(idata) = data_tmp
23954 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23955 4202560 : idata = idata + 1
23956 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23957 4202560 : ipack = ipack + 1
23958 4202560 : pack_tmp = packed_data(ipack)
23959 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23960 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23961 4202560 : idata = idata + 1
23962 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23963 4202560 : full_data(idata) = data_tmp
23964 4202560 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23965 4202560 : idata = idata + 1
23966 4202560 : data_tmp = ISHFT(pack_tmp, 32)
23967 4202560 : ipack = ipack + 1
23968 4202560 : pack_tmp = packed_data(ipack)
23969 4202560 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23970 4202560 : pack_tmp = ISHFT(pack_tmp, -32)
23971 4202560 : idata = idata + 1
23972 4202560 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23973 4202560 : full_data(idata) = data_tmp
23974 4291155 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23975 : END DO
23976 351255 : 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 351255 : END SUBROUTINE bits2ints_32
23980 :
23981 : ! **************************************************************************************************
23982 : !> \brief ...
23983 : !> \param Ndata ...
23984 : !> \param packed_data ...
23985 : !> \param full_data ...
23986 : ! **************************************************************************************************
23987 53526 : 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 53526 : idata = 0
23998 53526 : ipack = 0
23999 53526 : Ndata_rep = (Ndata/64)*64
24000 53526 : DO kdata = 1, Ndata_rep, 64
24001 678358 : pack_tmp = 0
24002 678358 : idata = idata + 1
24003 678358 : data_tmp = full_data(idata)
24004 678358 : data_tmp = ISHFT(data_tmp, 31)
24005 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24006 678358 : pack_tmp = ISHFT(pack_tmp, -31)
24007 678358 : idata = idata + 1
24008 678358 : data_tmp = full_data(idata)
24009 678358 : data_tmp = ISHFT(data_tmp, 31)
24010 678358 : data_tmp = IAND(data_tmp, mask_left(31))
24011 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24012 678358 : ipack = ipack + 1
24013 678358 : packed_data(ipack) = pack_tmp
24014 678358 : data_tmp = full_data(idata)
24015 678358 : pack_tmp = ISHFT(data_tmp, 62)
24016 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24017 678358 : idata = idata + 1
24018 678358 : data_tmp = full_data(idata)
24019 678358 : data_tmp = ISHFT(data_tmp, 31)
24020 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24021 678358 : pack_tmp = ISHFT(pack_tmp, -29)
24022 678358 : idata = idata + 1
24023 678358 : data_tmp = full_data(idata)
24024 678358 : data_tmp = ISHFT(data_tmp, 31)
24025 678358 : data_tmp = IAND(data_tmp, mask_left(29))
24026 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24027 678358 : ipack = ipack + 1
24028 678358 : packed_data(ipack) = pack_tmp
24029 678358 : data_tmp = full_data(idata)
24030 678358 : pack_tmp = ISHFT(data_tmp, 60)
24031 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24032 678358 : idata = idata + 1
24033 678358 : data_tmp = full_data(idata)
24034 678358 : data_tmp = ISHFT(data_tmp, 31)
24035 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24036 678358 : pack_tmp = ISHFT(pack_tmp, -27)
24037 678358 : idata = idata + 1
24038 678358 : data_tmp = full_data(idata)
24039 678358 : data_tmp = ISHFT(data_tmp, 31)
24040 678358 : data_tmp = IAND(data_tmp, mask_left(27))
24041 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24042 678358 : ipack = ipack + 1
24043 678358 : packed_data(ipack) = pack_tmp
24044 678358 : data_tmp = full_data(idata)
24045 678358 : pack_tmp = ISHFT(data_tmp, 58)
24046 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24047 678358 : idata = idata + 1
24048 678358 : data_tmp = full_data(idata)
24049 678358 : data_tmp = ISHFT(data_tmp, 31)
24050 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24051 678358 : pack_tmp = ISHFT(pack_tmp, -25)
24052 678358 : idata = idata + 1
24053 678358 : data_tmp = full_data(idata)
24054 678358 : data_tmp = ISHFT(data_tmp, 31)
24055 678358 : data_tmp = IAND(data_tmp, mask_left(25))
24056 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24057 678358 : ipack = ipack + 1
24058 678358 : packed_data(ipack) = pack_tmp
24059 678358 : data_tmp = full_data(idata)
24060 678358 : pack_tmp = ISHFT(data_tmp, 56)
24061 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24062 678358 : idata = idata + 1
24063 678358 : data_tmp = full_data(idata)
24064 678358 : data_tmp = ISHFT(data_tmp, 31)
24065 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24066 678358 : pack_tmp = ISHFT(pack_tmp, -23)
24067 678358 : idata = idata + 1
24068 678358 : data_tmp = full_data(idata)
24069 678358 : data_tmp = ISHFT(data_tmp, 31)
24070 678358 : data_tmp = IAND(data_tmp, mask_left(23))
24071 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24072 678358 : ipack = ipack + 1
24073 678358 : packed_data(ipack) = pack_tmp
24074 678358 : data_tmp = full_data(idata)
24075 678358 : pack_tmp = ISHFT(data_tmp, 54)
24076 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24077 678358 : idata = idata + 1
24078 678358 : data_tmp = full_data(idata)
24079 678358 : data_tmp = ISHFT(data_tmp, 31)
24080 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24081 678358 : pack_tmp = ISHFT(pack_tmp, -21)
24082 678358 : idata = idata + 1
24083 678358 : data_tmp = full_data(idata)
24084 678358 : data_tmp = ISHFT(data_tmp, 31)
24085 678358 : data_tmp = IAND(data_tmp, mask_left(21))
24086 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24087 678358 : ipack = ipack + 1
24088 678358 : packed_data(ipack) = pack_tmp
24089 678358 : data_tmp = full_data(idata)
24090 678358 : pack_tmp = ISHFT(data_tmp, 52)
24091 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24092 678358 : idata = idata + 1
24093 678358 : data_tmp = full_data(idata)
24094 678358 : data_tmp = ISHFT(data_tmp, 31)
24095 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24096 678358 : pack_tmp = ISHFT(pack_tmp, -19)
24097 678358 : idata = idata + 1
24098 678358 : data_tmp = full_data(idata)
24099 678358 : data_tmp = ISHFT(data_tmp, 31)
24100 678358 : data_tmp = IAND(data_tmp, mask_left(19))
24101 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24102 678358 : ipack = ipack + 1
24103 678358 : packed_data(ipack) = pack_tmp
24104 678358 : data_tmp = full_data(idata)
24105 678358 : pack_tmp = ISHFT(data_tmp, 50)
24106 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24107 678358 : idata = idata + 1
24108 678358 : data_tmp = full_data(idata)
24109 678358 : data_tmp = ISHFT(data_tmp, 31)
24110 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24111 678358 : pack_tmp = ISHFT(pack_tmp, -17)
24112 678358 : idata = idata + 1
24113 678358 : data_tmp = full_data(idata)
24114 678358 : data_tmp = ISHFT(data_tmp, 31)
24115 678358 : data_tmp = IAND(data_tmp, mask_left(17))
24116 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24117 678358 : ipack = ipack + 1
24118 678358 : packed_data(ipack) = pack_tmp
24119 678358 : data_tmp = full_data(idata)
24120 678358 : pack_tmp = ISHFT(data_tmp, 48)
24121 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24122 678358 : idata = idata + 1
24123 678358 : data_tmp = full_data(idata)
24124 678358 : data_tmp = ISHFT(data_tmp, 31)
24125 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24126 678358 : pack_tmp = ISHFT(pack_tmp, -15)
24127 678358 : idata = idata + 1
24128 678358 : data_tmp = full_data(idata)
24129 678358 : data_tmp = ISHFT(data_tmp, 31)
24130 678358 : data_tmp = IAND(data_tmp, mask_left(15))
24131 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24132 678358 : ipack = ipack + 1
24133 678358 : packed_data(ipack) = pack_tmp
24134 678358 : data_tmp = full_data(idata)
24135 678358 : pack_tmp = ISHFT(data_tmp, 46)
24136 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24137 678358 : idata = idata + 1
24138 678358 : data_tmp = full_data(idata)
24139 678358 : data_tmp = ISHFT(data_tmp, 31)
24140 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24141 678358 : pack_tmp = ISHFT(pack_tmp, -13)
24142 678358 : idata = idata + 1
24143 678358 : data_tmp = full_data(idata)
24144 678358 : data_tmp = ISHFT(data_tmp, 31)
24145 678358 : data_tmp = IAND(data_tmp, mask_left(13))
24146 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24147 678358 : ipack = ipack + 1
24148 678358 : packed_data(ipack) = pack_tmp
24149 678358 : data_tmp = full_data(idata)
24150 678358 : pack_tmp = ISHFT(data_tmp, 44)
24151 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24152 678358 : idata = idata + 1
24153 678358 : data_tmp = full_data(idata)
24154 678358 : data_tmp = ISHFT(data_tmp, 31)
24155 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24156 678358 : pack_tmp = ISHFT(pack_tmp, -11)
24157 678358 : idata = idata + 1
24158 678358 : data_tmp = full_data(idata)
24159 678358 : data_tmp = ISHFT(data_tmp, 31)
24160 678358 : data_tmp = IAND(data_tmp, mask_left(11))
24161 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24162 678358 : ipack = ipack + 1
24163 678358 : packed_data(ipack) = pack_tmp
24164 678358 : data_tmp = full_data(idata)
24165 678358 : pack_tmp = ISHFT(data_tmp, 42)
24166 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24167 678358 : idata = idata + 1
24168 678358 : data_tmp = full_data(idata)
24169 678358 : data_tmp = ISHFT(data_tmp, 31)
24170 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24171 678358 : pack_tmp = ISHFT(pack_tmp, -9)
24172 678358 : idata = idata + 1
24173 678358 : data_tmp = full_data(idata)
24174 678358 : data_tmp = ISHFT(data_tmp, 31)
24175 678358 : data_tmp = IAND(data_tmp, mask_left(9))
24176 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24177 678358 : ipack = ipack + 1
24178 678358 : packed_data(ipack) = pack_tmp
24179 678358 : data_tmp = full_data(idata)
24180 678358 : pack_tmp = ISHFT(data_tmp, 40)
24181 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24182 678358 : idata = idata + 1
24183 678358 : data_tmp = full_data(idata)
24184 678358 : data_tmp = ISHFT(data_tmp, 31)
24185 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24186 678358 : pack_tmp = ISHFT(pack_tmp, -7)
24187 678358 : idata = idata + 1
24188 678358 : data_tmp = full_data(idata)
24189 678358 : data_tmp = ISHFT(data_tmp, 31)
24190 678358 : data_tmp = IAND(data_tmp, mask_left(7))
24191 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24192 678358 : ipack = ipack + 1
24193 678358 : packed_data(ipack) = pack_tmp
24194 678358 : data_tmp = full_data(idata)
24195 678358 : pack_tmp = ISHFT(data_tmp, 38)
24196 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24197 678358 : idata = idata + 1
24198 678358 : data_tmp = full_data(idata)
24199 678358 : data_tmp = ISHFT(data_tmp, 31)
24200 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24201 678358 : pack_tmp = ISHFT(pack_tmp, -5)
24202 678358 : idata = idata + 1
24203 678358 : data_tmp = full_data(idata)
24204 678358 : data_tmp = ISHFT(data_tmp, 31)
24205 678358 : data_tmp = IAND(data_tmp, mask_left(5))
24206 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24207 678358 : ipack = ipack + 1
24208 678358 : packed_data(ipack) = pack_tmp
24209 678358 : data_tmp = full_data(idata)
24210 678358 : pack_tmp = ISHFT(data_tmp, 36)
24211 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24212 678358 : idata = idata + 1
24213 678358 : data_tmp = full_data(idata)
24214 678358 : data_tmp = ISHFT(data_tmp, 31)
24215 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24216 678358 : pack_tmp = ISHFT(pack_tmp, -3)
24217 678358 : idata = idata + 1
24218 678358 : data_tmp = full_data(idata)
24219 678358 : data_tmp = ISHFT(data_tmp, 31)
24220 678358 : data_tmp = IAND(data_tmp, mask_left(3))
24221 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24222 678358 : ipack = ipack + 1
24223 678358 : packed_data(ipack) = pack_tmp
24224 678358 : data_tmp = full_data(idata)
24225 678358 : pack_tmp = ISHFT(data_tmp, 34)
24226 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24227 678358 : idata = idata + 1
24228 678358 : data_tmp = full_data(idata)
24229 678358 : data_tmp = ISHFT(data_tmp, 31)
24230 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24231 678358 : pack_tmp = ISHFT(pack_tmp, -1)
24232 678358 : idata = idata + 1
24233 678358 : data_tmp = full_data(idata)
24234 678358 : data_tmp = ISHFT(data_tmp, 31)
24235 678358 : data_tmp = IAND(data_tmp, mask_left(1))
24236 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24237 678358 : ipack = ipack + 1
24238 678358 : packed_data(ipack) = pack_tmp
24239 678358 : data_tmp = full_data(idata)
24240 678358 : pack_tmp = ISHFT(data_tmp, 32)
24241 678358 : pack_tmp = ISHFT(pack_tmp, -32)
24242 678358 : idata = idata + 1
24243 678358 : data_tmp = full_data(idata)
24244 678358 : data_tmp = ISHFT(data_tmp, 31)
24245 678358 : data_tmp = IAND(data_tmp, mask_left(32))
24246 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24247 678358 : ipack = ipack + 1
24248 678358 : packed_data(ipack) = pack_tmp
24249 678358 : data_tmp = full_data(idata)
24250 678358 : pack_tmp = ISHFT(data_tmp, 63)
24251 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24252 678358 : idata = idata + 1
24253 678358 : data_tmp = full_data(idata)
24254 678358 : data_tmp = ISHFT(data_tmp, 31)
24255 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24256 678358 : pack_tmp = ISHFT(pack_tmp, -30)
24257 678358 : idata = idata + 1
24258 678358 : data_tmp = full_data(idata)
24259 678358 : data_tmp = ISHFT(data_tmp, 31)
24260 678358 : data_tmp = IAND(data_tmp, mask_left(30))
24261 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24262 678358 : ipack = ipack + 1
24263 678358 : packed_data(ipack) = pack_tmp
24264 678358 : data_tmp = full_data(idata)
24265 678358 : pack_tmp = ISHFT(data_tmp, 61)
24266 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24267 678358 : idata = idata + 1
24268 678358 : data_tmp = full_data(idata)
24269 678358 : data_tmp = ISHFT(data_tmp, 31)
24270 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24271 678358 : pack_tmp = ISHFT(pack_tmp, -28)
24272 678358 : idata = idata + 1
24273 678358 : data_tmp = full_data(idata)
24274 678358 : data_tmp = ISHFT(data_tmp, 31)
24275 678358 : data_tmp = IAND(data_tmp, mask_left(28))
24276 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24277 678358 : ipack = ipack + 1
24278 678358 : packed_data(ipack) = pack_tmp
24279 678358 : data_tmp = full_data(idata)
24280 678358 : pack_tmp = ISHFT(data_tmp, 59)
24281 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24282 678358 : idata = idata + 1
24283 678358 : data_tmp = full_data(idata)
24284 678358 : data_tmp = ISHFT(data_tmp, 31)
24285 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24286 678358 : pack_tmp = ISHFT(pack_tmp, -26)
24287 678358 : idata = idata + 1
24288 678358 : data_tmp = full_data(idata)
24289 678358 : data_tmp = ISHFT(data_tmp, 31)
24290 678358 : data_tmp = IAND(data_tmp, mask_left(26))
24291 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24292 678358 : ipack = ipack + 1
24293 678358 : packed_data(ipack) = pack_tmp
24294 678358 : data_tmp = full_data(idata)
24295 678358 : pack_tmp = ISHFT(data_tmp, 57)
24296 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24297 678358 : idata = idata + 1
24298 678358 : data_tmp = full_data(idata)
24299 678358 : data_tmp = ISHFT(data_tmp, 31)
24300 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24301 678358 : pack_tmp = ISHFT(pack_tmp, -24)
24302 678358 : idata = idata + 1
24303 678358 : data_tmp = full_data(idata)
24304 678358 : data_tmp = ISHFT(data_tmp, 31)
24305 678358 : data_tmp = IAND(data_tmp, mask_left(24))
24306 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24307 678358 : ipack = ipack + 1
24308 678358 : packed_data(ipack) = pack_tmp
24309 678358 : data_tmp = full_data(idata)
24310 678358 : pack_tmp = ISHFT(data_tmp, 55)
24311 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24312 678358 : idata = idata + 1
24313 678358 : data_tmp = full_data(idata)
24314 678358 : data_tmp = ISHFT(data_tmp, 31)
24315 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24316 678358 : pack_tmp = ISHFT(pack_tmp, -22)
24317 678358 : idata = idata + 1
24318 678358 : data_tmp = full_data(idata)
24319 678358 : data_tmp = ISHFT(data_tmp, 31)
24320 678358 : data_tmp = IAND(data_tmp, mask_left(22))
24321 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24322 678358 : ipack = ipack + 1
24323 678358 : packed_data(ipack) = pack_tmp
24324 678358 : data_tmp = full_data(idata)
24325 678358 : pack_tmp = ISHFT(data_tmp, 53)
24326 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24327 678358 : idata = idata + 1
24328 678358 : data_tmp = full_data(idata)
24329 678358 : data_tmp = ISHFT(data_tmp, 31)
24330 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24331 678358 : pack_tmp = ISHFT(pack_tmp, -20)
24332 678358 : idata = idata + 1
24333 678358 : data_tmp = full_data(idata)
24334 678358 : data_tmp = ISHFT(data_tmp, 31)
24335 678358 : data_tmp = IAND(data_tmp, mask_left(20))
24336 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24337 678358 : ipack = ipack + 1
24338 678358 : packed_data(ipack) = pack_tmp
24339 678358 : data_tmp = full_data(idata)
24340 678358 : pack_tmp = ISHFT(data_tmp, 51)
24341 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24342 678358 : idata = idata + 1
24343 678358 : data_tmp = full_data(idata)
24344 678358 : data_tmp = ISHFT(data_tmp, 31)
24345 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24346 678358 : pack_tmp = ISHFT(pack_tmp, -18)
24347 678358 : idata = idata + 1
24348 678358 : data_tmp = full_data(idata)
24349 678358 : data_tmp = ISHFT(data_tmp, 31)
24350 678358 : data_tmp = IAND(data_tmp, mask_left(18))
24351 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24352 678358 : ipack = ipack + 1
24353 678358 : packed_data(ipack) = pack_tmp
24354 678358 : data_tmp = full_data(idata)
24355 678358 : pack_tmp = ISHFT(data_tmp, 49)
24356 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24357 678358 : idata = idata + 1
24358 678358 : data_tmp = full_data(idata)
24359 678358 : data_tmp = ISHFT(data_tmp, 31)
24360 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24361 678358 : pack_tmp = ISHFT(pack_tmp, -16)
24362 678358 : idata = idata + 1
24363 678358 : data_tmp = full_data(idata)
24364 678358 : data_tmp = ISHFT(data_tmp, 31)
24365 678358 : data_tmp = IAND(data_tmp, mask_left(16))
24366 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24367 678358 : ipack = ipack + 1
24368 678358 : packed_data(ipack) = pack_tmp
24369 678358 : data_tmp = full_data(idata)
24370 678358 : pack_tmp = ISHFT(data_tmp, 47)
24371 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24372 678358 : idata = idata + 1
24373 678358 : data_tmp = full_data(idata)
24374 678358 : data_tmp = ISHFT(data_tmp, 31)
24375 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24376 678358 : pack_tmp = ISHFT(pack_tmp, -14)
24377 678358 : idata = idata + 1
24378 678358 : data_tmp = full_data(idata)
24379 678358 : data_tmp = ISHFT(data_tmp, 31)
24380 678358 : data_tmp = IAND(data_tmp, mask_left(14))
24381 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24382 678358 : ipack = ipack + 1
24383 678358 : packed_data(ipack) = pack_tmp
24384 678358 : data_tmp = full_data(idata)
24385 678358 : pack_tmp = ISHFT(data_tmp, 45)
24386 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24387 678358 : idata = idata + 1
24388 678358 : data_tmp = full_data(idata)
24389 678358 : data_tmp = ISHFT(data_tmp, 31)
24390 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24391 678358 : pack_tmp = ISHFT(pack_tmp, -12)
24392 678358 : idata = idata + 1
24393 678358 : data_tmp = full_data(idata)
24394 678358 : data_tmp = ISHFT(data_tmp, 31)
24395 678358 : data_tmp = IAND(data_tmp, mask_left(12))
24396 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24397 678358 : ipack = ipack + 1
24398 678358 : packed_data(ipack) = pack_tmp
24399 678358 : data_tmp = full_data(idata)
24400 678358 : pack_tmp = ISHFT(data_tmp, 43)
24401 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24402 678358 : idata = idata + 1
24403 678358 : data_tmp = full_data(idata)
24404 678358 : data_tmp = ISHFT(data_tmp, 31)
24405 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24406 678358 : pack_tmp = ISHFT(pack_tmp, -10)
24407 678358 : idata = idata + 1
24408 678358 : data_tmp = full_data(idata)
24409 678358 : data_tmp = ISHFT(data_tmp, 31)
24410 678358 : data_tmp = IAND(data_tmp, mask_left(10))
24411 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24412 678358 : ipack = ipack + 1
24413 678358 : packed_data(ipack) = pack_tmp
24414 678358 : data_tmp = full_data(idata)
24415 678358 : pack_tmp = ISHFT(data_tmp, 41)
24416 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24417 678358 : idata = idata + 1
24418 678358 : data_tmp = full_data(idata)
24419 678358 : data_tmp = ISHFT(data_tmp, 31)
24420 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24421 678358 : pack_tmp = ISHFT(pack_tmp, -8)
24422 678358 : idata = idata + 1
24423 678358 : data_tmp = full_data(idata)
24424 678358 : data_tmp = ISHFT(data_tmp, 31)
24425 678358 : data_tmp = IAND(data_tmp, mask_left(8))
24426 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24427 678358 : ipack = ipack + 1
24428 678358 : packed_data(ipack) = pack_tmp
24429 678358 : data_tmp = full_data(idata)
24430 678358 : pack_tmp = ISHFT(data_tmp, 39)
24431 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24432 678358 : idata = idata + 1
24433 678358 : data_tmp = full_data(idata)
24434 678358 : data_tmp = ISHFT(data_tmp, 31)
24435 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24436 678358 : pack_tmp = ISHFT(pack_tmp, -6)
24437 678358 : idata = idata + 1
24438 678358 : data_tmp = full_data(idata)
24439 678358 : data_tmp = ISHFT(data_tmp, 31)
24440 678358 : data_tmp = IAND(data_tmp, mask_left(6))
24441 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24442 678358 : ipack = ipack + 1
24443 678358 : packed_data(ipack) = pack_tmp
24444 678358 : data_tmp = full_data(idata)
24445 678358 : pack_tmp = ISHFT(data_tmp, 37)
24446 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24447 678358 : idata = idata + 1
24448 678358 : data_tmp = full_data(idata)
24449 678358 : data_tmp = ISHFT(data_tmp, 31)
24450 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24451 678358 : pack_tmp = ISHFT(pack_tmp, -4)
24452 678358 : idata = idata + 1
24453 678358 : data_tmp = full_data(idata)
24454 678358 : data_tmp = ISHFT(data_tmp, 31)
24455 678358 : data_tmp = IAND(data_tmp, mask_left(4))
24456 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24457 678358 : ipack = ipack + 1
24458 678358 : packed_data(ipack) = pack_tmp
24459 678358 : data_tmp = full_data(idata)
24460 678358 : pack_tmp = ISHFT(data_tmp, 35)
24461 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24462 678358 : idata = idata + 1
24463 678358 : data_tmp = full_data(idata)
24464 678358 : data_tmp = ISHFT(data_tmp, 31)
24465 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24466 678358 : pack_tmp = ISHFT(pack_tmp, -2)
24467 678358 : idata = idata + 1
24468 678358 : data_tmp = full_data(idata)
24469 678358 : data_tmp = ISHFT(data_tmp, 31)
24470 678358 : data_tmp = IAND(data_tmp, mask_left(2))
24471 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24472 678358 : ipack = ipack + 1
24473 678358 : packed_data(ipack) = pack_tmp
24474 678358 : data_tmp = full_data(idata)
24475 678358 : pack_tmp = ISHFT(data_tmp, 33)
24476 678358 : pack_tmp = ISHFT(pack_tmp, -33)
24477 678358 : idata = idata + 1
24478 678358 : data_tmp = full_data(idata)
24479 678358 : data_tmp = ISHFT(data_tmp, 31)
24480 678358 : pack_tmp = IOR(pack_tmp, data_tmp)
24481 : pack_tmp = ISHFT(pack_tmp, 0)
24482 678358 : pack_tmp = ISHFT(pack_tmp, 0)
24483 678358 : ipack = ipack + 1
24484 681315 : packed_data(ipack) = pack_tmp
24485 : END DO
24486 53526 : IF (Ndata_rep < Ndata) THEN
24487 20948 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24488 : END IF
24489 53526 : END SUBROUTINE ints2bits_33
24490 :
24491 : ! **************************************************************************************************
24492 : !> \brief ...
24493 : !> \param Ndata ...
24494 : !> \param packed_data ...
24495 : !> \param full_data ...
24496 : ! **************************************************************************************************
24497 265947 : 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 265947 : ipack = 0
24508 265947 : idata = 0
24509 265947 : pack_tmp = 0
24510 265947 : Ndata_rep = (Ndata/64)*64
24511 265947 : DO kdata = 1, Ndata_rep, 64
24512 3226669 : idata = idata + 1
24513 3226669 : data_tmp = ISHFT(pack_tmp, 33)
24514 3226669 : ipack = ipack + 1
24515 3226669 : pack_tmp = packed_data(ipack)
24516 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
24517 3226669 : pack_tmp = ISHFT(pack_tmp, -33)
24518 3226669 : idata = idata + 1
24519 3226669 : data_tmp = ISHFT(pack_tmp, 2)
24520 3226669 : ipack = ipack + 1
24521 3226669 : pack_tmp = packed_data(ipack)
24522 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
24523 3226669 : pack_tmp = ISHFT(pack_tmp, -2)
24524 3226669 : idata = idata + 1
24525 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24526 3226669 : full_data(idata) = data_tmp
24527 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24528 3226669 : idata = idata + 1
24529 3226669 : data_tmp = ISHFT(pack_tmp, 4)
24530 3226669 : ipack = ipack + 1
24531 3226669 : pack_tmp = packed_data(ipack)
24532 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
24533 3226669 : pack_tmp = ISHFT(pack_tmp, -4)
24534 3226669 : idata = idata + 1
24535 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24536 3226669 : full_data(idata) = data_tmp
24537 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24538 3226669 : idata = idata + 1
24539 3226669 : data_tmp = ISHFT(pack_tmp, 6)
24540 3226669 : ipack = ipack + 1
24541 3226669 : pack_tmp = packed_data(ipack)
24542 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
24543 3226669 : pack_tmp = ISHFT(pack_tmp, -6)
24544 3226669 : idata = idata + 1
24545 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24546 3226669 : full_data(idata) = data_tmp
24547 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24548 3226669 : idata = idata + 1
24549 3226669 : data_tmp = ISHFT(pack_tmp, 8)
24550 3226669 : ipack = ipack + 1
24551 3226669 : pack_tmp = packed_data(ipack)
24552 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
24553 3226669 : pack_tmp = ISHFT(pack_tmp, -8)
24554 3226669 : idata = idata + 1
24555 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24556 3226669 : full_data(idata) = data_tmp
24557 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24558 3226669 : idata = idata + 1
24559 3226669 : data_tmp = ISHFT(pack_tmp, 10)
24560 3226669 : ipack = ipack + 1
24561 3226669 : pack_tmp = packed_data(ipack)
24562 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
24563 3226669 : pack_tmp = ISHFT(pack_tmp, -10)
24564 3226669 : idata = idata + 1
24565 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24566 3226669 : full_data(idata) = data_tmp
24567 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24568 3226669 : idata = idata + 1
24569 3226669 : data_tmp = ISHFT(pack_tmp, 12)
24570 3226669 : ipack = ipack + 1
24571 3226669 : pack_tmp = packed_data(ipack)
24572 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
24573 3226669 : pack_tmp = ISHFT(pack_tmp, -12)
24574 3226669 : idata = idata + 1
24575 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24576 3226669 : full_data(idata) = data_tmp
24577 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24578 3226669 : idata = idata + 1
24579 3226669 : data_tmp = ISHFT(pack_tmp, 14)
24580 3226669 : ipack = ipack + 1
24581 3226669 : pack_tmp = packed_data(ipack)
24582 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
24583 3226669 : pack_tmp = ISHFT(pack_tmp, -14)
24584 3226669 : idata = idata + 1
24585 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24586 3226669 : full_data(idata) = data_tmp
24587 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24588 3226669 : idata = idata + 1
24589 3226669 : data_tmp = ISHFT(pack_tmp, 16)
24590 3226669 : ipack = ipack + 1
24591 3226669 : pack_tmp = packed_data(ipack)
24592 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
24593 3226669 : pack_tmp = ISHFT(pack_tmp, -16)
24594 3226669 : idata = idata + 1
24595 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24596 3226669 : full_data(idata) = data_tmp
24597 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24598 3226669 : idata = idata + 1
24599 3226669 : data_tmp = ISHFT(pack_tmp, 18)
24600 3226669 : ipack = ipack + 1
24601 3226669 : pack_tmp = packed_data(ipack)
24602 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
24603 3226669 : pack_tmp = ISHFT(pack_tmp, -18)
24604 3226669 : idata = idata + 1
24605 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24606 3226669 : full_data(idata) = data_tmp
24607 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24608 3226669 : idata = idata + 1
24609 3226669 : data_tmp = ISHFT(pack_tmp, 20)
24610 3226669 : ipack = ipack + 1
24611 3226669 : pack_tmp = packed_data(ipack)
24612 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
24613 3226669 : pack_tmp = ISHFT(pack_tmp, -20)
24614 3226669 : idata = idata + 1
24615 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24616 3226669 : full_data(idata) = data_tmp
24617 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24618 3226669 : idata = idata + 1
24619 3226669 : data_tmp = ISHFT(pack_tmp, 22)
24620 3226669 : ipack = ipack + 1
24621 3226669 : pack_tmp = packed_data(ipack)
24622 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
24623 3226669 : pack_tmp = ISHFT(pack_tmp, -22)
24624 3226669 : idata = idata + 1
24625 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24626 3226669 : full_data(idata) = data_tmp
24627 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24628 3226669 : idata = idata + 1
24629 3226669 : data_tmp = ISHFT(pack_tmp, 24)
24630 3226669 : ipack = ipack + 1
24631 3226669 : pack_tmp = packed_data(ipack)
24632 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
24633 3226669 : pack_tmp = ISHFT(pack_tmp, -24)
24634 3226669 : idata = idata + 1
24635 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24636 3226669 : full_data(idata) = data_tmp
24637 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24638 3226669 : idata = idata + 1
24639 3226669 : data_tmp = ISHFT(pack_tmp, 26)
24640 3226669 : ipack = ipack + 1
24641 3226669 : pack_tmp = packed_data(ipack)
24642 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
24643 3226669 : pack_tmp = ISHFT(pack_tmp, -26)
24644 3226669 : idata = idata + 1
24645 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24646 3226669 : full_data(idata) = data_tmp
24647 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24648 3226669 : idata = idata + 1
24649 3226669 : data_tmp = ISHFT(pack_tmp, 28)
24650 3226669 : ipack = ipack + 1
24651 3226669 : pack_tmp = packed_data(ipack)
24652 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
24653 3226669 : pack_tmp = ISHFT(pack_tmp, -28)
24654 3226669 : idata = idata + 1
24655 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24656 3226669 : full_data(idata) = data_tmp
24657 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24658 3226669 : idata = idata + 1
24659 3226669 : data_tmp = ISHFT(pack_tmp, 30)
24660 3226669 : ipack = ipack + 1
24661 3226669 : pack_tmp = packed_data(ipack)
24662 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
24663 3226669 : pack_tmp = ISHFT(pack_tmp, -30)
24664 3226669 : idata = idata + 1
24665 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24666 3226669 : full_data(idata) = data_tmp
24667 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24668 3226669 : idata = idata + 1
24669 3226669 : data_tmp = ISHFT(pack_tmp, 32)
24670 3226669 : ipack = ipack + 1
24671 3226669 : pack_tmp = packed_data(ipack)
24672 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
24673 3226669 : pack_tmp = ISHFT(pack_tmp, -32)
24674 3226669 : idata = idata + 1
24675 3226669 : data_tmp = ISHFT(pack_tmp, 1)
24676 3226669 : ipack = ipack + 1
24677 3226669 : pack_tmp = packed_data(ipack)
24678 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
24679 3226669 : pack_tmp = ISHFT(pack_tmp, -1)
24680 3226669 : idata = idata + 1
24681 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24682 3226669 : full_data(idata) = data_tmp
24683 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24684 3226669 : idata = idata + 1
24685 3226669 : data_tmp = ISHFT(pack_tmp, 3)
24686 3226669 : ipack = ipack + 1
24687 3226669 : pack_tmp = packed_data(ipack)
24688 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
24689 3226669 : pack_tmp = ISHFT(pack_tmp, -3)
24690 3226669 : idata = idata + 1
24691 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24692 3226669 : full_data(idata) = data_tmp
24693 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24694 3226669 : idata = idata + 1
24695 3226669 : data_tmp = ISHFT(pack_tmp, 5)
24696 3226669 : ipack = ipack + 1
24697 3226669 : pack_tmp = packed_data(ipack)
24698 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
24699 3226669 : pack_tmp = ISHFT(pack_tmp, -5)
24700 3226669 : idata = idata + 1
24701 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24702 3226669 : full_data(idata) = data_tmp
24703 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24704 3226669 : idata = idata + 1
24705 3226669 : data_tmp = ISHFT(pack_tmp, 7)
24706 3226669 : ipack = ipack + 1
24707 3226669 : pack_tmp = packed_data(ipack)
24708 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
24709 3226669 : pack_tmp = ISHFT(pack_tmp, -7)
24710 3226669 : idata = idata + 1
24711 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24712 3226669 : full_data(idata) = data_tmp
24713 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24714 3226669 : idata = idata + 1
24715 3226669 : data_tmp = ISHFT(pack_tmp, 9)
24716 3226669 : ipack = ipack + 1
24717 3226669 : pack_tmp = packed_data(ipack)
24718 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
24719 3226669 : pack_tmp = ISHFT(pack_tmp, -9)
24720 3226669 : idata = idata + 1
24721 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24722 3226669 : full_data(idata) = data_tmp
24723 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24724 3226669 : idata = idata + 1
24725 3226669 : data_tmp = ISHFT(pack_tmp, 11)
24726 3226669 : ipack = ipack + 1
24727 3226669 : pack_tmp = packed_data(ipack)
24728 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
24729 3226669 : pack_tmp = ISHFT(pack_tmp, -11)
24730 3226669 : idata = idata + 1
24731 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24732 3226669 : full_data(idata) = data_tmp
24733 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24734 3226669 : idata = idata + 1
24735 3226669 : data_tmp = ISHFT(pack_tmp, 13)
24736 3226669 : ipack = ipack + 1
24737 3226669 : pack_tmp = packed_data(ipack)
24738 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
24739 3226669 : pack_tmp = ISHFT(pack_tmp, -13)
24740 3226669 : idata = idata + 1
24741 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24742 3226669 : full_data(idata) = data_tmp
24743 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24744 3226669 : idata = idata + 1
24745 3226669 : data_tmp = ISHFT(pack_tmp, 15)
24746 3226669 : ipack = ipack + 1
24747 3226669 : pack_tmp = packed_data(ipack)
24748 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
24749 3226669 : pack_tmp = ISHFT(pack_tmp, -15)
24750 3226669 : idata = idata + 1
24751 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24752 3226669 : full_data(idata) = data_tmp
24753 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24754 3226669 : idata = idata + 1
24755 3226669 : data_tmp = ISHFT(pack_tmp, 17)
24756 3226669 : ipack = ipack + 1
24757 3226669 : pack_tmp = packed_data(ipack)
24758 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
24759 3226669 : pack_tmp = ISHFT(pack_tmp, -17)
24760 3226669 : idata = idata + 1
24761 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24762 3226669 : full_data(idata) = data_tmp
24763 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24764 3226669 : idata = idata + 1
24765 3226669 : data_tmp = ISHFT(pack_tmp, 19)
24766 3226669 : ipack = ipack + 1
24767 3226669 : pack_tmp = packed_data(ipack)
24768 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
24769 3226669 : pack_tmp = ISHFT(pack_tmp, -19)
24770 3226669 : idata = idata + 1
24771 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24772 3226669 : full_data(idata) = data_tmp
24773 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24774 3226669 : idata = idata + 1
24775 3226669 : data_tmp = ISHFT(pack_tmp, 21)
24776 3226669 : ipack = ipack + 1
24777 3226669 : pack_tmp = packed_data(ipack)
24778 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
24779 3226669 : pack_tmp = ISHFT(pack_tmp, -21)
24780 3226669 : idata = idata + 1
24781 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24782 3226669 : full_data(idata) = data_tmp
24783 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24784 3226669 : idata = idata + 1
24785 3226669 : data_tmp = ISHFT(pack_tmp, 23)
24786 3226669 : ipack = ipack + 1
24787 3226669 : pack_tmp = packed_data(ipack)
24788 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
24789 3226669 : pack_tmp = ISHFT(pack_tmp, -23)
24790 3226669 : idata = idata + 1
24791 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24792 3226669 : full_data(idata) = data_tmp
24793 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24794 3226669 : idata = idata + 1
24795 3226669 : data_tmp = ISHFT(pack_tmp, 25)
24796 3226669 : ipack = ipack + 1
24797 3226669 : pack_tmp = packed_data(ipack)
24798 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
24799 3226669 : pack_tmp = ISHFT(pack_tmp, -25)
24800 3226669 : idata = idata + 1
24801 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24802 3226669 : full_data(idata) = data_tmp
24803 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24804 3226669 : idata = idata + 1
24805 3226669 : data_tmp = ISHFT(pack_tmp, 27)
24806 3226669 : ipack = ipack + 1
24807 3226669 : pack_tmp = packed_data(ipack)
24808 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
24809 3226669 : pack_tmp = ISHFT(pack_tmp, -27)
24810 3226669 : idata = idata + 1
24811 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24812 3226669 : full_data(idata) = data_tmp
24813 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24814 3226669 : idata = idata + 1
24815 3226669 : data_tmp = ISHFT(pack_tmp, 29)
24816 3226669 : ipack = ipack + 1
24817 3226669 : pack_tmp = packed_data(ipack)
24818 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
24819 3226669 : pack_tmp = ISHFT(pack_tmp, -29)
24820 3226669 : idata = idata + 1
24821 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24822 3226669 : full_data(idata) = data_tmp
24823 3226669 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24824 3226669 : idata = idata + 1
24825 3226669 : data_tmp = ISHFT(pack_tmp, 31)
24826 3226669 : ipack = ipack + 1
24827 3226669 : pack_tmp = packed_data(ipack)
24828 3226669 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
24829 3226669 : pack_tmp = ISHFT(pack_tmp, -31)
24830 3226669 : idata = idata + 1
24831 3226669 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24832 3226669 : full_data(idata) = data_tmp
24833 3244393 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24834 : END DO
24835 265947 : IF (Ndata_rep < Ndata) THEN
24836 120998 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24837 : END IF
24838 265947 : END SUBROUTINE bits2ints_33
24839 :
24840 : ! **************************************************************************************************
24841 : !> \brief ...
24842 : !> \param Ndata ...
24843 : !> \param packed_data ...
24844 : !> \param full_data ...
24845 : ! **************************************************************************************************
24846 46935 : 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 46935 : idata = 0
24857 46935 : ipack = 0
24858 46935 : Ndata_rep = (Ndata/64)*64
24859 46935 : DO kdata = 1, Ndata_rep, 64
24860 611949 : pack_tmp = 0
24861 611949 : idata = idata + 1
24862 611949 : data_tmp = full_data(idata)
24863 611949 : data_tmp = ISHFT(data_tmp, 30)
24864 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24865 611949 : pack_tmp = ISHFT(pack_tmp, -30)
24866 611949 : idata = idata + 1
24867 611949 : data_tmp = full_data(idata)
24868 611949 : data_tmp = ISHFT(data_tmp, 30)
24869 611949 : data_tmp = IAND(data_tmp, mask_left(30))
24870 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24871 611949 : ipack = ipack + 1
24872 611949 : packed_data(ipack) = pack_tmp
24873 611949 : data_tmp = full_data(idata)
24874 611949 : pack_tmp = ISHFT(data_tmp, 60)
24875 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24876 611949 : idata = idata + 1
24877 611949 : data_tmp = full_data(idata)
24878 611949 : data_tmp = ISHFT(data_tmp, 30)
24879 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24880 611949 : pack_tmp = ISHFT(pack_tmp, -26)
24881 611949 : idata = idata + 1
24882 611949 : data_tmp = full_data(idata)
24883 611949 : data_tmp = ISHFT(data_tmp, 30)
24884 611949 : data_tmp = IAND(data_tmp, mask_left(26))
24885 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24886 611949 : ipack = ipack + 1
24887 611949 : packed_data(ipack) = pack_tmp
24888 611949 : data_tmp = full_data(idata)
24889 611949 : pack_tmp = ISHFT(data_tmp, 56)
24890 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24891 611949 : idata = idata + 1
24892 611949 : data_tmp = full_data(idata)
24893 611949 : data_tmp = ISHFT(data_tmp, 30)
24894 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24895 611949 : pack_tmp = ISHFT(pack_tmp, -22)
24896 611949 : idata = idata + 1
24897 611949 : data_tmp = full_data(idata)
24898 611949 : data_tmp = ISHFT(data_tmp, 30)
24899 611949 : data_tmp = IAND(data_tmp, mask_left(22))
24900 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24901 611949 : ipack = ipack + 1
24902 611949 : packed_data(ipack) = pack_tmp
24903 611949 : data_tmp = full_data(idata)
24904 611949 : pack_tmp = ISHFT(data_tmp, 52)
24905 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24906 611949 : idata = idata + 1
24907 611949 : data_tmp = full_data(idata)
24908 611949 : data_tmp = ISHFT(data_tmp, 30)
24909 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24910 611949 : pack_tmp = ISHFT(pack_tmp, -18)
24911 611949 : idata = idata + 1
24912 611949 : data_tmp = full_data(idata)
24913 611949 : data_tmp = ISHFT(data_tmp, 30)
24914 611949 : data_tmp = IAND(data_tmp, mask_left(18))
24915 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24916 611949 : ipack = ipack + 1
24917 611949 : packed_data(ipack) = pack_tmp
24918 611949 : data_tmp = full_data(idata)
24919 611949 : pack_tmp = ISHFT(data_tmp, 48)
24920 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24921 611949 : idata = idata + 1
24922 611949 : data_tmp = full_data(idata)
24923 611949 : data_tmp = ISHFT(data_tmp, 30)
24924 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24925 611949 : pack_tmp = ISHFT(pack_tmp, -14)
24926 611949 : idata = idata + 1
24927 611949 : data_tmp = full_data(idata)
24928 611949 : data_tmp = ISHFT(data_tmp, 30)
24929 611949 : data_tmp = IAND(data_tmp, mask_left(14))
24930 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24931 611949 : ipack = ipack + 1
24932 611949 : packed_data(ipack) = pack_tmp
24933 611949 : data_tmp = full_data(idata)
24934 611949 : pack_tmp = ISHFT(data_tmp, 44)
24935 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24936 611949 : idata = idata + 1
24937 611949 : data_tmp = full_data(idata)
24938 611949 : data_tmp = ISHFT(data_tmp, 30)
24939 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24940 611949 : pack_tmp = ISHFT(pack_tmp, -10)
24941 611949 : idata = idata + 1
24942 611949 : data_tmp = full_data(idata)
24943 611949 : data_tmp = ISHFT(data_tmp, 30)
24944 611949 : data_tmp = IAND(data_tmp, mask_left(10))
24945 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24946 611949 : ipack = ipack + 1
24947 611949 : packed_data(ipack) = pack_tmp
24948 611949 : data_tmp = full_data(idata)
24949 611949 : pack_tmp = ISHFT(data_tmp, 40)
24950 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24951 611949 : idata = idata + 1
24952 611949 : data_tmp = full_data(idata)
24953 611949 : data_tmp = ISHFT(data_tmp, 30)
24954 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24955 611949 : pack_tmp = ISHFT(pack_tmp, -6)
24956 611949 : idata = idata + 1
24957 611949 : data_tmp = full_data(idata)
24958 611949 : data_tmp = ISHFT(data_tmp, 30)
24959 611949 : data_tmp = IAND(data_tmp, mask_left(6))
24960 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24961 611949 : ipack = ipack + 1
24962 611949 : packed_data(ipack) = pack_tmp
24963 611949 : data_tmp = full_data(idata)
24964 611949 : pack_tmp = ISHFT(data_tmp, 36)
24965 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24966 611949 : idata = idata + 1
24967 611949 : data_tmp = full_data(idata)
24968 611949 : data_tmp = ISHFT(data_tmp, 30)
24969 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24970 611949 : pack_tmp = ISHFT(pack_tmp, -2)
24971 611949 : idata = idata + 1
24972 611949 : data_tmp = full_data(idata)
24973 611949 : data_tmp = ISHFT(data_tmp, 30)
24974 611949 : data_tmp = IAND(data_tmp, mask_left(2))
24975 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24976 611949 : ipack = ipack + 1
24977 611949 : packed_data(ipack) = pack_tmp
24978 611949 : data_tmp = full_data(idata)
24979 611949 : pack_tmp = ISHFT(data_tmp, 32)
24980 611949 : pack_tmp = ISHFT(pack_tmp, -32)
24981 611949 : idata = idata + 1
24982 611949 : data_tmp = full_data(idata)
24983 611949 : data_tmp = ISHFT(data_tmp, 30)
24984 611949 : data_tmp = IAND(data_tmp, mask_left(32))
24985 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24986 611949 : ipack = ipack + 1
24987 611949 : packed_data(ipack) = pack_tmp
24988 611949 : data_tmp = full_data(idata)
24989 611949 : pack_tmp = ISHFT(data_tmp, 62)
24990 611949 : pack_tmp = ISHFT(pack_tmp, -34)
24991 611949 : idata = idata + 1
24992 611949 : data_tmp = full_data(idata)
24993 611949 : data_tmp = ISHFT(data_tmp, 30)
24994 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
24995 611949 : pack_tmp = ISHFT(pack_tmp, -28)
24996 611949 : idata = idata + 1
24997 611949 : data_tmp = full_data(idata)
24998 611949 : data_tmp = ISHFT(data_tmp, 30)
24999 611949 : data_tmp = IAND(data_tmp, mask_left(28))
25000 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25001 611949 : ipack = ipack + 1
25002 611949 : packed_data(ipack) = pack_tmp
25003 611949 : data_tmp = full_data(idata)
25004 611949 : pack_tmp = ISHFT(data_tmp, 58)
25005 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25006 611949 : idata = idata + 1
25007 611949 : data_tmp = full_data(idata)
25008 611949 : data_tmp = ISHFT(data_tmp, 30)
25009 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25010 611949 : pack_tmp = ISHFT(pack_tmp, -24)
25011 611949 : idata = idata + 1
25012 611949 : data_tmp = full_data(idata)
25013 611949 : data_tmp = ISHFT(data_tmp, 30)
25014 611949 : data_tmp = IAND(data_tmp, mask_left(24))
25015 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25016 611949 : ipack = ipack + 1
25017 611949 : packed_data(ipack) = pack_tmp
25018 611949 : data_tmp = full_data(idata)
25019 611949 : pack_tmp = ISHFT(data_tmp, 54)
25020 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25021 611949 : idata = idata + 1
25022 611949 : data_tmp = full_data(idata)
25023 611949 : data_tmp = ISHFT(data_tmp, 30)
25024 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25025 611949 : pack_tmp = ISHFT(pack_tmp, -20)
25026 611949 : idata = idata + 1
25027 611949 : data_tmp = full_data(idata)
25028 611949 : data_tmp = ISHFT(data_tmp, 30)
25029 611949 : data_tmp = IAND(data_tmp, mask_left(20))
25030 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25031 611949 : ipack = ipack + 1
25032 611949 : packed_data(ipack) = pack_tmp
25033 611949 : data_tmp = full_data(idata)
25034 611949 : pack_tmp = ISHFT(data_tmp, 50)
25035 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25036 611949 : idata = idata + 1
25037 611949 : data_tmp = full_data(idata)
25038 611949 : data_tmp = ISHFT(data_tmp, 30)
25039 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25040 611949 : pack_tmp = ISHFT(pack_tmp, -16)
25041 611949 : idata = idata + 1
25042 611949 : data_tmp = full_data(idata)
25043 611949 : data_tmp = ISHFT(data_tmp, 30)
25044 611949 : data_tmp = IAND(data_tmp, mask_left(16))
25045 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25046 611949 : ipack = ipack + 1
25047 611949 : packed_data(ipack) = pack_tmp
25048 611949 : data_tmp = full_data(idata)
25049 611949 : pack_tmp = ISHFT(data_tmp, 46)
25050 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25051 611949 : idata = idata + 1
25052 611949 : data_tmp = full_data(idata)
25053 611949 : data_tmp = ISHFT(data_tmp, 30)
25054 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25055 611949 : pack_tmp = ISHFT(pack_tmp, -12)
25056 611949 : idata = idata + 1
25057 611949 : data_tmp = full_data(idata)
25058 611949 : data_tmp = ISHFT(data_tmp, 30)
25059 611949 : data_tmp = IAND(data_tmp, mask_left(12))
25060 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25061 611949 : ipack = ipack + 1
25062 611949 : packed_data(ipack) = pack_tmp
25063 611949 : data_tmp = full_data(idata)
25064 611949 : pack_tmp = ISHFT(data_tmp, 42)
25065 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25066 611949 : idata = idata + 1
25067 611949 : data_tmp = full_data(idata)
25068 611949 : data_tmp = ISHFT(data_tmp, 30)
25069 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25070 611949 : pack_tmp = ISHFT(pack_tmp, -8)
25071 611949 : idata = idata + 1
25072 611949 : data_tmp = full_data(idata)
25073 611949 : data_tmp = ISHFT(data_tmp, 30)
25074 611949 : data_tmp = IAND(data_tmp, mask_left(8))
25075 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25076 611949 : ipack = ipack + 1
25077 611949 : packed_data(ipack) = pack_tmp
25078 611949 : data_tmp = full_data(idata)
25079 611949 : pack_tmp = ISHFT(data_tmp, 38)
25080 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25081 611949 : idata = idata + 1
25082 611949 : data_tmp = full_data(idata)
25083 611949 : data_tmp = ISHFT(data_tmp, 30)
25084 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25085 611949 : pack_tmp = ISHFT(pack_tmp, -4)
25086 611949 : idata = idata + 1
25087 611949 : data_tmp = full_data(idata)
25088 611949 : data_tmp = ISHFT(data_tmp, 30)
25089 611949 : data_tmp = IAND(data_tmp, mask_left(4))
25090 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25091 611949 : ipack = ipack + 1
25092 611949 : packed_data(ipack) = pack_tmp
25093 611949 : data_tmp = full_data(idata)
25094 611949 : pack_tmp = ISHFT(data_tmp, 34)
25095 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25096 611949 : idata = idata + 1
25097 611949 : data_tmp = full_data(idata)
25098 611949 : data_tmp = ISHFT(data_tmp, 30)
25099 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25100 611949 : pack_tmp = ISHFT(pack_tmp, 0)
25101 611949 : idata = idata + 1
25102 611949 : data_tmp = full_data(idata)
25103 : data_tmp = ISHFT(data_tmp, 30)
25104 611949 : data_tmp = IAND(data_tmp, mask_left(0))
25105 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25106 611949 : ipack = ipack + 1
25107 611949 : packed_data(ipack) = pack_tmp
25108 611949 : data_tmp = full_data(idata)
25109 611949 : pack_tmp = ISHFT(data_tmp, 30)
25110 611949 : pack_tmp = ISHFT(pack_tmp, -30)
25111 611949 : idata = idata + 1
25112 611949 : data_tmp = full_data(idata)
25113 611949 : data_tmp = ISHFT(data_tmp, 30)
25114 611949 : data_tmp = IAND(data_tmp, mask_left(30))
25115 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25116 611949 : ipack = ipack + 1
25117 611949 : packed_data(ipack) = pack_tmp
25118 611949 : data_tmp = full_data(idata)
25119 611949 : pack_tmp = ISHFT(data_tmp, 60)
25120 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25121 611949 : idata = idata + 1
25122 611949 : data_tmp = full_data(idata)
25123 611949 : data_tmp = ISHFT(data_tmp, 30)
25124 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25125 611949 : pack_tmp = ISHFT(pack_tmp, -26)
25126 611949 : idata = idata + 1
25127 611949 : data_tmp = full_data(idata)
25128 611949 : data_tmp = ISHFT(data_tmp, 30)
25129 611949 : data_tmp = IAND(data_tmp, mask_left(26))
25130 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25131 611949 : ipack = ipack + 1
25132 611949 : packed_data(ipack) = pack_tmp
25133 611949 : data_tmp = full_data(idata)
25134 611949 : pack_tmp = ISHFT(data_tmp, 56)
25135 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25136 611949 : idata = idata + 1
25137 611949 : data_tmp = full_data(idata)
25138 611949 : data_tmp = ISHFT(data_tmp, 30)
25139 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25140 611949 : pack_tmp = ISHFT(pack_tmp, -22)
25141 611949 : idata = idata + 1
25142 611949 : data_tmp = full_data(idata)
25143 611949 : data_tmp = ISHFT(data_tmp, 30)
25144 611949 : data_tmp = IAND(data_tmp, mask_left(22))
25145 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25146 611949 : ipack = ipack + 1
25147 611949 : packed_data(ipack) = pack_tmp
25148 611949 : data_tmp = full_data(idata)
25149 611949 : pack_tmp = ISHFT(data_tmp, 52)
25150 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25151 611949 : idata = idata + 1
25152 611949 : data_tmp = full_data(idata)
25153 611949 : data_tmp = ISHFT(data_tmp, 30)
25154 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25155 611949 : pack_tmp = ISHFT(pack_tmp, -18)
25156 611949 : idata = idata + 1
25157 611949 : data_tmp = full_data(idata)
25158 611949 : data_tmp = ISHFT(data_tmp, 30)
25159 611949 : data_tmp = IAND(data_tmp, mask_left(18))
25160 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25161 611949 : ipack = ipack + 1
25162 611949 : packed_data(ipack) = pack_tmp
25163 611949 : data_tmp = full_data(idata)
25164 611949 : pack_tmp = ISHFT(data_tmp, 48)
25165 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25166 611949 : idata = idata + 1
25167 611949 : data_tmp = full_data(idata)
25168 611949 : data_tmp = ISHFT(data_tmp, 30)
25169 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25170 611949 : pack_tmp = ISHFT(pack_tmp, -14)
25171 611949 : idata = idata + 1
25172 611949 : data_tmp = full_data(idata)
25173 611949 : data_tmp = ISHFT(data_tmp, 30)
25174 611949 : data_tmp = IAND(data_tmp, mask_left(14))
25175 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25176 611949 : ipack = ipack + 1
25177 611949 : packed_data(ipack) = pack_tmp
25178 611949 : data_tmp = full_data(idata)
25179 611949 : pack_tmp = ISHFT(data_tmp, 44)
25180 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25181 611949 : idata = idata + 1
25182 611949 : data_tmp = full_data(idata)
25183 611949 : data_tmp = ISHFT(data_tmp, 30)
25184 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25185 611949 : pack_tmp = ISHFT(pack_tmp, -10)
25186 611949 : idata = idata + 1
25187 611949 : data_tmp = full_data(idata)
25188 611949 : data_tmp = ISHFT(data_tmp, 30)
25189 611949 : data_tmp = IAND(data_tmp, mask_left(10))
25190 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25191 611949 : ipack = ipack + 1
25192 611949 : packed_data(ipack) = pack_tmp
25193 611949 : data_tmp = full_data(idata)
25194 611949 : pack_tmp = ISHFT(data_tmp, 40)
25195 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25196 611949 : idata = idata + 1
25197 611949 : data_tmp = full_data(idata)
25198 611949 : data_tmp = ISHFT(data_tmp, 30)
25199 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25200 611949 : pack_tmp = ISHFT(pack_tmp, -6)
25201 611949 : idata = idata + 1
25202 611949 : data_tmp = full_data(idata)
25203 611949 : data_tmp = ISHFT(data_tmp, 30)
25204 611949 : data_tmp = IAND(data_tmp, mask_left(6))
25205 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25206 611949 : ipack = ipack + 1
25207 611949 : packed_data(ipack) = pack_tmp
25208 611949 : data_tmp = full_data(idata)
25209 611949 : pack_tmp = ISHFT(data_tmp, 36)
25210 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25211 611949 : idata = idata + 1
25212 611949 : data_tmp = full_data(idata)
25213 611949 : data_tmp = ISHFT(data_tmp, 30)
25214 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25215 611949 : pack_tmp = ISHFT(pack_tmp, -2)
25216 611949 : idata = idata + 1
25217 611949 : data_tmp = full_data(idata)
25218 611949 : data_tmp = ISHFT(data_tmp, 30)
25219 611949 : data_tmp = IAND(data_tmp, mask_left(2))
25220 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25221 611949 : ipack = ipack + 1
25222 611949 : packed_data(ipack) = pack_tmp
25223 611949 : data_tmp = full_data(idata)
25224 611949 : pack_tmp = ISHFT(data_tmp, 32)
25225 611949 : pack_tmp = ISHFT(pack_tmp, -32)
25226 611949 : idata = idata + 1
25227 611949 : data_tmp = full_data(idata)
25228 611949 : data_tmp = ISHFT(data_tmp, 30)
25229 611949 : data_tmp = IAND(data_tmp, mask_left(32))
25230 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25231 611949 : ipack = ipack + 1
25232 611949 : packed_data(ipack) = pack_tmp
25233 611949 : data_tmp = full_data(idata)
25234 611949 : pack_tmp = ISHFT(data_tmp, 62)
25235 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25236 611949 : idata = idata + 1
25237 611949 : data_tmp = full_data(idata)
25238 611949 : data_tmp = ISHFT(data_tmp, 30)
25239 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25240 611949 : pack_tmp = ISHFT(pack_tmp, -28)
25241 611949 : idata = idata + 1
25242 611949 : data_tmp = full_data(idata)
25243 611949 : data_tmp = ISHFT(data_tmp, 30)
25244 611949 : data_tmp = IAND(data_tmp, mask_left(28))
25245 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25246 611949 : ipack = ipack + 1
25247 611949 : packed_data(ipack) = pack_tmp
25248 611949 : data_tmp = full_data(idata)
25249 611949 : pack_tmp = ISHFT(data_tmp, 58)
25250 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25251 611949 : idata = idata + 1
25252 611949 : data_tmp = full_data(idata)
25253 611949 : data_tmp = ISHFT(data_tmp, 30)
25254 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25255 611949 : pack_tmp = ISHFT(pack_tmp, -24)
25256 611949 : idata = idata + 1
25257 611949 : data_tmp = full_data(idata)
25258 611949 : data_tmp = ISHFT(data_tmp, 30)
25259 611949 : data_tmp = IAND(data_tmp, mask_left(24))
25260 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25261 611949 : ipack = ipack + 1
25262 611949 : packed_data(ipack) = pack_tmp
25263 611949 : data_tmp = full_data(idata)
25264 611949 : pack_tmp = ISHFT(data_tmp, 54)
25265 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25266 611949 : idata = idata + 1
25267 611949 : data_tmp = full_data(idata)
25268 611949 : data_tmp = ISHFT(data_tmp, 30)
25269 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25270 611949 : pack_tmp = ISHFT(pack_tmp, -20)
25271 611949 : idata = idata + 1
25272 611949 : data_tmp = full_data(idata)
25273 611949 : data_tmp = ISHFT(data_tmp, 30)
25274 611949 : data_tmp = IAND(data_tmp, mask_left(20))
25275 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25276 611949 : ipack = ipack + 1
25277 611949 : packed_data(ipack) = pack_tmp
25278 611949 : data_tmp = full_data(idata)
25279 611949 : pack_tmp = ISHFT(data_tmp, 50)
25280 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25281 611949 : idata = idata + 1
25282 611949 : data_tmp = full_data(idata)
25283 611949 : data_tmp = ISHFT(data_tmp, 30)
25284 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25285 611949 : pack_tmp = ISHFT(pack_tmp, -16)
25286 611949 : idata = idata + 1
25287 611949 : data_tmp = full_data(idata)
25288 611949 : data_tmp = ISHFT(data_tmp, 30)
25289 611949 : data_tmp = IAND(data_tmp, mask_left(16))
25290 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25291 611949 : ipack = ipack + 1
25292 611949 : packed_data(ipack) = pack_tmp
25293 611949 : data_tmp = full_data(idata)
25294 611949 : pack_tmp = ISHFT(data_tmp, 46)
25295 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25296 611949 : idata = idata + 1
25297 611949 : data_tmp = full_data(idata)
25298 611949 : data_tmp = ISHFT(data_tmp, 30)
25299 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25300 611949 : pack_tmp = ISHFT(pack_tmp, -12)
25301 611949 : idata = idata + 1
25302 611949 : data_tmp = full_data(idata)
25303 611949 : data_tmp = ISHFT(data_tmp, 30)
25304 611949 : data_tmp = IAND(data_tmp, mask_left(12))
25305 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25306 611949 : ipack = ipack + 1
25307 611949 : packed_data(ipack) = pack_tmp
25308 611949 : data_tmp = full_data(idata)
25309 611949 : pack_tmp = ISHFT(data_tmp, 42)
25310 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25311 611949 : idata = idata + 1
25312 611949 : data_tmp = full_data(idata)
25313 611949 : data_tmp = ISHFT(data_tmp, 30)
25314 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25315 611949 : pack_tmp = ISHFT(pack_tmp, -8)
25316 611949 : idata = idata + 1
25317 611949 : data_tmp = full_data(idata)
25318 611949 : data_tmp = ISHFT(data_tmp, 30)
25319 611949 : data_tmp = IAND(data_tmp, mask_left(8))
25320 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25321 611949 : ipack = ipack + 1
25322 611949 : packed_data(ipack) = pack_tmp
25323 611949 : data_tmp = full_data(idata)
25324 611949 : pack_tmp = ISHFT(data_tmp, 38)
25325 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25326 611949 : idata = idata + 1
25327 611949 : data_tmp = full_data(idata)
25328 611949 : data_tmp = ISHFT(data_tmp, 30)
25329 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25330 611949 : pack_tmp = ISHFT(pack_tmp, -4)
25331 611949 : idata = idata + 1
25332 611949 : data_tmp = full_data(idata)
25333 611949 : data_tmp = ISHFT(data_tmp, 30)
25334 611949 : data_tmp = IAND(data_tmp, mask_left(4))
25335 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25336 611949 : ipack = ipack + 1
25337 611949 : packed_data(ipack) = pack_tmp
25338 611949 : data_tmp = full_data(idata)
25339 611949 : pack_tmp = ISHFT(data_tmp, 34)
25340 611949 : pack_tmp = ISHFT(pack_tmp, -34)
25341 611949 : idata = idata + 1
25342 611949 : data_tmp = full_data(idata)
25343 611949 : data_tmp = ISHFT(data_tmp, 30)
25344 611949 : pack_tmp = IOR(pack_tmp, data_tmp)
25345 : pack_tmp = ISHFT(pack_tmp, 0)
25346 611949 : pack_tmp = ISHFT(pack_tmp, 0)
25347 611949 : ipack = ipack + 1
25348 612217 : packed_data(ipack) = pack_tmp
25349 : END DO
25350 46935 : IF (Ndata_rep < Ndata) THEN
25351 16102 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25352 : END IF
25353 46935 : END SUBROUTINE ints2bits_34
25354 :
25355 : ! **************************************************************************************************
25356 : !> \brief ...
25357 : !> \param Ndata ...
25358 : !> \param packed_data ...
25359 : !> \param full_data ...
25360 : ! **************************************************************************************************
25361 218297 : 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 218297 : ipack = 0
25372 218297 : idata = 0
25373 218297 : pack_tmp = 0
25374 218297 : Ndata_rep = (Ndata/64)*64
25375 218297 : DO kdata = 1, Ndata_rep, 64
25376 2747934 : idata = idata + 1
25377 2747934 : data_tmp = ISHFT(pack_tmp, 34)
25378 2747934 : ipack = ipack + 1
25379 2747934 : pack_tmp = packed_data(ipack)
25380 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25381 2747934 : pack_tmp = ISHFT(pack_tmp, -34)
25382 2747934 : idata = idata + 1
25383 2747934 : data_tmp = ISHFT(pack_tmp, 4)
25384 2747934 : ipack = ipack + 1
25385 2747934 : pack_tmp = packed_data(ipack)
25386 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25387 2747934 : pack_tmp = ISHFT(pack_tmp, -4)
25388 2747934 : idata = idata + 1
25389 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25390 2747934 : full_data(idata) = data_tmp
25391 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25392 2747934 : idata = idata + 1
25393 2747934 : data_tmp = ISHFT(pack_tmp, 8)
25394 2747934 : ipack = ipack + 1
25395 2747934 : pack_tmp = packed_data(ipack)
25396 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25397 2747934 : pack_tmp = ISHFT(pack_tmp, -8)
25398 2747934 : idata = idata + 1
25399 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25400 2747934 : full_data(idata) = data_tmp
25401 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25402 2747934 : idata = idata + 1
25403 2747934 : data_tmp = ISHFT(pack_tmp, 12)
25404 2747934 : ipack = ipack + 1
25405 2747934 : pack_tmp = packed_data(ipack)
25406 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25407 2747934 : pack_tmp = ISHFT(pack_tmp, -12)
25408 2747934 : idata = idata + 1
25409 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25410 2747934 : full_data(idata) = data_tmp
25411 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25412 2747934 : idata = idata + 1
25413 2747934 : data_tmp = ISHFT(pack_tmp, 16)
25414 2747934 : ipack = ipack + 1
25415 2747934 : pack_tmp = packed_data(ipack)
25416 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25417 2747934 : pack_tmp = ISHFT(pack_tmp, -16)
25418 2747934 : idata = idata + 1
25419 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25420 2747934 : full_data(idata) = data_tmp
25421 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25422 2747934 : idata = idata + 1
25423 2747934 : data_tmp = ISHFT(pack_tmp, 20)
25424 2747934 : ipack = ipack + 1
25425 2747934 : pack_tmp = packed_data(ipack)
25426 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25427 2747934 : pack_tmp = ISHFT(pack_tmp, -20)
25428 2747934 : idata = idata + 1
25429 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25430 2747934 : full_data(idata) = data_tmp
25431 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25432 2747934 : idata = idata + 1
25433 2747934 : data_tmp = ISHFT(pack_tmp, 24)
25434 2747934 : ipack = ipack + 1
25435 2747934 : pack_tmp = packed_data(ipack)
25436 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25437 2747934 : pack_tmp = ISHFT(pack_tmp, -24)
25438 2747934 : idata = idata + 1
25439 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25440 2747934 : full_data(idata) = data_tmp
25441 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25442 2747934 : idata = idata + 1
25443 2747934 : data_tmp = ISHFT(pack_tmp, 28)
25444 2747934 : ipack = ipack + 1
25445 2747934 : pack_tmp = packed_data(ipack)
25446 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25447 2747934 : pack_tmp = ISHFT(pack_tmp, -28)
25448 2747934 : idata = idata + 1
25449 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25450 2747934 : full_data(idata) = data_tmp
25451 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25452 2747934 : idata = idata + 1
25453 2747934 : data_tmp = ISHFT(pack_tmp, 32)
25454 2747934 : ipack = ipack + 1
25455 2747934 : pack_tmp = packed_data(ipack)
25456 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25457 2747934 : pack_tmp = ISHFT(pack_tmp, -32)
25458 2747934 : idata = idata + 1
25459 2747934 : data_tmp = ISHFT(pack_tmp, 2)
25460 2747934 : ipack = ipack + 1
25461 2747934 : pack_tmp = packed_data(ipack)
25462 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25463 2747934 : pack_tmp = ISHFT(pack_tmp, -2)
25464 2747934 : idata = idata + 1
25465 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25466 2747934 : full_data(idata) = data_tmp
25467 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25468 2747934 : idata = idata + 1
25469 2747934 : data_tmp = ISHFT(pack_tmp, 6)
25470 2747934 : ipack = ipack + 1
25471 2747934 : pack_tmp = packed_data(ipack)
25472 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25473 2747934 : pack_tmp = ISHFT(pack_tmp, -6)
25474 2747934 : idata = idata + 1
25475 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25476 2747934 : full_data(idata) = data_tmp
25477 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25478 2747934 : idata = idata + 1
25479 2747934 : data_tmp = ISHFT(pack_tmp, 10)
25480 2747934 : ipack = ipack + 1
25481 2747934 : pack_tmp = packed_data(ipack)
25482 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25483 2747934 : pack_tmp = ISHFT(pack_tmp, -10)
25484 2747934 : idata = idata + 1
25485 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25486 2747934 : full_data(idata) = data_tmp
25487 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25488 2747934 : idata = idata + 1
25489 2747934 : data_tmp = ISHFT(pack_tmp, 14)
25490 2747934 : ipack = ipack + 1
25491 2747934 : pack_tmp = packed_data(ipack)
25492 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25493 2747934 : pack_tmp = ISHFT(pack_tmp, -14)
25494 2747934 : idata = idata + 1
25495 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25496 2747934 : full_data(idata) = data_tmp
25497 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25498 2747934 : idata = idata + 1
25499 2747934 : data_tmp = ISHFT(pack_tmp, 18)
25500 2747934 : ipack = ipack + 1
25501 2747934 : pack_tmp = packed_data(ipack)
25502 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25503 2747934 : pack_tmp = ISHFT(pack_tmp, -18)
25504 2747934 : idata = idata + 1
25505 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25506 2747934 : full_data(idata) = data_tmp
25507 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25508 2747934 : idata = idata + 1
25509 2747934 : data_tmp = ISHFT(pack_tmp, 22)
25510 2747934 : ipack = ipack + 1
25511 2747934 : pack_tmp = packed_data(ipack)
25512 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25513 2747934 : pack_tmp = ISHFT(pack_tmp, -22)
25514 2747934 : idata = idata + 1
25515 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25516 2747934 : full_data(idata) = data_tmp
25517 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25518 2747934 : idata = idata + 1
25519 2747934 : data_tmp = ISHFT(pack_tmp, 26)
25520 2747934 : ipack = ipack + 1
25521 2747934 : pack_tmp = packed_data(ipack)
25522 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25523 2747934 : pack_tmp = ISHFT(pack_tmp, -26)
25524 2747934 : idata = idata + 1
25525 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25526 2747934 : full_data(idata) = data_tmp
25527 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25528 2747934 : idata = idata + 1
25529 2747934 : data_tmp = ISHFT(pack_tmp, 30)
25530 2747934 : ipack = ipack + 1
25531 2747934 : pack_tmp = packed_data(ipack)
25532 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25533 2747934 : pack_tmp = ISHFT(pack_tmp, -30)
25534 2747934 : idata = idata + 1
25535 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25536 2747934 : full_data(idata) = data_tmp
25537 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25538 2747934 : idata = idata + 1
25539 2747934 : data_tmp = ISHFT(pack_tmp, 34)
25540 2747934 : ipack = ipack + 1
25541 2747934 : pack_tmp = packed_data(ipack)
25542 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25543 2747934 : pack_tmp = ISHFT(pack_tmp, -34)
25544 2747934 : idata = idata + 1
25545 2747934 : data_tmp = ISHFT(pack_tmp, 4)
25546 2747934 : ipack = ipack + 1
25547 2747934 : pack_tmp = packed_data(ipack)
25548 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25549 2747934 : pack_tmp = ISHFT(pack_tmp, -4)
25550 2747934 : idata = idata + 1
25551 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25552 2747934 : full_data(idata) = data_tmp
25553 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25554 2747934 : idata = idata + 1
25555 2747934 : data_tmp = ISHFT(pack_tmp, 8)
25556 2747934 : ipack = ipack + 1
25557 2747934 : pack_tmp = packed_data(ipack)
25558 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25559 2747934 : pack_tmp = ISHFT(pack_tmp, -8)
25560 2747934 : idata = idata + 1
25561 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25562 2747934 : full_data(idata) = data_tmp
25563 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25564 2747934 : idata = idata + 1
25565 2747934 : data_tmp = ISHFT(pack_tmp, 12)
25566 2747934 : ipack = ipack + 1
25567 2747934 : pack_tmp = packed_data(ipack)
25568 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25569 2747934 : pack_tmp = ISHFT(pack_tmp, -12)
25570 2747934 : idata = idata + 1
25571 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25572 2747934 : full_data(idata) = data_tmp
25573 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25574 2747934 : idata = idata + 1
25575 2747934 : data_tmp = ISHFT(pack_tmp, 16)
25576 2747934 : ipack = ipack + 1
25577 2747934 : pack_tmp = packed_data(ipack)
25578 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25579 2747934 : pack_tmp = ISHFT(pack_tmp, -16)
25580 2747934 : idata = idata + 1
25581 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25582 2747934 : full_data(idata) = data_tmp
25583 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25584 2747934 : idata = idata + 1
25585 2747934 : data_tmp = ISHFT(pack_tmp, 20)
25586 2747934 : ipack = ipack + 1
25587 2747934 : pack_tmp = packed_data(ipack)
25588 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25589 2747934 : pack_tmp = ISHFT(pack_tmp, -20)
25590 2747934 : idata = idata + 1
25591 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25592 2747934 : full_data(idata) = data_tmp
25593 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25594 2747934 : idata = idata + 1
25595 2747934 : data_tmp = ISHFT(pack_tmp, 24)
25596 2747934 : ipack = ipack + 1
25597 2747934 : pack_tmp = packed_data(ipack)
25598 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25599 2747934 : pack_tmp = ISHFT(pack_tmp, -24)
25600 2747934 : idata = idata + 1
25601 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25602 2747934 : full_data(idata) = data_tmp
25603 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25604 2747934 : idata = idata + 1
25605 2747934 : data_tmp = ISHFT(pack_tmp, 28)
25606 2747934 : ipack = ipack + 1
25607 2747934 : pack_tmp = packed_data(ipack)
25608 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25609 2747934 : pack_tmp = ISHFT(pack_tmp, -28)
25610 2747934 : idata = idata + 1
25611 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25612 2747934 : full_data(idata) = data_tmp
25613 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25614 2747934 : idata = idata + 1
25615 2747934 : data_tmp = ISHFT(pack_tmp, 32)
25616 2747934 : ipack = ipack + 1
25617 2747934 : pack_tmp = packed_data(ipack)
25618 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25619 2747934 : pack_tmp = ISHFT(pack_tmp, -32)
25620 2747934 : idata = idata + 1
25621 2747934 : data_tmp = ISHFT(pack_tmp, 2)
25622 2747934 : ipack = ipack + 1
25623 2747934 : pack_tmp = packed_data(ipack)
25624 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25625 2747934 : pack_tmp = ISHFT(pack_tmp, -2)
25626 2747934 : idata = idata + 1
25627 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25628 2747934 : full_data(idata) = data_tmp
25629 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25630 2747934 : idata = idata + 1
25631 2747934 : data_tmp = ISHFT(pack_tmp, 6)
25632 2747934 : ipack = ipack + 1
25633 2747934 : pack_tmp = packed_data(ipack)
25634 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25635 2747934 : pack_tmp = ISHFT(pack_tmp, -6)
25636 2747934 : idata = idata + 1
25637 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25638 2747934 : full_data(idata) = data_tmp
25639 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25640 2747934 : idata = idata + 1
25641 2747934 : data_tmp = ISHFT(pack_tmp, 10)
25642 2747934 : ipack = ipack + 1
25643 2747934 : pack_tmp = packed_data(ipack)
25644 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25645 2747934 : pack_tmp = ISHFT(pack_tmp, -10)
25646 2747934 : idata = idata + 1
25647 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25648 2747934 : full_data(idata) = data_tmp
25649 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25650 2747934 : idata = idata + 1
25651 2747934 : data_tmp = ISHFT(pack_tmp, 14)
25652 2747934 : ipack = ipack + 1
25653 2747934 : pack_tmp = packed_data(ipack)
25654 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25655 2747934 : pack_tmp = ISHFT(pack_tmp, -14)
25656 2747934 : idata = idata + 1
25657 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25658 2747934 : full_data(idata) = data_tmp
25659 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25660 2747934 : idata = idata + 1
25661 2747934 : data_tmp = ISHFT(pack_tmp, 18)
25662 2747934 : ipack = ipack + 1
25663 2747934 : pack_tmp = packed_data(ipack)
25664 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25665 2747934 : pack_tmp = ISHFT(pack_tmp, -18)
25666 2747934 : idata = idata + 1
25667 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25668 2747934 : full_data(idata) = data_tmp
25669 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25670 2747934 : idata = idata + 1
25671 2747934 : data_tmp = ISHFT(pack_tmp, 22)
25672 2747934 : ipack = ipack + 1
25673 2747934 : pack_tmp = packed_data(ipack)
25674 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25675 2747934 : pack_tmp = ISHFT(pack_tmp, -22)
25676 2747934 : idata = idata + 1
25677 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25678 2747934 : full_data(idata) = data_tmp
25679 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25680 2747934 : idata = idata + 1
25681 2747934 : data_tmp = ISHFT(pack_tmp, 26)
25682 2747934 : ipack = ipack + 1
25683 2747934 : pack_tmp = packed_data(ipack)
25684 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25685 2747934 : pack_tmp = ISHFT(pack_tmp, -26)
25686 2747934 : idata = idata + 1
25687 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25688 2747934 : full_data(idata) = data_tmp
25689 2747934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25690 2747934 : idata = idata + 1
25691 2747934 : data_tmp = ISHFT(pack_tmp, 30)
25692 2747934 : ipack = ipack + 1
25693 2747934 : pack_tmp = packed_data(ipack)
25694 2747934 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25695 2747934 : pack_tmp = ISHFT(pack_tmp, -30)
25696 2747934 : idata = idata + 1
25697 2747934 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25698 2747934 : full_data(idata) = data_tmp
25699 2749120 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25700 : END DO
25701 218297 : IF (Ndata_rep < Ndata) THEN
25702 86244 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25703 : END IF
25704 218297 : END SUBROUTINE bits2ints_34
25705 :
25706 : ! **************************************************************************************************
25707 : !> \brief ...
25708 : !> \param Ndata ...
25709 : !> \param packed_data ...
25710 : !> \param full_data ...
25711 : ! **************************************************************************************************
25712 47204 : 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 47204 : idata = 0
25723 47204 : ipack = 0
25724 47204 : Ndata_rep = (Ndata/64)*64
25725 47204 : DO kdata = 1, Ndata_rep, 64
25726 605858 : pack_tmp = 0
25727 605858 : idata = idata + 1
25728 605858 : data_tmp = full_data(idata)
25729 605858 : data_tmp = ISHFT(data_tmp, 29)
25730 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25731 605858 : pack_tmp = ISHFT(pack_tmp, -29)
25732 605858 : idata = idata + 1
25733 605858 : data_tmp = full_data(idata)
25734 605858 : data_tmp = ISHFT(data_tmp, 29)
25735 605858 : data_tmp = IAND(data_tmp, mask_left(29))
25736 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25737 605858 : ipack = ipack + 1
25738 605858 : packed_data(ipack) = pack_tmp
25739 605858 : data_tmp = full_data(idata)
25740 605858 : pack_tmp = ISHFT(data_tmp, 58)
25741 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25742 605858 : idata = idata + 1
25743 605858 : data_tmp = full_data(idata)
25744 605858 : data_tmp = ISHFT(data_tmp, 29)
25745 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25746 605858 : pack_tmp = ISHFT(pack_tmp, -23)
25747 605858 : idata = idata + 1
25748 605858 : data_tmp = full_data(idata)
25749 605858 : data_tmp = ISHFT(data_tmp, 29)
25750 605858 : data_tmp = IAND(data_tmp, mask_left(23))
25751 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25752 605858 : ipack = ipack + 1
25753 605858 : packed_data(ipack) = pack_tmp
25754 605858 : data_tmp = full_data(idata)
25755 605858 : pack_tmp = ISHFT(data_tmp, 52)
25756 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25757 605858 : idata = idata + 1
25758 605858 : data_tmp = full_data(idata)
25759 605858 : data_tmp = ISHFT(data_tmp, 29)
25760 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25761 605858 : pack_tmp = ISHFT(pack_tmp, -17)
25762 605858 : idata = idata + 1
25763 605858 : data_tmp = full_data(idata)
25764 605858 : data_tmp = ISHFT(data_tmp, 29)
25765 605858 : data_tmp = IAND(data_tmp, mask_left(17))
25766 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25767 605858 : ipack = ipack + 1
25768 605858 : packed_data(ipack) = pack_tmp
25769 605858 : data_tmp = full_data(idata)
25770 605858 : pack_tmp = ISHFT(data_tmp, 46)
25771 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25772 605858 : idata = idata + 1
25773 605858 : data_tmp = full_data(idata)
25774 605858 : data_tmp = ISHFT(data_tmp, 29)
25775 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25776 605858 : pack_tmp = ISHFT(pack_tmp, -11)
25777 605858 : idata = idata + 1
25778 605858 : data_tmp = full_data(idata)
25779 605858 : data_tmp = ISHFT(data_tmp, 29)
25780 605858 : data_tmp = IAND(data_tmp, mask_left(11))
25781 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25782 605858 : ipack = ipack + 1
25783 605858 : packed_data(ipack) = pack_tmp
25784 605858 : data_tmp = full_data(idata)
25785 605858 : pack_tmp = ISHFT(data_tmp, 40)
25786 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25787 605858 : idata = idata + 1
25788 605858 : data_tmp = full_data(idata)
25789 605858 : data_tmp = ISHFT(data_tmp, 29)
25790 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25791 605858 : pack_tmp = ISHFT(pack_tmp, -5)
25792 605858 : idata = idata + 1
25793 605858 : data_tmp = full_data(idata)
25794 605858 : data_tmp = ISHFT(data_tmp, 29)
25795 605858 : data_tmp = IAND(data_tmp, mask_left(5))
25796 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25797 605858 : ipack = ipack + 1
25798 605858 : packed_data(ipack) = pack_tmp
25799 605858 : data_tmp = full_data(idata)
25800 605858 : pack_tmp = ISHFT(data_tmp, 34)
25801 605858 : pack_tmp = ISHFT(pack_tmp, -34)
25802 605858 : idata = idata + 1
25803 605858 : data_tmp = full_data(idata)
25804 605858 : data_tmp = ISHFT(data_tmp, 29)
25805 605858 : data_tmp = IAND(data_tmp, mask_left(34))
25806 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25807 605858 : ipack = ipack + 1
25808 605858 : packed_data(ipack) = pack_tmp
25809 605858 : data_tmp = full_data(idata)
25810 605858 : pack_tmp = ISHFT(data_tmp, 63)
25811 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25812 605858 : idata = idata + 1
25813 605858 : data_tmp = full_data(idata)
25814 605858 : data_tmp = ISHFT(data_tmp, 29)
25815 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25816 605858 : pack_tmp = ISHFT(pack_tmp, -28)
25817 605858 : idata = idata + 1
25818 605858 : data_tmp = full_data(idata)
25819 605858 : data_tmp = ISHFT(data_tmp, 29)
25820 605858 : data_tmp = IAND(data_tmp, mask_left(28))
25821 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25822 605858 : ipack = ipack + 1
25823 605858 : packed_data(ipack) = pack_tmp
25824 605858 : data_tmp = full_data(idata)
25825 605858 : pack_tmp = ISHFT(data_tmp, 57)
25826 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25827 605858 : idata = idata + 1
25828 605858 : data_tmp = full_data(idata)
25829 605858 : data_tmp = ISHFT(data_tmp, 29)
25830 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25831 605858 : pack_tmp = ISHFT(pack_tmp, -22)
25832 605858 : idata = idata + 1
25833 605858 : data_tmp = full_data(idata)
25834 605858 : data_tmp = ISHFT(data_tmp, 29)
25835 605858 : data_tmp = IAND(data_tmp, mask_left(22))
25836 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25837 605858 : ipack = ipack + 1
25838 605858 : packed_data(ipack) = pack_tmp
25839 605858 : data_tmp = full_data(idata)
25840 605858 : pack_tmp = ISHFT(data_tmp, 51)
25841 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25842 605858 : idata = idata + 1
25843 605858 : data_tmp = full_data(idata)
25844 605858 : data_tmp = ISHFT(data_tmp, 29)
25845 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25846 605858 : pack_tmp = ISHFT(pack_tmp, -16)
25847 605858 : idata = idata + 1
25848 605858 : data_tmp = full_data(idata)
25849 605858 : data_tmp = ISHFT(data_tmp, 29)
25850 605858 : data_tmp = IAND(data_tmp, mask_left(16))
25851 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25852 605858 : ipack = ipack + 1
25853 605858 : packed_data(ipack) = pack_tmp
25854 605858 : data_tmp = full_data(idata)
25855 605858 : pack_tmp = ISHFT(data_tmp, 45)
25856 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25857 605858 : idata = idata + 1
25858 605858 : data_tmp = full_data(idata)
25859 605858 : data_tmp = ISHFT(data_tmp, 29)
25860 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25861 605858 : pack_tmp = ISHFT(pack_tmp, -10)
25862 605858 : idata = idata + 1
25863 605858 : data_tmp = full_data(idata)
25864 605858 : data_tmp = ISHFT(data_tmp, 29)
25865 605858 : data_tmp = IAND(data_tmp, mask_left(10))
25866 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25867 605858 : ipack = ipack + 1
25868 605858 : packed_data(ipack) = pack_tmp
25869 605858 : data_tmp = full_data(idata)
25870 605858 : pack_tmp = ISHFT(data_tmp, 39)
25871 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25872 605858 : idata = idata + 1
25873 605858 : data_tmp = full_data(idata)
25874 605858 : data_tmp = ISHFT(data_tmp, 29)
25875 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25876 605858 : pack_tmp = ISHFT(pack_tmp, -4)
25877 605858 : idata = idata + 1
25878 605858 : data_tmp = full_data(idata)
25879 605858 : data_tmp = ISHFT(data_tmp, 29)
25880 605858 : data_tmp = IAND(data_tmp, mask_left(4))
25881 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25882 605858 : ipack = ipack + 1
25883 605858 : packed_data(ipack) = pack_tmp
25884 605858 : data_tmp = full_data(idata)
25885 605858 : pack_tmp = ISHFT(data_tmp, 33)
25886 605858 : pack_tmp = ISHFT(pack_tmp, -33)
25887 605858 : idata = idata + 1
25888 605858 : data_tmp = full_data(idata)
25889 605858 : data_tmp = ISHFT(data_tmp, 29)
25890 605858 : data_tmp = IAND(data_tmp, mask_left(33))
25891 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25892 605858 : ipack = ipack + 1
25893 605858 : packed_data(ipack) = pack_tmp
25894 605858 : data_tmp = full_data(idata)
25895 605858 : pack_tmp = ISHFT(data_tmp, 62)
25896 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25897 605858 : idata = idata + 1
25898 605858 : data_tmp = full_data(idata)
25899 605858 : data_tmp = ISHFT(data_tmp, 29)
25900 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25901 605858 : pack_tmp = ISHFT(pack_tmp, -27)
25902 605858 : idata = idata + 1
25903 605858 : data_tmp = full_data(idata)
25904 605858 : data_tmp = ISHFT(data_tmp, 29)
25905 605858 : data_tmp = IAND(data_tmp, mask_left(27))
25906 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25907 605858 : ipack = ipack + 1
25908 605858 : packed_data(ipack) = pack_tmp
25909 605858 : data_tmp = full_data(idata)
25910 605858 : pack_tmp = ISHFT(data_tmp, 56)
25911 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25912 605858 : idata = idata + 1
25913 605858 : data_tmp = full_data(idata)
25914 605858 : data_tmp = ISHFT(data_tmp, 29)
25915 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25916 605858 : pack_tmp = ISHFT(pack_tmp, -21)
25917 605858 : idata = idata + 1
25918 605858 : data_tmp = full_data(idata)
25919 605858 : data_tmp = ISHFT(data_tmp, 29)
25920 605858 : data_tmp = IAND(data_tmp, mask_left(21))
25921 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25922 605858 : ipack = ipack + 1
25923 605858 : packed_data(ipack) = pack_tmp
25924 605858 : data_tmp = full_data(idata)
25925 605858 : pack_tmp = ISHFT(data_tmp, 50)
25926 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25927 605858 : idata = idata + 1
25928 605858 : data_tmp = full_data(idata)
25929 605858 : data_tmp = ISHFT(data_tmp, 29)
25930 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25931 605858 : pack_tmp = ISHFT(pack_tmp, -15)
25932 605858 : idata = idata + 1
25933 605858 : data_tmp = full_data(idata)
25934 605858 : data_tmp = ISHFT(data_tmp, 29)
25935 605858 : data_tmp = IAND(data_tmp, mask_left(15))
25936 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25937 605858 : ipack = ipack + 1
25938 605858 : packed_data(ipack) = pack_tmp
25939 605858 : data_tmp = full_data(idata)
25940 605858 : pack_tmp = ISHFT(data_tmp, 44)
25941 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25942 605858 : idata = idata + 1
25943 605858 : data_tmp = full_data(idata)
25944 605858 : data_tmp = ISHFT(data_tmp, 29)
25945 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25946 605858 : pack_tmp = ISHFT(pack_tmp, -9)
25947 605858 : idata = idata + 1
25948 605858 : data_tmp = full_data(idata)
25949 605858 : data_tmp = ISHFT(data_tmp, 29)
25950 605858 : data_tmp = IAND(data_tmp, mask_left(9))
25951 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25952 605858 : ipack = ipack + 1
25953 605858 : packed_data(ipack) = pack_tmp
25954 605858 : data_tmp = full_data(idata)
25955 605858 : pack_tmp = ISHFT(data_tmp, 38)
25956 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25957 605858 : idata = idata + 1
25958 605858 : data_tmp = full_data(idata)
25959 605858 : data_tmp = ISHFT(data_tmp, 29)
25960 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25961 605858 : pack_tmp = ISHFT(pack_tmp, -3)
25962 605858 : idata = idata + 1
25963 605858 : data_tmp = full_data(idata)
25964 605858 : data_tmp = ISHFT(data_tmp, 29)
25965 605858 : data_tmp = IAND(data_tmp, mask_left(3))
25966 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25967 605858 : ipack = ipack + 1
25968 605858 : packed_data(ipack) = pack_tmp
25969 605858 : data_tmp = full_data(idata)
25970 605858 : pack_tmp = ISHFT(data_tmp, 32)
25971 605858 : pack_tmp = ISHFT(pack_tmp, -32)
25972 605858 : idata = idata + 1
25973 605858 : data_tmp = full_data(idata)
25974 605858 : data_tmp = ISHFT(data_tmp, 29)
25975 605858 : data_tmp = IAND(data_tmp, mask_left(32))
25976 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25977 605858 : ipack = ipack + 1
25978 605858 : packed_data(ipack) = pack_tmp
25979 605858 : data_tmp = full_data(idata)
25980 605858 : pack_tmp = ISHFT(data_tmp, 61)
25981 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25982 605858 : idata = idata + 1
25983 605858 : data_tmp = full_data(idata)
25984 605858 : data_tmp = ISHFT(data_tmp, 29)
25985 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25986 605858 : pack_tmp = ISHFT(pack_tmp, -26)
25987 605858 : idata = idata + 1
25988 605858 : data_tmp = full_data(idata)
25989 605858 : data_tmp = ISHFT(data_tmp, 29)
25990 605858 : data_tmp = IAND(data_tmp, mask_left(26))
25991 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
25992 605858 : ipack = ipack + 1
25993 605858 : packed_data(ipack) = pack_tmp
25994 605858 : data_tmp = full_data(idata)
25995 605858 : pack_tmp = ISHFT(data_tmp, 55)
25996 605858 : pack_tmp = ISHFT(pack_tmp, -35)
25997 605858 : idata = idata + 1
25998 605858 : data_tmp = full_data(idata)
25999 605858 : data_tmp = ISHFT(data_tmp, 29)
26000 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26001 605858 : pack_tmp = ISHFT(pack_tmp, -20)
26002 605858 : idata = idata + 1
26003 605858 : data_tmp = full_data(idata)
26004 605858 : data_tmp = ISHFT(data_tmp, 29)
26005 605858 : data_tmp = IAND(data_tmp, mask_left(20))
26006 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26007 605858 : ipack = ipack + 1
26008 605858 : packed_data(ipack) = pack_tmp
26009 605858 : data_tmp = full_data(idata)
26010 605858 : pack_tmp = ISHFT(data_tmp, 49)
26011 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26012 605858 : idata = idata + 1
26013 605858 : data_tmp = full_data(idata)
26014 605858 : data_tmp = ISHFT(data_tmp, 29)
26015 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26016 605858 : pack_tmp = ISHFT(pack_tmp, -14)
26017 605858 : idata = idata + 1
26018 605858 : data_tmp = full_data(idata)
26019 605858 : data_tmp = ISHFT(data_tmp, 29)
26020 605858 : data_tmp = IAND(data_tmp, mask_left(14))
26021 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26022 605858 : ipack = ipack + 1
26023 605858 : packed_data(ipack) = pack_tmp
26024 605858 : data_tmp = full_data(idata)
26025 605858 : pack_tmp = ISHFT(data_tmp, 43)
26026 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26027 605858 : idata = idata + 1
26028 605858 : data_tmp = full_data(idata)
26029 605858 : data_tmp = ISHFT(data_tmp, 29)
26030 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26031 605858 : pack_tmp = ISHFT(pack_tmp, -8)
26032 605858 : idata = idata + 1
26033 605858 : data_tmp = full_data(idata)
26034 605858 : data_tmp = ISHFT(data_tmp, 29)
26035 605858 : data_tmp = IAND(data_tmp, mask_left(8))
26036 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26037 605858 : ipack = ipack + 1
26038 605858 : packed_data(ipack) = pack_tmp
26039 605858 : data_tmp = full_data(idata)
26040 605858 : pack_tmp = ISHFT(data_tmp, 37)
26041 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26042 605858 : idata = idata + 1
26043 605858 : data_tmp = full_data(idata)
26044 605858 : data_tmp = ISHFT(data_tmp, 29)
26045 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26046 605858 : pack_tmp = ISHFT(pack_tmp, -2)
26047 605858 : idata = idata + 1
26048 605858 : data_tmp = full_data(idata)
26049 605858 : data_tmp = ISHFT(data_tmp, 29)
26050 605858 : data_tmp = IAND(data_tmp, mask_left(2))
26051 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26052 605858 : ipack = ipack + 1
26053 605858 : packed_data(ipack) = pack_tmp
26054 605858 : data_tmp = full_data(idata)
26055 605858 : pack_tmp = ISHFT(data_tmp, 31)
26056 605858 : pack_tmp = ISHFT(pack_tmp, -31)
26057 605858 : idata = idata + 1
26058 605858 : data_tmp = full_data(idata)
26059 605858 : data_tmp = ISHFT(data_tmp, 29)
26060 605858 : data_tmp = IAND(data_tmp, mask_left(31))
26061 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26062 605858 : ipack = ipack + 1
26063 605858 : packed_data(ipack) = pack_tmp
26064 605858 : data_tmp = full_data(idata)
26065 605858 : pack_tmp = ISHFT(data_tmp, 60)
26066 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26067 605858 : idata = idata + 1
26068 605858 : data_tmp = full_data(idata)
26069 605858 : data_tmp = ISHFT(data_tmp, 29)
26070 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26071 605858 : pack_tmp = ISHFT(pack_tmp, -25)
26072 605858 : idata = idata + 1
26073 605858 : data_tmp = full_data(idata)
26074 605858 : data_tmp = ISHFT(data_tmp, 29)
26075 605858 : data_tmp = IAND(data_tmp, mask_left(25))
26076 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26077 605858 : ipack = ipack + 1
26078 605858 : packed_data(ipack) = pack_tmp
26079 605858 : data_tmp = full_data(idata)
26080 605858 : pack_tmp = ISHFT(data_tmp, 54)
26081 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26082 605858 : idata = idata + 1
26083 605858 : data_tmp = full_data(idata)
26084 605858 : data_tmp = ISHFT(data_tmp, 29)
26085 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26086 605858 : pack_tmp = ISHFT(pack_tmp, -19)
26087 605858 : idata = idata + 1
26088 605858 : data_tmp = full_data(idata)
26089 605858 : data_tmp = ISHFT(data_tmp, 29)
26090 605858 : data_tmp = IAND(data_tmp, mask_left(19))
26091 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26092 605858 : ipack = ipack + 1
26093 605858 : packed_data(ipack) = pack_tmp
26094 605858 : data_tmp = full_data(idata)
26095 605858 : pack_tmp = ISHFT(data_tmp, 48)
26096 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26097 605858 : idata = idata + 1
26098 605858 : data_tmp = full_data(idata)
26099 605858 : data_tmp = ISHFT(data_tmp, 29)
26100 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26101 605858 : pack_tmp = ISHFT(pack_tmp, -13)
26102 605858 : idata = idata + 1
26103 605858 : data_tmp = full_data(idata)
26104 605858 : data_tmp = ISHFT(data_tmp, 29)
26105 605858 : data_tmp = IAND(data_tmp, mask_left(13))
26106 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26107 605858 : ipack = ipack + 1
26108 605858 : packed_data(ipack) = pack_tmp
26109 605858 : data_tmp = full_data(idata)
26110 605858 : pack_tmp = ISHFT(data_tmp, 42)
26111 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26112 605858 : idata = idata + 1
26113 605858 : data_tmp = full_data(idata)
26114 605858 : data_tmp = ISHFT(data_tmp, 29)
26115 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26116 605858 : pack_tmp = ISHFT(pack_tmp, -7)
26117 605858 : idata = idata + 1
26118 605858 : data_tmp = full_data(idata)
26119 605858 : data_tmp = ISHFT(data_tmp, 29)
26120 605858 : data_tmp = IAND(data_tmp, mask_left(7))
26121 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26122 605858 : ipack = ipack + 1
26123 605858 : packed_data(ipack) = pack_tmp
26124 605858 : data_tmp = full_data(idata)
26125 605858 : pack_tmp = ISHFT(data_tmp, 36)
26126 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26127 605858 : idata = idata + 1
26128 605858 : data_tmp = full_data(idata)
26129 605858 : data_tmp = ISHFT(data_tmp, 29)
26130 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26131 605858 : pack_tmp = ISHFT(pack_tmp, -1)
26132 605858 : idata = idata + 1
26133 605858 : data_tmp = full_data(idata)
26134 605858 : data_tmp = ISHFT(data_tmp, 29)
26135 605858 : data_tmp = IAND(data_tmp, mask_left(1))
26136 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26137 605858 : ipack = ipack + 1
26138 605858 : packed_data(ipack) = pack_tmp
26139 605858 : data_tmp = full_data(idata)
26140 605858 : pack_tmp = ISHFT(data_tmp, 30)
26141 605858 : pack_tmp = ISHFT(pack_tmp, -30)
26142 605858 : idata = idata + 1
26143 605858 : data_tmp = full_data(idata)
26144 605858 : data_tmp = ISHFT(data_tmp, 29)
26145 605858 : data_tmp = IAND(data_tmp, mask_left(30))
26146 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26147 605858 : ipack = ipack + 1
26148 605858 : packed_data(ipack) = pack_tmp
26149 605858 : data_tmp = full_data(idata)
26150 605858 : pack_tmp = ISHFT(data_tmp, 59)
26151 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26152 605858 : idata = idata + 1
26153 605858 : data_tmp = full_data(idata)
26154 605858 : data_tmp = ISHFT(data_tmp, 29)
26155 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26156 605858 : pack_tmp = ISHFT(pack_tmp, -24)
26157 605858 : idata = idata + 1
26158 605858 : data_tmp = full_data(idata)
26159 605858 : data_tmp = ISHFT(data_tmp, 29)
26160 605858 : data_tmp = IAND(data_tmp, mask_left(24))
26161 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26162 605858 : ipack = ipack + 1
26163 605858 : packed_data(ipack) = pack_tmp
26164 605858 : data_tmp = full_data(idata)
26165 605858 : pack_tmp = ISHFT(data_tmp, 53)
26166 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26167 605858 : idata = idata + 1
26168 605858 : data_tmp = full_data(idata)
26169 605858 : data_tmp = ISHFT(data_tmp, 29)
26170 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26171 605858 : pack_tmp = ISHFT(pack_tmp, -18)
26172 605858 : idata = idata + 1
26173 605858 : data_tmp = full_data(idata)
26174 605858 : data_tmp = ISHFT(data_tmp, 29)
26175 605858 : data_tmp = IAND(data_tmp, mask_left(18))
26176 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26177 605858 : ipack = ipack + 1
26178 605858 : packed_data(ipack) = pack_tmp
26179 605858 : data_tmp = full_data(idata)
26180 605858 : pack_tmp = ISHFT(data_tmp, 47)
26181 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26182 605858 : idata = idata + 1
26183 605858 : data_tmp = full_data(idata)
26184 605858 : data_tmp = ISHFT(data_tmp, 29)
26185 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26186 605858 : pack_tmp = ISHFT(pack_tmp, -12)
26187 605858 : idata = idata + 1
26188 605858 : data_tmp = full_data(idata)
26189 605858 : data_tmp = ISHFT(data_tmp, 29)
26190 605858 : data_tmp = IAND(data_tmp, mask_left(12))
26191 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26192 605858 : ipack = ipack + 1
26193 605858 : packed_data(ipack) = pack_tmp
26194 605858 : data_tmp = full_data(idata)
26195 605858 : pack_tmp = ISHFT(data_tmp, 41)
26196 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26197 605858 : idata = idata + 1
26198 605858 : data_tmp = full_data(idata)
26199 605858 : data_tmp = ISHFT(data_tmp, 29)
26200 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26201 605858 : pack_tmp = ISHFT(pack_tmp, -6)
26202 605858 : idata = idata + 1
26203 605858 : data_tmp = full_data(idata)
26204 605858 : data_tmp = ISHFT(data_tmp, 29)
26205 605858 : data_tmp = IAND(data_tmp, mask_left(6))
26206 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26207 605858 : ipack = ipack + 1
26208 605858 : packed_data(ipack) = pack_tmp
26209 605858 : data_tmp = full_data(idata)
26210 605858 : pack_tmp = ISHFT(data_tmp, 35)
26211 605858 : pack_tmp = ISHFT(pack_tmp, -35)
26212 605858 : idata = idata + 1
26213 605858 : data_tmp = full_data(idata)
26214 605858 : data_tmp = ISHFT(data_tmp, 29)
26215 605858 : pack_tmp = IOR(pack_tmp, data_tmp)
26216 : pack_tmp = ISHFT(pack_tmp, 0)
26217 605858 : pack_tmp = ISHFT(pack_tmp, 0)
26218 605858 : ipack = ipack + 1
26219 606350 : packed_data(ipack) = pack_tmp
26220 : END DO
26221 47204 : IF (Ndata_rep < Ndata) THEN
26222 17372 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26223 : END IF
26224 47204 : END SUBROUTINE ints2bits_35
26225 :
26226 : ! **************************************************************************************************
26227 : !> \brief ...
26228 : !> \param Ndata ...
26229 : !> \param packed_data ...
26230 : !> \param full_data ...
26231 : ! **************************************************************************************************
26232 226587 : 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 226587 : ipack = 0
26243 226587 : idata = 0
26244 226587 : pack_tmp = 0
26245 226587 : Ndata_rep = (Ndata/64)*64
26246 226587 : DO kdata = 1, Ndata_rep, 64
26247 2801520 : idata = idata + 1
26248 2801520 : data_tmp = ISHFT(pack_tmp, 35)
26249 2801520 : ipack = ipack + 1
26250 2801520 : pack_tmp = packed_data(ipack)
26251 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
26252 2801520 : pack_tmp = ISHFT(pack_tmp, -35)
26253 2801520 : idata = idata + 1
26254 2801520 : data_tmp = ISHFT(pack_tmp, 6)
26255 2801520 : ipack = ipack + 1
26256 2801520 : pack_tmp = packed_data(ipack)
26257 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
26258 2801520 : pack_tmp = ISHFT(pack_tmp, -6)
26259 2801520 : idata = idata + 1
26260 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26261 2801520 : full_data(idata) = data_tmp
26262 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26263 2801520 : idata = idata + 1
26264 2801520 : data_tmp = ISHFT(pack_tmp, 12)
26265 2801520 : ipack = ipack + 1
26266 2801520 : pack_tmp = packed_data(ipack)
26267 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
26268 2801520 : pack_tmp = ISHFT(pack_tmp, -12)
26269 2801520 : idata = idata + 1
26270 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26271 2801520 : full_data(idata) = data_tmp
26272 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26273 2801520 : idata = idata + 1
26274 2801520 : data_tmp = ISHFT(pack_tmp, 18)
26275 2801520 : ipack = ipack + 1
26276 2801520 : pack_tmp = packed_data(ipack)
26277 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
26278 2801520 : pack_tmp = ISHFT(pack_tmp, -18)
26279 2801520 : idata = idata + 1
26280 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26281 2801520 : full_data(idata) = data_tmp
26282 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26283 2801520 : idata = idata + 1
26284 2801520 : data_tmp = ISHFT(pack_tmp, 24)
26285 2801520 : ipack = ipack + 1
26286 2801520 : pack_tmp = packed_data(ipack)
26287 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
26288 2801520 : pack_tmp = ISHFT(pack_tmp, -24)
26289 2801520 : idata = idata + 1
26290 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26291 2801520 : full_data(idata) = data_tmp
26292 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26293 2801520 : idata = idata + 1
26294 2801520 : data_tmp = ISHFT(pack_tmp, 30)
26295 2801520 : ipack = ipack + 1
26296 2801520 : pack_tmp = packed_data(ipack)
26297 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
26298 2801520 : pack_tmp = ISHFT(pack_tmp, -30)
26299 2801520 : idata = idata + 1
26300 2801520 : data_tmp = ISHFT(pack_tmp, 1)
26301 2801520 : ipack = ipack + 1
26302 2801520 : pack_tmp = packed_data(ipack)
26303 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
26304 2801520 : pack_tmp = ISHFT(pack_tmp, -1)
26305 2801520 : idata = idata + 1
26306 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26307 2801520 : full_data(idata) = data_tmp
26308 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26309 2801520 : idata = idata + 1
26310 2801520 : data_tmp = ISHFT(pack_tmp, 7)
26311 2801520 : ipack = ipack + 1
26312 2801520 : pack_tmp = packed_data(ipack)
26313 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
26314 2801520 : pack_tmp = ISHFT(pack_tmp, -7)
26315 2801520 : idata = idata + 1
26316 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26317 2801520 : full_data(idata) = data_tmp
26318 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26319 2801520 : idata = idata + 1
26320 2801520 : data_tmp = ISHFT(pack_tmp, 13)
26321 2801520 : ipack = ipack + 1
26322 2801520 : pack_tmp = packed_data(ipack)
26323 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
26324 2801520 : pack_tmp = ISHFT(pack_tmp, -13)
26325 2801520 : idata = idata + 1
26326 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26327 2801520 : full_data(idata) = data_tmp
26328 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26329 2801520 : idata = idata + 1
26330 2801520 : data_tmp = ISHFT(pack_tmp, 19)
26331 2801520 : ipack = ipack + 1
26332 2801520 : pack_tmp = packed_data(ipack)
26333 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
26334 2801520 : pack_tmp = ISHFT(pack_tmp, -19)
26335 2801520 : idata = idata + 1
26336 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26337 2801520 : full_data(idata) = data_tmp
26338 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26339 2801520 : idata = idata + 1
26340 2801520 : data_tmp = ISHFT(pack_tmp, 25)
26341 2801520 : ipack = ipack + 1
26342 2801520 : pack_tmp = packed_data(ipack)
26343 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
26344 2801520 : pack_tmp = ISHFT(pack_tmp, -25)
26345 2801520 : idata = idata + 1
26346 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26347 2801520 : full_data(idata) = data_tmp
26348 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26349 2801520 : idata = idata + 1
26350 2801520 : data_tmp = ISHFT(pack_tmp, 31)
26351 2801520 : ipack = ipack + 1
26352 2801520 : pack_tmp = packed_data(ipack)
26353 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
26354 2801520 : pack_tmp = ISHFT(pack_tmp, -31)
26355 2801520 : idata = idata + 1
26356 2801520 : data_tmp = ISHFT(pack_tmp, 2)
26357 2801520 : ipack = ipack + 1
26358 2801520 : pack_tmp = packed_data(ipack)
26359 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
26360 2801520 : pack_tmp = ISHFT(pack_tmp, -2)
26361 2801520 : idata = idata + 1
26362 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26363 2801520 : full_data(idata) = data_tmp
26364 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26365 2801520 : idata = idata + 1
26366 2801520 : data_tmp = ISHFT(pack_tmp, 8)
26367 2801520 : ipack = ipack + 1
26368 2801520 : pack_tmp = packed_data(ipack)
26369 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
26370 2801520 : pack_tmp = ISHFT(pack_tmp, -8)
26371 2801520 : idata = idata + 1
26372 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26373 2801520 : full_data(idata) = data_tmp
26374 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26375 2801520 : idata = idata + 1
26376 2801520 : data_tmp = ISHFT(pack_tmp, 14)
26377 2801520 : ipack = ipack + 1
26378 2801520 : pack_tmp = packed_data(ipack)
26379 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
26380 2801520 : pack_tmp = ISHFT(pack_tmp, -14)
26381 2801520 : idata = idata + 1
26382 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26383 2801520 : full_data(idata) = data_tmp
26384 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26385 2801520 : idata = idata + 1
26386 2801520 : data_tmp = ISHFT(pack_tmp, 20)
26387 2801520 : ipack = ipack + 1
26388 2801520 : pack_tmp = packed_data(ipack)
26389 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
26390 2801520 : pack_tmp = ISHFT(pack_tmp, -20)
26391 2801520 : idata = idata + 1
26392 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26393 2801520 : full_data(idata) = data_tmp
26394 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26395 2801520 : idata = idata + 1
26396 2801520 : data_tmp = ISHFT(pack_tmp, 26)
26397 2801520 : ipack = ipack + 1
26398 2801520 : pack_tmp = packed_data(ipack)
26399 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
26400 2801520 : pack_tmp = ISHFT(pack_tmp, -26)
26401 2801520 : idata = idata + 1
26402 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26403 2801520 : full_data(idata) = data_tmp
26404 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26405 2801520 : idata = idata + 1
26406 2801520 : data_tmp = ISHFT(pack_tmp, 32)
26407 2801520 : ipack = ipack + 1
26408 2801520 : pack_tmp = packed_data(ipack)
26409 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
26410 2801520 : pack_tmp = ISHFT(pack_tmp, -32)
26411 2801520 : idata = idata + 1
26412 2801520 : data_tmp = ISHFT(pack_tmp, 3)
26413 2801520 : ipack = ipack + 1
26414 2801520 : pack_tmp = packed_data(ipack)
26415 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
26416 2801520 : pack_tmp = ISHFT(pack_tmp, -3)
26417 2801520 : idata = idata + 1
26418 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26419 2801520 : full_data(idata) = data_tmp
26420 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26421 2801520 : idata = idata + 1
26422 2801520 : data_tmp = ISHFT(pack_tmp, 9)
26423 2801520 : ipack = ipack + 1
26424 2801520 : pack_tmp = packed_data(ipack)
26425 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
26426 2801520 : pack_tmp = ISHFT(pack_tmp, -9)
26427 2801520 : idata = idata + 1
26428 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26429 2801520 : full_data(idata) = data_tmp
26430 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26431 2801520 : idata = idata + 1
26432 2801520 : data_tmp = ISHFT(pack_tmp, 15)
26433 2801520 : ipack = ipack + 1
26434 2801520 : pack_tmp = packed_data(ipack)
26435 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
26436 2801520 : pack_tmp = ISHFT(pack_tmp, -15)
26437 2801520 : idata = idata + 1
26438 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26439 2801520 : full_data(idata) = data_tmp
26440 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26441 2801520 : idata = idata + 1
26442 2801520 : data_tmp = ISHFT(pack_tmp, 21)
26443 2801520 : ipack = ipack + 1
26444 2801520 : pack_tmp = packed_data(ipack)
26445 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
26446 2801520 : pack_tmp = ISHFT(pack_tmp, -21)
26447 2801520 : idata = idata + 1
26448 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26449 2801520 : full_data(idata) = data_tmp
26450 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26451 2801520 : idata = idata + 1
26452 2801520 : data_tmp = ISHFT(pack_tmp, 27)
26453 2801520 : ipack = ipack + 1
26454 2801520 : pack_tmp = packed_data(ipack)
26455 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
26456 2801520 : pack_tmp = ISHFT(pack_tmp, -27)
26457 2801520 : idata = idata + 1
26458 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26459 2801520 : full_data(idata) = data_tmp
26460 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26461 2801520 : idata = idata + 1
26462 2801520 : data_tmp = ISHFT(pack_tmp, 33)
26463 2801520 : ipack = ipack + 1
26464 2801520 : pack_tmp = packed_data(ipack)
26465 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
26466 2801520 : pack_tmp = ISHFT(pack_tmp, -33)
26467 2801520 : idata = idata + 1
26468 2801520 : data_tmp = ISHFT(pack_tmp, 4)
26469 2801520 : ipack = ipack + 1
26470 2801520 : pack_tmp = packed_data(ipack)
26471 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
26472 2801520 : pack_tmp = ISHFT(pack_tmp, -4)
26473 2801520 : idata = idata + 1
26474 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26475 2801520 : full_data(idata) = data_tmp
26476 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26477 2801520 : idata = idata + 1
26478 2801520 : data_tmp = ISHFT(pack_tmp, 10)
26479 2801520 : ipack = ipack + 1
26480 2801520 : pack_tmp = packed_data(ipack)
26481 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
26482 2801520 : pack_tmp = ISHFT(pack_tmp, -10)
26483 2801520 : idata = idata + 1
26484 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26485 2801520 : full_data(idata) = data_tmp
26486 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26487 2801520 : idata = idata + 1
26488 2801520 : data_tmp = ISHFT(pack_tmp, 16)
26489 2801520 : ipack = ipack + 1
26490 2801520 : pack_tmp = packed_data(ipack)
26491 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
26492 2801520 : pack_tmp = ISHFT(pack_tmp, -16)
26493 2801520 : idata = idata + 1
26494 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26495 2801520 : full_data(idata) = data_tmp
26496 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26497 2801520 : idata = idata + 1
26498 2801520 : data_tmp = ISHFT(pack_tmp, 22)
26499 2801520 : ipack = ipack + 1
26500 2801520 : pack_tmp = packed_data(ipack)
26501 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
26502 2801520 : pack_tmp = ISHFT(pack_tmp, -22)
26503 2801520 : idata = idata + 1
26504 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26505 2801520 : full_data(idata) = data_tmp
26506 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26507 2801520 : idata = idata + 1
26508 2801520 : data_tmp = ISHFT(pack_tmp, 28)
26509 2801520 : ipack = ipack + 1
26510 2801520 : pack_tmp = packed_data(ipack)
26511 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
26512 2801520 : pack_tmp = ISHFT(pack_tmp, -28)
26513 2801520 : idata = idata + 1
26514 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26515 2801520 : full_data(idata) = data_tmp
26516 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26517 2801520 : idata = idata + 1
26518 2801520 : data_tmp = ISHFT(pack_tmp, 34)
26519 2801520 : ipack = ipack + 1
26520 2801520 : pack_tmp = packed_data(ipack)
26521 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
26522 2801520 : pack_tmp = ISHFT(pack_tmp, -34)
26523 2801520 : idata = idata + 1
26524 2801520 : data_tmp = ISHFT(pack_tmp, 5)
26525 2801520 : ipack = ipack + 1
26526 2801520 : pack_tmp = packed_data(ipack)
26527 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
26528 2801520 : pack_tmp = ISHFT(pack_tmp, -5)
26529 2801520 : idata = idata + 1
26530 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26531 2801520 : full_data(idata) = data_tmp
26532 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26533 2801520 : idata = idata + 1
26534 2801520 : data_tmp = ISHFT(pack_tmp, 11)
26535 2801520 : ipack = ipack + 1
26536 2801520 : pack_tmp = packed_data(ipack)
26537 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
26538 2801520 : pack_tmp = ISHFT(pack_tmp, -11)
26539 2801520 : idata = idata + 1
26540 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26541 2801520 : full_data(idata) = data_tmp
26542 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26543 2801520 : idata = idata + 1
26544 2801520 : data_tmp = ISHFT(pack_tmp, 17)
26545 2801520 : ipack = ipack + 1
26546 2801520 : pack_tmp = packed_data(ipack)
26547 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
26548 2801520 : pack_tmp = ISHFT(pack_tmp, -17)
26549 2801520 : idata = idata + 1
26550 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26551 2801520 : full_data(idata) = data_tmp
26552 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26553 2801520 : idata = idata + 1
26554 2801520 : data_tmp = ISHFT(pack_tmp, 23)
26555 2801520 : ipack = ipack + 1
26556 2801520 : pack_tmp = packed_data(ipack)
26557 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
26558 2801520 : pack_tmp = ISHFT(pack_tmp, -23)
26559 2801520 : idata = idata + 1
26560 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26561 2801520 : full_data(idata) = data_tmp
26562 2801520 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26563 2801520 : idata = idata + 1
26564 2801520 : data_tmp = ISHFT(pack_tmp, 29)
26565 2801520 : ipack = ipack + 1
26566 2801520 : pack_tmp = packed_data(ipack)
26567 2801520 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
26568 2801520 : pack_tmp = ISHFT(pack_tmp, -29)
26569 2801520 : idata = idata + 1
26570 2801520 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26571 2801520 : full_data(idata) = data_tmp
26572 2803797 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26573 : END DO
26574 226587 : IF (Ndata_rep < Ndata) THEN
26575 95872 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26576 : END IF
26577 226587 : 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 610789 : pack_tmp = 0
26600 610789 : idata = idata + 1
26601 610789 : data_tmp = full_data(idata)
26602 610789 : data_tmp = ISHFT(data_tmp, 28)
26603 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26604 610789 : pack_tmp = ISHFT(pack_tmp, -28)
26605 610789 : idata = idata + 1
26606 610789 : data_tmp = full_data(idata)
26607 610789 : data_tmp = ISHFT(data_tmp, 28)
26608 610789 : data_tmp = IAND(data_tmp, mask_left(28))
26609 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26610 610789 : ipack = ipack + 1
26611 610789 : packed_data(ipack) = pack_tmp
26612 610789 : data_tmp = full_data(idata)
26613 610789 : pack_tmp = ISHFT(data_tmp, 56)
26614 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26615 610789 : idata = idata + 1
26616 610789 : data_tmp = full_data(idata)
26617 610789 : data_tmp = ISHFT(data_tmp, 28)
26618 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26619 610789 : pack_tmp = ISHFT(pack_tmp, -20)
26620 610789 : idata = idata + 1
26621 610789 : data_tmp = full_data(idata)
26622 610789 : data_tmp = ISHFT(data_tmp, 28)
26623 610789 : data_tmp = IAND(data_tmp, mask_left(20))
26624 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26625 610789 : ipack = ipack + 1
26626 610789 : packed_data(ipack) = pack_tmp
26627 610789 : data_tmp = full_data(idata)
26628 610789 : pack_tmp = ISHFT(data_tmp, 48)
26629 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26630 610789 : idata = idata + 1
26631 610789 : data_tmp = full_data(idata)
26632 610789 : data_tmp = ISHFT(data_tmp, 28)
26633 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26634 610789 : pack_tmp = ISHFT(pack_tmp, -12)
26635 610789 : idata = idata + 1
26636 610789 : data_tmp = full_data(idata)
26637 610789 : data_tmp = ISHFT(data_tmp, 28)
26638 610789 : data_tmp = IAND(data_tmp, mask_left(12))
26639 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26640 610789 : ipack = ipack + 1
26641 610789 : packed_data(ipack) = pack_tmp
26642 610789 : data_tmp = full_data(idata)
26643 610789 : pack_tmp = ISHFT(data_tmp, 40)
26644 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26645 610789 : idata = idata + 1
26646 610789 : data_tmp = full_data(idata)
26647 610789 : data_tmp = ISHFT(data_tmp, 28)
26648 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26649 610789 : pack_tmp = ISHFT(pack_tmp, -4)
26650 610789 : idata = idata + 1
26651 610789 : data_tmp = full_data(idata)
26652 610789 : data_tmp = ISHFT(data_tmp, 28)
26653 610789 : data_tmp = IAND(data_tmp, mask_left(4))
26654 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26655 610789 : ipack = ipack + 1
26656 610789 : packed_data(ipack) = pack_tmp
26657 610789 : data_tmp = full_data(idata)
26658 610789 : pack_tmp = ISHFT(data_tmp, 32)
26659 610789 : pack_tmp = ISHFT(pack_tmp, -32)
26660 610789 : idata = idata + 1
26661 610789 : data_tmp = full_data(idata)
26662 610789 : data_tmp = ISHFT(data_tmp, 28)
26663 610789 : data_tmp = IAND(data_tmp, mask_left(32))
26664 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26665 610789 : ipack = ipack + 1
26666 610789 : packed_data(ipack) = pack_tmp
26667 610789 : data_tmp = full_data(idata)
26668 610789 : pack_tmp = ISHFT(data_tmp, 60)
26669 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26670 610789 : idata = idata + 1
26671 610789 : data_tmp = full_data(idata)
26672 610789 : data_tmp = ISHFT(data_tmp, 28)
26673 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26674 610789 : pack_tmp = ISHFT(pack_tmp, -24)
26675 610789 : idata = idata + 1
26676 610789 : data_tmp = full_data(idata)
26677 610789 : data_tmp = ISHFT(data_tmp, 28)
26678 610789 : data_tmp = IAND(data_tmp, mask_left(24))
26679 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26680 610789 : ipack = ipack + 1
26681 610789 : packed_data(ipack) = pack_tmp
26682 610789 : data_tmp = full_data(idata)
26683 610789 : pack_tmp = ISHFT(data_tmp, 52)
26684 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26685 610789 : idata = idata + 1
26686 610789 : data_tmp = full_data(idata)
26687 610789 : data_tmp = ISHFT(data_tmp, 28)
26688 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26689 610789 : pack_tmp = ISHFT(pack_tmp, -16)
26690 610789 : idata = idata + 1
26691 610789 : data_tmp = full_data(idata)
26692 610789 : data_tmp = ISHFT(data_tmp, 28)
26693 610789 : data_tmp = IAND(data_tmp, mask_left(16))
26694 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26695 610789 : ipack = ipack + 1
26696 610789 : packed_data(ipack) = pack_tmp
26697 610789 : data_tmp = full_data(idata)
26698 610789 : pack_tmp = ISHFT(data_tmp, 44)
26699 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26700 610789 : idata = idata + 1
26701 610789 : data_tmp = full_data(idata)
26702 610789 : data_tmp = ISHFT(data_tmp, 28)
26703 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26704 610789 : pack_tmp = ISHFT(pack_tmp, -8)
26705 610789 : idata = idata + 1
26706 610789 : data_tmp = full_data(idata)
26707 610789 : data_tmp = ISHFT(data_tmp, 28)
26708 610789 : data_tmp = IAND(data_tmp, mask_left(8))
26709 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26710 610789 : ipack = ipack + 1
26711 610789 : packed_data(ipack) = pack_tmp
26712 610789 : data_tmp = full_data(idata)
26713 610789 : pack_tmp = ISHFT(data_tmp, 36)
26714 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26715 610789 : idata = idata + 1
26716 610789 : data_tmp = full_data(idata)
26717 610789 : data_tmp = ISHFT(data_tmp, 28)
26718 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26719 610789 : pack_tmp = ISHFT(pack_tmp, 0)
26720 610789 : idata = idata + 1
26721 610789 : data_tmp = full_data(idata)
26722 : data_tmp = ISHFT(data_tmp, 28)
26723 610789 : data_tmp = IAND(data_tmp, mask_left(0))
26724 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26725 610789 : ipack = ipack + 1
26726 610789 : packed_data(ipack) = pack_tmp
26727 610789 : data_tmp = full_data(idata)
26728 610789 : pack_tmp = ISHFT(data_tmp, 28)
26729 610789 : pack_tmp = ISHFT(pack_tmp, -28)
26730 610789 : idata = idata + 1
26731 610789 : data_tmp = full_data(idata)
26732 610789 : data_tmp = ISHFT(data_tmp, 28)
26733 610789 : data_tmp = IAND(data_tmp, mask_left(28))
26734 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26735 610789 : ipack = ipack + 1
26736 610789 : packed_data(ipack) = pack_tmp
26737 610789 : data_tmp = full_data(idata)
26738 610789 : pack_tmp = ISHFT(data_tmp, 56)
26739 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26740 610789 : idata = idata + 1
26741 610789 : data_tmp = full_data(idata)
26742 610789 : data_tmp = ISHFT(data_tmp, 28)
26743 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26744 610789 : pack_tmp = ISHFT(pack_tmp, -20)
26745 610789 : idata = idata + 1
26746 610789 : data_tmp = full_data(idata)
26747 610789 : data_tmp = ISHFT(data_tmp, 28)
26748 610789 : data_tmp = IAND(data_tmp, mask_left(20))
26749 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26750 610789 : ipack = ipack + 1
26751 610789 : packed_data(ipack) = pack_tmp
26752 610789 : data_tmp = full_data(idata)
26753 610789 : pack_tmp = ISHFT(data_tmp, 48)
26754 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26755 610789 : idata = idata + 1
26756 610789 : data_tmp = full_data(idata)
26757 610789 : data_tmp = ISHFT(data_tmp, 28)
26758 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26759 610789 : pack_tmp = ISHFT(pack_tmp, -12)
26760 610789 : idata = idata + 1
26761 610789 : data_tmp = full_data(idata)
26762 610789 : data_tmp = ISHFT(data_tmp, 28)
26763 610789 : data_tmp = IAND(data_tmp, mask_left(12))
26764 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26765 610789 : ipack = ipack + 1
26766 610789 : packed_data(ipack) = pack_tmp
26767 610789 : data_tmp = full_data(idata)
26768 610789 : pack_tmp = ISHFT(data_tmp, 40)
26769 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26770 610789 : idata = idata + 1
26771 610789 : data_tmp = full_data(idata)
26772 610789 : data_tmp = ISHFT(data_tmp, 28)
26773 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26774 610789 : pack_tmp = ISHFT(pack_tmp, -4)
26775 610789 : idata = idata + 1
26776 610789 : data_tmp = full_data(idata)
26777 610789 : data_tmp = ISHFT(data_tmp, 28)
26778 610789 : data_tmp = IAND(data_tmp, mask_left(4))
26779 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26780 610789 : ipack = ipack + 1
26781 610789 : packed_data(ipack) = pack_tmp
26782 610789 : data_tmp = full_data(idata)
26783 610789 : pack_tmp = ISHFT(data_tmp, 32)
26784 610789 : pack_tmp = ISHFT(pack_tmp, -32)
26785 610789 : idata = idata + 1
26786 610789 : data_tmp = full_data(idata)
26787 610789 : data_tmp = ISHFT(data_tmp, 28)
26788 610789 : data_tmp = IAND(data_tmp, mask_left(32))
26789 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26790 610789 : ipack = ipack + 1
26791 610789 : packed_data(ipack) = pack_tmp
26792 610789 : data_tmp = full_data(idata)
26793 610789 : pack_tmp = ISHFT(data_tmp, 60)
26794 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26795 610789 : idata = idata + 1
26796 610789 : data_tmp = full_data(idata)
26797 610789 : data_tmp = ISHFT(data_tmp, 28)
26798 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26799 610789 : pack_tmp = ISHFT(pack_tmp, -24)
26800 610789 : idata = idata + 1
26801 610789 : data_tmp = full_data(idata)
26802 610789 : data_tmp = ISHFT(data_tmp, 28)
26803 610789 : data_tmp = IAND(data_tmp, mask_left(24))
26804 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26805 610789 : ipack = ipack + 1
26806 610789 : packed_data(ipack) = pack_tmp
26807 610789 : data_tmp = full_data(idata)
26808 610789 : pack_tmp = ISHFT(data_tmp, 52)
26809 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26810 610789 : idata = idata + 1
26811 610789 : data_tmp = full_data(idata)
26812 610789 : data_tmp = ISHFT(data_tmp, 28)
26813 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26814 610789 : pack_tmp = ISHFT(pack_tmp, -16)
26815 610789 : idata = idata + 1
26816 610789 : data_tmp = full_data(idata)
26817 610789 : data_tmp = ISHFT(data_tmp, 28)
26818 610789 : data_tmp = IAND(data_tmp, mask_left(16))
26819 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26820 610789 : ipack = ipack + 1
26821 610789 : packed_data(ipack) = pack_tmp
26822 610789 : data_tmp = full_data(idata)
26823 610789 : pack_tmp = ISHFT(data_tmp, 44)
26824 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26825 610789 : idata = idata + 1
26826 610789 : data_tmp = full_data(idata)
26827 610789 : data_tmp = ISHFT(data_tmp, 28)
26828 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26829 610789 : pack_tmp = ISHFT(pack_tmp, -8)
26830 610789 : idata = idata + 1
26831 610789 : data_tmp = full_data(idata)
26832 610789 : data_tmp = ISHFT(data_tmp, 28)
26833 610789 : data_tmp = IAND(data_tmp, mask_left(8))
26834 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26835 610789 : ipack = ipack + 1
26836 610789 : packed_data(ipack) = pack_tmp
26837 610789 : data_tmp = full_data(idata)
26838 610789 : pack_tmp = ISHFT(data_tmp, 36)
26839 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26840 610789 : idata = idata + 1
26841 610789 : data_tmp = full_data(idata)
26842 610789 : data_tmp = ISHFT(data_tmp, 28)
26843 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26844 610789 : pack_tmp = ISHFT(pack_tmp, 0)
26845 610789 : idata = idata + 1
26846 610789 : data_tmp = full_data(idata)
26847 : data_tmp = ISHFT(data_tmp, 28)
26848 610789 : data_tmp = IAND(data_tmp, mask_left(0))
26849 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26850 610789 : ipack = ipack + 1
26851 610789 : packed_data(ipack) = pack_tmp
26852 610789 : data_tmp = full_data(idata)
26853 610789 : pack_tmp = ISHFT(data_tmp, 28)
26854 610789 : pack_tmp = ISHFT(pack_tmp, -28)
26855 610789 : idata = idata + 1
26856 610789 : data_tmp = full_data(idata)
26857 610789 : data_tmp = ISHFT(data_tmp, 28)
26858 610789 : data_tmp = IAND(data_tmp, mask_left(28))
26859 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26860 610789 : ipack = ipack + 1
26861 610789 : packed_data(ipack) = pack_tmp
26862 610789 : data_tmp = full_data(idata)
26863 610789 : pack_tmp = ISHFT(data_tmp, 56)
26864 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26865 610789 : idata = idata + 1
26866 610789 : data_tmp = full_data(idata)
26867 610789 : data_tmp = ISHFT(data_tmp, 28)
26868 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26869 610789 : pack_tmp = ISHFT(pack_tmp, -20)
26870 610789 : idata = idata + 1
26871 610789 : data_tmp = full_data(idata)
26872 610789 : data_tmp = ISHFT(data_tmp, 28)
26873 610789 : data_tmp = IAND(data_tmp, mask_left(20))
26874 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26875 610789 : ipack = ipack + 1
26876 610789 : packed_data(ipack) = pack_tmp
26877 610789 : data_tmp = full_data(idata)
26878 610789 : pack_tmp = ISHFT(data_tmp, 48)
26879 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26880 610789 : idata = idata + 1
26881 610789 : data_tmp = full_data(idata)
26882 610789 : data_tmp = ISHFT(data_tmp, 28)
26883 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26884 610789 : pack_tmp = ISHFT(pack_tmp, -12)
26885 610789 : idata = idata + 1
26886 610789 : data_tmp = full_data(idata)
26887 610789 : data_tmp = ISHFT(data_tmp, 28)
26888 610789 : data_tmp = IAND(data_tmp, mask_left(12))
26889 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26890 610789 : ipack = ipack + 1
26891 610789 : packed_data(ipack) = pack_tmp
26892 610789 : data_tmp = full_data(idata)
26893 610789 : pack_tmp = ISHFT(data_tmp, 40)
26894 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26895 610789 : idata = idata + 1
26896 610789 : data_tmp = full_data(idata)
26897 610789 : data_tmp = ISHFT(data_tmp, 28)
26898 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26899 610789 : pack_tmp = ISHFT(pack_tmp, -4)
26900 610789 : idata = idata + 1
26901 610789 : data_tmp = full_data(idata)
26902 610789 : data_tmp = ISHFT(data_tmp, 28)
26903 610789 : data_tmp = IAND(data_tmp, mask_left(4))
26904 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26905 610789 : ipack = ipack + 1
26906 610789 : packed_data(ipack) = pack_tmp
26907 610789 : data_tmp = full_data(idata)
26908 610789 : pack_tmp = ISHFT(data_tmp, 32)
26909 610789 : pack_tmp = ISHFT(pack_tmp, -32)
26910 610789 : idata = idata + 1
26911 610789 : data_tmp = full_data(idata)
26912 610789 : data_tmp = ISHFT(data_tmp, 28)
26913 610789 : data_tmp = IAND(data_tmp, mask_left(32))
26914 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26915 610789 : ipack = ipack + 1
26916 610789 : packed_data(ipack) = pack_tmp
26917 610789 : data_tmp = full_data(idata)
26918 610789 : pack_tmp = ISHFT(data_tmp, 60)
26919 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26920 610789 : idata = idata + 1
26921 610789 : data_tmp = full_data(idata)
26922 610789 : data_tmp = ISHFT(data_tmp, 28)
26923 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26924 610789 : pack_tmp = ISHFT(pack_tmp, -24)
26925 610789 : idata = idata + 1
26926 610789 : data_tmp = full_data(idata)
26927 610789 : data_tmp = ISHFT(data_tmp, 28)
26928 610789 : data_tmp = IAND(data_tmp, mask_left(24))
26929 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26930 610789 : ipack = ipack + 1
26931 610789 : packed_data(ipack) = pack_tmp
26932 610789 : data_tmp = full_data(idata)
26933 610789 : pack_tmp = ISHFT(data_tmp, 52)
26934 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26935 610789 : idata = idata + 1
26936 610789 : data_tmp = full_data(idata)
26937 610789 : data_tmp = ISHFT(data_tmp, 28)
26938 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26939 610789 : pack_tmp = ISHFT(pack_tmp, -16)
26940 610789 : idata = idata + 1
26941 610789 : data_tmp = full_data(idata)
26942 610789 : data_tmp = ISHFT(data_tmp, 28)
26943 610789 : data_tmp = IAND(data_tmp, mask_left(16))
26944 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26945 610789 : ipack = ipack + 1
26946 610789 : packed_data(ipack) = pack_tmp
26947 610789 : data_tmp = full_data(idata)
26948 610789 : pack_tmp = ISHFT(data_tmp, 44)
26949 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26950 610789 : idata = idata + 1
26951 610789 : data_tmp = full_data(idata)
26952 610789 : data_tmp = ISHFT(data_tmp, 28)
26953 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26954 610789 : pack_tmp = ISHFT(pack_tmp, -8)
26955 610789 : idata = idata + 1
26956 610789 : data_tmp = full_data(idata)
26957 610789 : data_tmp = ISHFT(data_tmp, 28)
26958 610789 : data_tmp = IAND(data_tmp, mask_left(8))
26959 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26960 610789 : ipack = ipack + 1
26961 610789 : packed_data(ipack) = pack_tmp
26962 610789 : data_tmp = full_data(idata)
26963 610789 : pack_tmp = ISHFT(data_tmp, 36)
26964 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26965 610789 : idata = idata + 1
26966 610789 : data_tmp = full_data(idata)
26967 610789 : data_tmp = ISHFT(data_tmp, 28)
26968 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26969 610789 : pack_tmp = ISHFT(pack_tmp, 0)
26970 610789 : idata = idata + 1
26971 610789 : data_tmp = full_data(idata)
26972 : data_tmp = ISHFT(data_tmp, 28)
26973 610789 : data_tmp = IAND(data_tmp, mask_left(0))
26974 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26975 610789 : ipack = ipack + 1
26976 610789 : packed_data(ipack) = pack_tmp
26977 610789 : data_tmp = full_data(idata)
26978 610789 : pack_tmp = ISHFT(data_tmp, 28)
26979 610789 : pack_tmp = ISHFT(pack_tmp, -28)
26980 610789 : idata = idata + 1
26981 610789 : data_tmp = full_data(idata)
26982 610789 : data_tmp = ISHFT(data_tmp, 28)
26983 610789 : data_tmp = IAND(data_tmp, mask_left(28))
26984 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26985 610789 : ipack = ipack + 1
26986 610789 : packed_data(ipack) = pack_tmp
26987 610789 : data_tmp = full_data(idata)
26988 610789 : pack_tmp = ISHFT(data_tmp, 56)
26989 610789 : pack_tmp = ISHFT(pack_tmp, -36)
26990 610789 : idata = idata + 1
26991 610789 : data_tmp = full_data(idata)
26992 610789 : data_tmp = ISHFT(data_tmp, 28)
26993 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
26994 610789 : pack_tmp = ISHFT(pack_tmp, -20)
26995 610789 : idata = idata + 1
26996 610789 : data_tmp = full_data(idata)
26997 610789 : data_tmp = ISHFT(data_tmp, 28)
26998 610789 : data_tmp = IAND(data_tmp, mask_left(20))
26999 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27000 610789 : ipack = ipack + 1
27001 610789 : packed_data(ipack) = pack_tmp
27002 610789 : data_tmp = full_data(idata)
27003 610789 : pack_tmp = ISHFT(data_tmp, 48)
27004 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27005 610789 : idata = idata + 1
27006 610789 : data_tmp = full_data(idata)
27007 610789 : data_tmp = ISHFT(data_tmp, 28)
27008 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27009 610789 : pack_tmp = ISHFT(pack_tmp, -12)
27010 610789 : idata = idata + 1
27011 610789 : data_tmp = full_data(idata)
27012 610789 : data_tmp = ISHFT(data_tmp, 28)
27013 610789 : data_tmp = IAND(data_tmp, mask_left(12))
27014 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27015 610789 : ipack = ipack + 1
27016 610789 : packed_data(ipack) = pack_tmp
27017 610789 : data_tmp = full_data(idata)
27018 610789 : pack_tmp = ISHFT(data_tmp, 40)
27019 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27020 610789 : idata = idata + 1
27021 610789 : data_tmp = full_data(idata)
27022 610789 : data_tmp = ISHFT(data_tmp, 28)
27023 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27024 610789 : pack_tmp = ISHFT(pack_tmp, -4)
27025 610789 : idata = idata + 1
27026 610789 : data_tmp = full_data(idata)
27027 610789 : data_tmp = ISHFT(data_tmp, 28)
27028 610789 : data_tmp = IAND(data_tmp, mask_left(4))
27029 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27030 610789 : ipack = ipack + 1
27031 610789 : packed_data(ipack) = pack_tmp
27032 610789 : data_tmp = full_data(idata)
27033 610789 : pack_tmp = ISHFT(data_tmp, 32)
27034 610789 : pack_tmp = ISHFT(pack_tmp, -32)
27035 610789 : idata = idata + 1
27036 610789 : data_tmp = full_data(idata)
27037 610789 : data_tmp = ISHFT(data_tmp, 28)
27038 610789 : data_tmp = IAND(data_tmp, mask_left(32))
27039 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27040 610789 : ipack = ipack + 1
27041 610789 : packed_data(ipack) = pack_tmp
27042 610789 : data_tmp = full_data(idata)
27043 610789 : pack_tmp = ISHFT(data_tmp, 60)
27044 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27045 610789 : idata = idata + 1
27046 610789 : data_tmp = full_data(idata)
27047 610789 : data_tmp = ISHFT(data_tmp, 28)
27048 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27049 610789 : pack_tmp = ISHFT(pack_tmp, -24)
27050 610789 : idata = idata + 1
27051 610789 : data_tmp = full_data(idata)
27052 610789 : data_tmp = ISHFT(data_tmp, 28)
27053 610789 : data_tmp = IAND(data_tmp, mask_left(24))
27054 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27055 610789 : ipack = ipack + 1
27056 610789 : packed_data(ipack) = pack_tmp
27057 610789 : data_tmp = full_data(idata)
27058 610789 : pack_tmp = ISHFT(data_tmp, 52)
27059 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27060 610789 : idata = idata + 1
27061 610789 : data_tmp = full_data(idata)
27062 610789 : data_tmp = ISHFT(data_tmp, 28)
27063 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27064 610789 : pack_tmp = ISHFT(pack_tmp, -16)
27065 610789 : idata = idata + 1
27066 610789 : data_tmp = full_data(idata)
27067 610789 : data_tmp = ISHFT(data_tmp, 28)
27068 610789 : data_tmp = IAND(data_tmp, mask_left(16))
27069 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27070 610789 : ipack = ipack + 1
27071 610789 : packed_data(ipack) = pack_tmp
27072 610789 : data_tmp = full_data(idata)
27073 610789 : pack_tmp = ISHFT(data_tmp, 44)
27074 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27075 610789 : idata = idata + 1
27076 610789 : data_tmp = full_data(idata)
27077 610789 : data_tmp = ISHFT(data_tmp, 28)
27078 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27079 610789 : pack_tmp = ISHFT(pack_tmp, -8)
27080 610789 : idata = idata + 1
27081 610789 : data_tmp = full_data(idata)
27082 610789 : data_tmp = ISHFT(data_tmp, 28)
27083 610789 : data_tmp = IAND(data_tmp, mask_left(8))
27084 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27085 610789 : ipack = ipack + 1
27086 610789 : packed_data(ipack) = pack_tmp
27087 610789 : data_tmp = full_data(idata)
27088 610789 : pack_tmp = ISHFT(data_tmp, 36)
27089 610789 : pack_tmp = ISHFT(pack_tmp, -36)
27090 610789 : idata = idata + 1
27091 610789 : data_tmp = full_data(idata)
27092 610789 : data_tmp = ISHFT(data_tmp, 28)
27093 610789 : pack_tmp = IOR(pack_tmp, data_tmp)
27094 : pack_tmp = ISHFT(pack_tmp, 0)
27095 610789 : pack_tmp = ISHFT(pack_tmp, 0)
27096 610789 : ipack = ipack + 1
27097 611125 : packed_data(ipack) = pack_tmp
27098 : END DO
27099 47706 : IF (Ndata_rep < Ndata) THEN
27100 17942 : 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 175748 : 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 175748 : ipack = 0
27121 175748 : idata = 0
27122 175748 : pack_tmp = 0
27123 175748 : Ndata_rep = (Ndata/64)*64
27124 175748 : DO kdata = 1, Ndata_rep, 64
27125 2302631 : idata = idata + 1
27126 2302631 : data_tmp = ISHFT(pack_tmp, 36)
27127 2302631 : ipack = ipack + 1
27128 2302631 : pack_tmp = packed_data(ipack)
27129 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27130 2302631 : pack_tmp = ISHFT(pack_tmp, -36)
27131 2302631 : idata = idata + 1
27132 2302631 : data_tmp = ISHFT(pack_tmp, 8)
27133 2302631 : ipack = ipack + 1
27134 2302631 : pack_tmp = packed_data(ipack)
27135 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27136 2302631 : pack_tmp = ISHFT(pack_tmp, -8)
27137 2302631 : idata = idata + 1
27138 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27139 2302631 : full_data(idata) = data_tmp
27140 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27141 2302631 : idata = idata + 1
27142 2302631 : data_tmp = ISHFT(pack_tmp, 16)
27143 2302631 : ipack = ipack + 1
27144 2302631 : pack_tmp = packed_data(ipack)
27145 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27146 2302631 : pack_tmp = ISHFT(pack_tmp, -16)
27147 2302631 : idata = idata + 1
27148 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27149 2302631 : full_data(idata) = data_tmp
27150 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27151 2302631 : idata = idata + 1
27152 2302631 : data_tmp = ISHFT(pack_tmp, 24)
27153 2302631 : ipack = ipack + 1
27154 2302631 : pack_tmp = packed_data(ipack)
27155 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27156 2302631 : pack_tmp = ISHFT(pack_tmp, -24)
27157 2302631 : idata = idata + 1
27158 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27159 2302631 : full_data(idata) = data_tmp
27160 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27161 2302631 : idata = idata + 1
27162 2302631 : data_tmp = ISHFT(pack_tmp, 32)
27163 2302631 : ipack = ipack + 1
27164 2302631 : pack_tmp = packed_data(ipack)
27165 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27166 2302631 : pack_tmp = ISHFT(pack_tmp, -32)
27167 2302631 : idata = idata + 1
27168 2302631 : data_tmp = ISHFT(pack_tmp, 4)
27169 2302631 : ipack = ipack + 1
27170 2302631 : pack_tmp = packed_data(ipack)
27171 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27172 2302631 : pack_tmp = ISHFT(pack_tmp, -4)
27173 2302631 : idata = idata + 1
27174 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27175 2302631 : full_data(idata) = data_tmp
27176 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27177 2302631 : idata = idata + 1
27178 2302631 : data_tmp = ISHFT(pack_tmp, 12)
27179 2302631 : ipack = ipack + 1
27180 2302631 : pack_tmp = packed_data(ipack)
27181 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27182 2302631 : pack_tmp = ISHFT(pack_tmp, -12)
27183 2302631 : idata = idata + 1
27184 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27185 2302631 : full_data(idata) = data_tmp
27186 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27187 2302631 : idata = idata + 1
27188 2302631 : data_tmp = ISHFT(pack_tmp, 20)
27189 2302631 : ipack = ipack + 1
27190 2302631 : pack_tmp = packed_data(ipack)
27191 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27192 2302631 : pack_tmp = ISHFT(pack_tmp, -20)
27193 2302631 : idata = idata + 1
27194 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27195 2302631 : full_data(idata) = data_tmp
27196 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27197 2302631 : idata = idata + 1
27198 2302631 : data_tmp = ISHFT(pack_tmp, 28)
27199 2302631 : ipack = ipack + 1
27200 2302631 : pack_tmp = packed_data(ipack)
27201 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27202 2302631 : pack_tmp = ISHFT(pack_tmp, -28)
27203 2302631 : idata = idata + 1
27204 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27205 2302631 : full_data(idata) = data_tmp
27206 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27207 2302631 : idata = idata + 1
27208 2302631 : data_tmp = ISHFT(pack_tmp, 36)
27209 2302631 : ipack = ipack + 1
27210 2302631 : pack_tmp = packed_data(ipack)
27211 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27212 2302631 : pack_tmp = ISHFT(pack_tmp, -36)
27213 2302631 : idata = idata + 1
27214 2302631 : data_tmp = ISHFT(pack_tmp, 8)
27215 2302631 : ipack = ipack + 1
27216 2302631 : pack_tmp = packed_data(ipack)
27217 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27218 2302631 : pack_tmp = ISHFT(pack_tmp, -8)
27219 2302631 : idata = idata + 1
27220 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27221 2302631 : full_data(idata) = data_tmp
27222 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27223 2302631 : idata = idata + 1
27224 2302631 : data_tmp = ISHFT(pack_tmp, 16)
27225 2302631 : ipack = ipack + 1
27226 2302631 : pack_tmp = packed_data(ipack)
27227 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27228 2302631 : pack_tmp = ISHFT(pack_tmp, -16)
27229 2302631 : idata = idata + 1
27230 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27231 2302631 : full_data(idata) = data_tmp
27232 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27233 2302631 : idata = idata + 1
27234 2302631 : data_tmp = ISHFT(pack_tmp, 24)
27235 2302631 : ipack = ipack + 1
27236 2302631 : pack_tmp = packed_data(ipack)
27237 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27238 2302631 : pack_tmp = ISHFT(pack_tmp, -24)
27239 2302631 : idata = idata + 1
27240 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27241 2302631 : full_data(idata) = data_tmp
27242 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27243 2302631 : idata = idata + 1
27244 2302631 : data_tmp = ISHFT(pack_tmp, 32)
27245 2302631 : ipack = ipack + 1
27246 2302631 : pack_tmp = packed_data(ipack)
27247 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27248 2302631 : pack_tmp = ISHFT(pack_tmp, -32)
27249 2302631 : idata = idata + 1
27250 2302631 : data_tmp = ISHFT(pack_tmp, 4)
27251 2302631 : ipack = ipack + 1
27252 2302631 : pack_tmp = packed_data(ipack)
27253 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27254 2302631 : pack_tmp = ISHFT(pack_tmp, -4)
27255 2302631 : idata = idata + 1
27256 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27257 2302631 : full_data(idata) = data_tmp
27258 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27259 2302631 : idata = idata + 1
27260 2302631 : data_tmp = ISHFT(pack_tmp, 12)
27261 2302631 : ipack = ipack + 1
27262 2302631 : pack_tmp = packed_data(ipack)
27263 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27264 2302631 : pack_tmp = ISHFT(pack_tmp, -12)
27265 2302631 : idata = idata + 1
27266 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27267 2302631 : full_data(idata) = data_tmp
27268 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27269 2302631 : idata = idata + 1
27270 2302631 : data_tmp = ISHFT(pack_tmp, 20)
27271 2302631 : ipack = ipack + 1
27272 2302631 : pack_tmp = packed_data(ipack)
27273 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27274 2302631 : pack_tmp = ISHFT(pack_tmp, -20)
27275 2302631 : idata = idata + 1
27276 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27277 2302631 : full_data(idata) = data_tmp
27278 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27279 2302631 : idata = idata + 1
27280 2302631 : data_tmp = ISHFT(pack_tmp, 28)
27281 2302631 : ipack = ipack + 1
27282 2302631 : pack_tmp = packed_data(ipack)
27283 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27284 2302631 : pack_tmp = ISHFT(pack_tmp, -28)
27285 2302631 : idata = idata + 1
27286 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27287 2302631 : full_data(idata) = data_tmp
27288 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27289 2302631 : idata = idata + 1
27290 2302631 : data_tmp = ISHFT(pack_tmp, 36)
27291 2302631 : ipack = ipack + 1
27292 2302631 : pack_tmp = packed_data(ipack)
27293 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27294 2302631 : pack_tmp = ISHFT(pack_tmp, -36)
27295 2302631 : idata = idata + 1
27296 2302631 : data_tmp = ISHFT(pack_tmp, 8)
27297 2302631 : ipack = ipack + 1
27298 2302631 : pack_tmp = packed_data(ipack)
27299 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27300 2302631 : pack_tmp = ISHFT(pack_tmp, -8)
27301 2302631 : idata = idata + 1
27302 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27303 2302631 : full_data(idata) = data_tmp
27304 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27305 2302631 : idata = idata + 1
27306 2302631 : data_tmp = ISHFT(pack_tmp, 16)
27307 2302631 : ipack = ipack + 1
27308 2302631 : pack_tmp = packed_data(ipack)
27309 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27310 2302631 : pack_tmp = ISHFT(pack_tmp, -16)
27311 2302631 : idata = idata + 1
27312 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27313 2302631 : full_data(idata) = data_tmp
27314 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27315 2302631 : idata = idata + 1
27316 2302631 : data_tmp = ISHFT(pack_tmp, 24)
27317 2302631 : ipack = ipack + 1
27318 2302631 : pack_tmp = packed_data(ipack)
27319 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27320 2302631 : pack_tmp = ISHFT(pack_tmp, -24)
27321 2302631 : idata = idata + 1
27322 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27323 2302631 : full_data(idata) = data_tmp
27324 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27325 2302631 : idata = idata + 1
27326 2302631 : data_tmp = ISHFT(pack_tmp, 32)
27327 2302631 : ipack = ipack + 1
27328 2302631 : pack_tmp = packed_data(ipack)
27329 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27330 2302631 : pack_tmp = ISHFT(pack_tmp, -32)
27331 2302631 : idata = idata + 1
27332 2302631 : data_tmp = ISHFT(pack_tmp, 4)
27333 2302631 : ipack = ipack + 1
27334 2302631 : pack_tmp = packed_data(ipack)
27335 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27336 2302631 : pack_tmp = ISHFT(pack_tmp, -4)
27337 2302631 : idata = idata + 1
27338 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27339 2302631 : full_data(idata) = data_tmp
27340 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27341 2302631 : idata = idata + 1
27342 2302631 : data_tmp = ISHFT(pack_tmp, 12)
27343 2302631 : ipack = ipack + 1
27344 2302631 : pack_tmp = packed_data(ipack)
27345 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27346 2302631 : pack_tmp = ISHFT(pack_tmp, -12)
27347 2302631 : idata = idata + 1
27348 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27349 2302631 : full_data(idata) = data_tmp
27350 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27351 2302631 : idata = idata + 1
27352 2302631 : data_tmp = ISHFT(pack_tmp, 20)
27353 2302631 : ipack = ipack + 1
27354 2302631 : pack_tmp = packed_data(ipack)
27355 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27356 2302631 : pack_tmp = ISHFT(pack_tmp, -20)
27357 2302631 : idata = idata + 1
27358 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27359 2302631 : full_data(idata) = data_tmp
27360 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27361 2302631 : idata = idata + 1
27362 2302631 : data_tmp = ISHFT(pack_tmp, 28)
27363 2302631 : ipack = ipack + 1
27364 2302631 : pack_tmp = packed_data(ipack)
27365 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27366 2302631 : pack_tmp = ISHFT(pack_tmp, -28)
27367 2302631 : idata = idata + 1
27368 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27369 2302631 : full_data(idata) = data_tmp
27370 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27371 2302631 : idata = idata + 1
27372 2302631 : data_tmp = ISHFT(pack_tmp, 36)
27373 2302631 : ipack = ipack + 1
27374 2302631 : pack_tmp = packed_data(ipack)
27375 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27376 2302631 : pack_tmp = ISHFT(pack_tmp, -36)
27377 2302631 : idata = idata + 1
27378 2302631 : data_tmp = ISHFT(pack_tmp, 8)
27379 2302631 : ipack = ipack + 1
27380 2302631 : pack_tmp = packed_data(ipack)
27381 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27382 2302631 : pack_tmp = ISHFT(pack_tmp, -8)
27383 2302631 : idata = idata + 1
27384 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27385 2302631 : full_data(idata) = data_tmp
27386 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27387 2302631 : idata = idata + 1
27388 2302631 : data_tmp = ISHFT(pack_tmp, 16)
27389 2302631 : ipack = ipack + 1
27390 2302631 : pack_tmp = packed_data(ipack)
27391 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27392 2302631 : pack_tmp = ISHFT(pack_tmp, -16)
27393 2302631 : idata = idata + 1
27394 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27395 2302631 : full_data(idata) = data_tmp
27396 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27397 2302631 : idata = idata + 1
27398 2302631 : data_tmp = ISHFT(pack_tmp, 24)
27399 2302631 : ipack = ipack + 1
27400 2302631 : pack_tmp = packed_data(ipack)
27401 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27402 2302631 : pack_tmp = ISHFT(pack_tmp, -24)
27403 2302631 : idata = idata + 1
27404 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27405 2302631 : full_data(idata) = data_tmp
27406 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27407 2302631 : idata = idata + 1
27408 2302631 : data_tmp = ISHFT(pack_tmp, 32)
27409 2302631 : ipack = ipack + 1
27410 2302631 : pack_tmp = packed_data(ipack)
27411 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27412 2302631 : pack_tmp = ISHFT(pack_tmp, -32)
27413 2302631 : idata = idata + 1
27414 2302631 : data_tmp = ISHFT(pack_tmp, 4)
27415 2302631 : ipack = ipack + 1
27416 2302631 : pack_tmp = packed_data(ipack)
27417 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27418 2302631 : pack_tmp = ISHFT(pack_tmp, -4)
27419 2302631 : idata = idata + 1
27420 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27421 2302631 : full_data(idata) = data_tmp
27422 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27423 2302631 : idata = idata + 1
27424 2302631 : data_tmp = ISHFT(pack_tmp, 12)
27425 2302631 : ipack = ipack + 1
27426 2302631 : pack_tmp = packed_data(ipack)
27427 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27428 2302631 : pack_tmp = ISHFT(pack_tmp, -12)
27429 2302631 : idata = idata + 1
27430 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27431 2302631 : full_data(idata) = data_tmp
27432 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27433 2302631 : idata = idata + 1
27434 2302631 : data_tmp = ISHFT(pack_tmp, 20)
27435 2302631 : ipack = ipack + 1
27436 2302631 : pack_tmp = packed_data(ipack)
27437 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27438 2302631 : pack_tmp = ISHFT(pack_tmp, -20)
27439 2302631 : idata = idata + 1
27440 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27441 2302631 : full_data(idata) = data_tmp
27442 2302631 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27443 2302631 : idata = idata + 1
27444 2302631 : data_tmp = ISHFT(pack_tmp, 28)
27445 2302631 : ipack = ipack + 1
27446 2302631 : pack_tmp = packed_data(ipack)
27447 2302631 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27448 2302631 : pack_tmp = ISHFT(pack_tmp, -28)
27449 2302631 : idata = idata + 1
27450 2302631 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27451 2302631 : full_data(idata) = data_tmp
27452 2304137 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27453 : END DO
27454 175748 : IF (Ndata_rep < Ndata) THEN
27455 59922 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27456 : END IF
27457 175748 : END SUBROUTINE bits2ints_36
27458 :
27459 : ! **************************************************************************************************
27460 : !> \brief ...
27461 : !> \param Ndata ...
27462 : !> \param packed_data ...
27463 : !> \param full_data ...
27464 : ! **************************************************************************************************
27465 35359 : 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 35359 : idata = 0
27476 35359 : ipack = 0
27477 35359 : Ndata_rep = (Ndata/64)*64
27478 35359 : DO kdata = 1, Ndata_rep, 64
27479 489892 : pack_tmp = 0
27480 489892 : idata = idata + 1
27481 489892 : data_tmp = full_data(idata)
27482 489892 : data_tmp = ISHFT(data_tmp, 27)
27483 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27484 489892 : pack_tmp = ISHFT(pack_tmp, -27)
27485 489892 : idata = idata + 1
27486 489892 : data_tmp = full_data(idata)
27487 489892 : data_tmp = ISHFT(data_tmp, 27)
27488 489892 : data_tmp = IAND(data_tmp, mask_left(27))
27489 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27490 489892 : ipack = ipack + 1
27491 489892 : packed_data(ipack) = pack_tmp
27492 489892 : data_tmp = full_data(idata)
27493 489892 : pack_tmp = ISHFT(data_tmp, 54)
27494 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27495 489892 : idata = idata + 1
27496 489892 : data_tmp = full_data(idata)
27497 489892 : data_tmp = ISHFT(data_tmp, 27)
27498 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27499 489892 : pack_tmp = ISHFT(pack_tmp, -17)
27500 489892 : idata = idata + 1
27501 489892 : data_tmp = full_data(idata)
27502 489892 : data_tmp = ISHFT(data_tmp, 27)
27503 489892 : data_tmp = IAND(data_tmp, mask_left(17))
27504 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27505 489892 : ipack = ipack + 1
27506 489892 : packed_data(ipack) = pack_tmp
27507 489892 : data_tmp = full_data(idata)
27508 489892 : pack_tmp = ISHFT(data_tmp, 44)
27509 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27510 489892 : idata = idata + 1
27511 489892 : data_tmp = full_data(idata)
27512 489892 : data_tmp = ISHFT(data_tmp, 27)
27513 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27514 489892 : pack_tmp = ISHFT(pack_tmp, -7)
27515 489892 : idata = idata + 1
27516 489892 : data_tmp = full_data(idata)
27517 489892 : data_tmp = ISHFT(data_tmp, 27)
27518 489892 : data_tmp = IAND(data_tmp, mask_left(7))
27519 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27520 489892 : ipack = ipack + 1
27521 489892 : packed_data(ipack) = pack_tmp
27522 489892 : data_tmp = full_data(idata)
27523 489892 : pack_tmp = ISHFT(data_tmp, 34)
27524 489892 : pack_tmp = ISHFT(pack_tmp, -34)
27525 489892 : idata = idata + 1
27526 489892 : data_tmp = full_data(idata)
27527 489892 : data_tmp = ISHFT(data_tmp, 27)
27528 489892 : data_tmp = IAND(data_tmp, mask_left(34))
27529 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27530 489892 : ipack = ipack + 1
27531 489892 : packed_data(ipack) = pack_tmp
27532 489892 : data_tmp = full_data(idata)
27533 489892 : pack_tmp = ISHFT(data_tmp, 61)
27534 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27535 489892 : idata = idata + 1
27536 489892 : data_tmp = full_data(idata)
27537 489892 : data_tmp = ISHFT(data_tmp, 27)
27538 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27539 489892 : pack_tmp = ISHFT(pack_tmp, -24)
27540 489892 : idata = idata + 1
27541 489892 : data_tmp = full_data(idata)
27542 489892 : data_tmp = ISHFT(data_tmp, 27)
27543 489892 : data_tmp = IAND(data_tmp, mask_left(24))
27544 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27545 489892 : ipack = ipack + 1
27546 489892 : packed_data(ipack) = pack_tmp
27547 489892 : data_tmp = full_data(idata)
27548 489892 : pack_tmp = ISHFT(data_tmp, 51)
27549 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27550 489892 : idata = idata + 1
27551 489892 : data_tmp = full_data(idata)
27552 489892 : data_tmp = ISHFT(data_tmp, 27)
27553 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27554 489892 : pack_tmp = ISHFT(pack_tmp, -14)
27555 489892 : idata = idata + 1
27556 489892 : data_tmp = full_data(idata)
27557 489892 : data_tmp = ISHFT(data_tmp, 27)
27558 489892 : data_tmp = IAND(data_tmp, mask_left(14))
27559 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27560 489892 : ipack = ipack + 1
27561 489892 : packed_data(ipack) = pack_tmp
27562 489892 : data_tmp = full_data(idata)
27563 489892 : pack_tmp = ISHFT(data_tmp, 41)
27564 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27565 489892 : idata = idata + 1
27566 489892 : data_tmp = full_data(idata)
27567 489892 : data_tmp = ISHFT(data_tmp, 27)
27568 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27569 489892 : pack_tmp = ISHFT(pack_tmp, -4)
27570 489892 : idata = idata + 1
27571 489892 : data_tmp = full_data(idata)
27572 489892 : data_tmp = ISHFT(data_tmp, 27)
27573 489892 : data_tmp = IAND(data_tmp, mask_left(4))
27574 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27575 489892 : ipack = ipack + 1
27576 489892 : packed_data(ipack) = pack_tmp
27577 489892 : data_tmp = full_data(idata)
27578 489892 : pack_tmp = ISHFT(data_tmp, 31)
27579 489892 : pack_tmp = ISHFT(pack_tmp, -31)
27580 489892 : idata = idata + 1
27581 489892 : data_tmp = full_data(idata)
27582 489892 : data_tmp = ISHFT(data_tmp, 27)
27583 489892 : data_tmp = IAND(data_tmp, mask_left(31))
27584 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27585 489892 : ipack = ipack + 1
27586 489892 : packed_data(ipack) = pack_tmp
27587 489892 : data_tmp = full_data(idata)
27588 489892 : pack_tmp = ISHFT(data_tmp, 58)
27589 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27590 489892 : idata = idata + 1
27591 489892 : data_tmp = full_data(idata)
27592 489892 : data_tmp = ISHFT(data_tmp, 27)
27593 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27594 489892 : pack_tmp = ISHFT(pack_tmp, -21)
27595 489892 : idata = idata + 1
27596 489892 : data_tmp = full_data(idata)
27597 489892 : data_tmp = ISHFT(data_tmp, 27)
27598 489892 : data_tmp = IAND(data_tmp, mask_left(21))
27599 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27600 489892 : ipack = ipack + 1
27601 489892 : packed_data(ipack) = pack_tmp
27602 489892 : data_tmp = full_data(idata)
27603 489892 : pack_tmp = ISHFT(data_tmp, 48)
27604 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27605 489892 : idata = idata + 1
27606 489892 : data_tmp = full_data(idata)
27607 489892 : data_tmp = ISHFT(data_tmp, 27)
27608 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27609 489892 : pack_tmp = ISHFT(pack_tmp, -11)
27610 489892 : idata = idata + 1
27611 489892 : data_tmp = full_data(idata)
27612 489892 : data_tmp = ISHFT(data_tmp, 27)
27613 489892 : data_tmp = IAND(data_tmp, mask_left(11))
27614 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27615 489892 : ipack = ipack + 1
27616 489892 : packed_data(ipack) = pack_tmp
27617 489892 : data_tmp = full_data(idata)
27618 489892 : pack_tmp = ISHFT(data_tmp, 38)
27619 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27620 489892 : idata = idata + 1
27621 489892 : data_tmp = full_data(idata)
27622 489892 : data_tmp = ISHFT(data_tmp, 27)
27623 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27624 489892 : pack_tmp = ISHFT(pack_tmp, -1)
27625 489892 : idata = idata + 1
27626 489892 : data_tmp = full_data(idata)
27627 489892 : data_tmp = ISHFT(data_tmp, 27)
27628 489892 : data_tmp = IAND(data_tmp, mask_left(1))
27629 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27630 489892 : ipack = ipack + 1
27631 489892 : packed_data(ipack) = pack_tmp
27632 489892 : data_tmp = full_data(idata)
27633 489892 : pack_tmp = ISHFT(data_tmp, 28)
27634 489892 : pack_tmp = ISHFT(pack_tmp, -28)
27635 489892 : idata = idata + 1
27636 489892 : data_tmp = full_data(idata)
27637 489892 : data_tmp = ISHFT(data_tmp, 27)
27638 489892 : data_tmp = IAND(data_tmp, mask_left(28))
27639 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27640 489892 : ipack = ipack + 1
27641 489892 : packed_data(ipack) = pack_tmp
27642 489892 : data_tmp = full_data(idata)
27643 489892 : pack_tmp = ISHFT(data_tmp, 55)
27644 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27645 489892 : idata = idata + 1
27646 489892 : data_tmp = full_data(idata)
27647 489892 : data_tmp = ISHFT(data_tmp, 27)
27648 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27649 489892 : pack_tmp = ISHFT(pack_tmp, -18)
27650 489892 : idata = idata + 1
27651 489892 : data_tmp = full_data(idata)
27652 489892 : data_tmp = ISHFT(data_tmp, 27)
27653 489892 : data_tmp = IAND(data_tmp, mask_left(18))
27654 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27655 489892 : ipack = ipack + 1
27656 489892 : packed_data(ipack) = pack_tmp
27657 489892 : data_tmp = full_data(idata)
27658 489892 : pack_tmp = ISHFT(data_tmp, 45)
27659 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27660 489892 : idata = idata + 1
27661 489892 : data_tmp = full_data(idata)
27662 489892 : data_tmp = ISHFT(data_tmp, 27)
27663 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27664 489892 : pack_tmp = ISHFT(pack_tmp, -8)
27665 489892 : idata = idata + 1
27666 489892 : data_tmp = full_data(idata)
27667 489892 : data_tmp = ISHFT(data_tmp, 27)
27668 489892 : data_tmp = IAND(data_tmp, mask_left(8))
27669 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27670 489892 : ipack = ipack + 1
27671 489892 : packed_data(ipack) = pack_tmp
27672 489892 : data_tmp = full_data(idata)
27673 489892 : pack_tmp = ISHFT(data_tmp, 35)
27674 489892 : pack_tmp = ISHFT(pack_tmp, -35)
27675 489892 : idata = idata + 1
27676 489892 : data_tmp = full_data(idata)
27677 489892 : data_tmp = ISHFT(data_tmp, 27)
27678 489892 : data_tmp = IAND(data_tmp, mask_left(35))
27679 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27680 489892 : ipack = ipack + 1
27681 489892 : packed_data(ipack) = pack_tmp
27682 489892 : data_tmp = full_data(idata)
27683 489892 : pack_tmp = ISHFT(data_tmp, 62)
27684 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27685 489892 : idata = idata + 1
27686 489892 : data_tmp = full_data(idata)
27687 489892 : data_tmp = ISHFT(data_tmp, 27)
27688 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27689 489892 : pack_tmp = ISHFT(pack_tmp, -25)
27690 489892 : idata = idata + 1
27691 489892 : data_tmp = full_data(idata)
27692 489892 : data_tmp = ISHFT(data_tmp, 27)
27693 489892 : data_tmp = IAND(data_tmp, mask_left(25))
27694 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27695 489892 : ipack = ipack + 1
27696 489892 : packed_data(ipack) = pack_tmp
27697 489892 : data_tmp = full_data(idata)
27698 489892 : pack_tmp = ISHFT(data_tmp, 52)
27699 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27700 489892 : idata = idata + 1
27701 489892 : data_tmp = full_data(idata)
27702 489892 : data_tmp = ISHFT(data_tmp, 27)
27703 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27704 489892 : pack_tmp = ISHFT(pack_tmp, -15)
27705 489892 : idata = idata + 1
27706 489892 : data_tmp = full_data(idata)
27707 489892 : data_tmp = ISHFT(data_tmp, 27)
27708 489892 : data_tmp = IAND(data_tmp, mask_left(15))
27709 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27710 489892 : ipack = ipack + 1
27711 489892 : packed_data(ipack) = pack_tmp
27712 489892 : data_tmp = full_data(idata)
27713 489892 : pack_tmp = ISHFT(data_tmp, 42)
27714 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27715 489892 : idata = idata + 1
27716 489892 : data_tmp = full_data(idata)
27717 489892 : data_tmp = ISHFT(data_tmp, 27)
27718 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27719 489892 : pack_tmp = ISHFT(pack_tmp, -5)
27720 489892 : idata = idata + 1
27721 489892 : data_tmp = full_data(idata)
27722 489892 : data_tmp = ISHFT(data_tmp, 27)
27723 489892 : data_tmp = IAND(data_tmp, mask_left(5))
27724 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27725 489892 : ipack = ipack + 1
27726 489892 : packed_data(ipack) = pack_tmp
27727 489892 : data_tmp = full_data(idata)
27728 489892 : pack_tmp = ISHFT(data_tmp, 32)
27729 489892 : pack_tmp = ISHFT(pack_tmp, -32)
27730 489892 : idata = idata + 1
27731 489892 : data_tmp = full_data(idata)
27732 489892 : data_tmp = ISHFT(data_tmp, 27)
27733 489892 : data_tmp = IAND(data_tmp, mask_left(32))
27734 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27735 489892 : ipack = ipack + 1
27736 489892 : packed_data(ipack) = pack_tmp
27737 489892 : data_tmp = full_data(idata)
27738 489892 : pack_tmp = ISHFT(data_tmp, 59)
27739 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27740 489892 : idata = idata + 1
27741 489892 : data_tmp = full_data(idata)
27742 489892 : data_tmp = ISHFT(data_tmp, 27)
27743 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27744 489892 : pack_tmp = ISHFT(pack_tmp, -22)
27745 489892 : idata = idata + 1
27746 489892 : data_tmp = full_data(idata)
27747 489892 : data_tmp = ISHFT(data_tmp, 27)
27748 489892 : data_tmp = IAND(data_tmp, mask_left(22))
27749 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27750 489892 : ipack = ipack + 1
27751 489892 : packed_data(ipack) = pack_tmp
27752 489892 : data_tmp = full_data(idata)
27753 489892 : pack_tmp = ISHFT(data_tmp, 49)
27754 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27755 489892 : idata = idata + 1
27756 489892 : data_tmp = full_data(idata)
27757 489892 : data_tmp = ISHFT(data_tmp, 27)
27758 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27759 489892 : pack_tmp = ISHFT(pack_tmp, -12)
27760 489892 : idata = idata + 1
27761 489892 : data_tmp = full_data(idata)
27762 489892 : data_tmp = ISHFT(data_tmp, 27)
27763 489892 : data_tmp = IAND(data_tmp, mask_left(12))
27764 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27765 489892 : ipack = ipack + 1
27766 489892 : packed_data(ipack) = pack_tmp
27767 489892 : data_tmp = full_data(idata)
27768 489892 : pack_tmp = ISHFT(data_tmp, 39)
27769 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27770 489892 : idata = idata + 1
27771 489892 : data_tmp = full_data(idata)
27772 489892 : data_tmp = ISHFT(data_tmp, 27)
27773 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27774 489892 : pack_tmp = ISHFT(pack_tmp, -2)
27775 489892 : idata = idata + 1
27776 489892 : data_tmp = full_data(idata)
27777 489892 : data_tmp = ISHFT(data_tmp, 27)
27778 489892 : data_tmp = IAND(data_tmp, mask_left(2))
27779 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27780 489892 : ipack = ipack + 1
27781 489892 : packed_data(ipack) = pack_tmp
27782 489892 : data_tmp = full_data(idata)
27783 489892 : pack_tmp = ISHFT(data_tmp, 29)
27784 489892 : pack_tmp = ISHFT(pack_tmp, -29)
27785 489892 : idata = idata + 1
27786 489892 : data_tmp = full_data(idata)
27787 489892 : data_tmp = ISHFT(data_tmp, 27)
27788 489892 : data_tmp = IAND(data_tmp, mask_left(29))
27789 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27790 489892 : ipack = ipack + 1
27791 489892 : packed_data(ipack) = pack_tmp
27792 489892 : data_tmp = full_data(idata)
27793 489892 : pack_tmp = ISHFT(data_tmp, 56)
27794 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27795 489892 : idata = idata + 1
27796 489892 : data_tmp = full_data(idata)
27797 489892 : data_tmp = ISHFT(data_tmp, 27)
27798 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27799 489892 : pack_tmp = ISHFT(pack_tmp, -19)
27800 489892 : idata = idata + 1
27801 489892 : data_tmp = full_data(idata)
27802 489892 : data_tmp = ISHFT(data_tmp, 27)
27803 489892 : data_tmp = IAND(data_tmp, mask_left(19))
27804 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27805 489892 : ipack = ipack + 1
27806 489892 : packed_data(ipack) = pack_tmp
27807 489892 : data_tmp = full_data(idata)
27808 489892 : pack_tmp = ISHFT(data_tmp, 46)
27809 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27810 489892 : idata = idata + 1
27811 489892 : data_tmp = full_data(idata)
27812 489892 : data_tmp = ISHFT(data_tmp, 27)
27813 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27814 489892 : pack_tmp = ISHFT(pack_tmp, -9)
27815 489892 : idata = idata + 1
27816 489892 : data_tmp = full_data(idata)
27817 489892 : data_tmp = ISHFT(data_tmp, 27)
27818 489892 : data_tmp = IAND(data_tmp, mask_left(9))
27819 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27820 489892 : ipack = ipack + 1
27821 489892 : packed_data(ipack) = pack_tmp
27822 489892 : data_tmp = full_data(idata)
27823 489892 : pack_tmp = ISHFT(data_tmp, 36)
27824 489892 : pack_tmp = ISHFT(pack_tmp, -36)
27825 489892 : idata = idata + 1
27826 489892 : data_tmp = full_data(idata)
27827 489892 : data_tmp = ISHFT(data_tmp, 27)
27828 489892 : data_tmp = IAND(data_tmp, mask_left(36))
27829 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27830 489892 : ipack = ipack + 1
27831 489892 : packed_data(ipack) = pack_tmp
27832 489892 : data_tmp = full_data(idata)
27833 489892 : pack_tmp = ISHFT(data_tmp, 63)
27834 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27835 489892 : idata = idata + 1
27836 489892 : data_tmp = full_data(idata)
27837 489892 : data_tmp = ISHFT(data_tmp, 27)
27838 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27839 489892 : pack_tmp = ISHFT(pack_tmp, -26)
27840 489892 : idata = idata + 1
27841 489892 : data_tmp = full_data(idata)
27842 489892 : data_tmp = ISHFT(data_tmp, 27)
27843 489892 : data_tmp = IAND(data_tmp, mask_left(26))
27844 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27845 489892 : ipack = ipack + 1
27846 489892 : packed_data(ipack) = pack_tmp
27847 489892 : data_tmp = full_data(idata)
27848 489892 : pack_tmp = ISHFT(data_tmp, 53)
27849 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27850 489892 : idata = idata + 1
27851 489892 : data_tmp = full_data(idata)
27852 489892 : data_tmp = ISHFT(data_tmp, 27)
27853 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27854 489892 : pack_tmp = ISHFT(pack_tmp, -16)
27855 489892 : idata = idata + 1
27856 489892 : data_tmp = full_data(idata)
27857 489892 : data_tmp = ISHFT(data_tmp, 27)
27858 489892 : data_tmp = IAND(data_tmp, mask_left(16))
27859 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27860 489892 : ipack = ipack + 1
27861 489892 : packed_data(ipack) = pack_tmp
27862 489892 : data_tmp = full_data(idata)
27863 489892 : pack_tmp = ISHFT(data_tmp, 43)
27864 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27865 489892 : idata = idata + 1
27866 489892 : data_tmp = full_data(idata)
27867 489892 : data_tmp = ISHFT(data_tmp, 27)
27868 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27869 489892 : pack_tmp = ISHFT(pack_tmp, -6)
27870 489892 : idata = idata + 1
27871 489892 : data_tmp = full_data(idata)
27872 489892 : data_tmp = ISHFT(data_tmp, 27)
27873 489892 : data_tmp = IAND(data_tmp, mask_left(6))
27874 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27875 489892 : ipack = ipack + 1
27876 489892 : packed_data(ipack) = pack_tmp
27877 489892 : data_tmp = full_data(idata)
27878 489892 : pack_tmp = ISHFT(data_tmp, 33)
27879 489892 : pack_tmp = ISHFT(pack_tmp, -33)
27880 489892 : idata = idata + 1
27881 489892 : data_tmp = full_data(idata)
27882 489892 : data_tmp = ISHFT(data_tmp, 27)
27883 489892 : data_tmp = IAND(data_tmp, mask_left(33))
27884 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27885 489892 : ipack = ipack + 1
27886 489892 : packed_data(ipack) = pack_tmp
27887 489892 : data_tmp = full_data(idata)
27888 489892 : pack_tmp = ISHFT(data_tmp, 60)
27889 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27890 489892 : idata = idata + 1
27891 489892 : data_tmp = full_data(idata)
27892 489892 : data_tmp = ISHFT(data_tmp, 27)
27893 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27894 489892 : pack_tmp = ISHFT(pack_tmp, -23)
27895 489892 : idata = idata + 1
27896 489892 : data_tmp = full_data(idata)
27897 489892 : data_tmp = ISHFT(data_tmp, 27)
27898 489892 : data_tmp = IAND(data_tmp, mask_left(23))
27899 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27900 489892 : ipack = ipack + 1
27901 489892 : packed_data(ipack) = pack_tmp
27902 489892 : data_tmp = full_data(idata)
27903 489892 : pack_tmp = ISHFT(data_tmp, 50)
27904 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27905 489892 : idata = idata + 1
27906 489892 : data_tmp = full_data(idata)
27907 489892 : data_tmp = ISHFT(data_tmp, 27)
27908 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27909 489892 : pack_tmp = ISHFT(pack_tmp, -13)
27910 489892 : idata = idata + 1
27911 489892 : data_tmp = full_data(idata)
27912 489892 : data_tmp = ISHFT(data_tmp, 27)
27913 489892 : data_tmp = IAND(data_tmp, mask_left(13))
27914 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27915 489892 : ipack = ipack + 1
27916 489892 : packed_data(ipack) = pack_tmp
27917 489892 : data_tmp = full_data(idata)
27918 489892 : pack_tmp = ISHFT(data_tmp, 40)
27919 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27920 489892 : idata = idata + 1
27921 489892 : data_tmp = full_data(idata)
27922 489892 : data_tmp = ISHFT(data_tmp, 27)
27923 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27924 489892 : pack_tmp = ISHFT(pack_tmp, -3)
27925 489892 : idata = idata + 1
27926 489892 : data_tmp = full_data(idata)
27927 489892 : data_tmp = ISHFT(data_tmp, 27)
27928 489892 : data_tmp = IAND(data_tmp, mask_left(3))
27929 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27930 489892 : ipack = ipack + 1
27931 489892 : packed_data(ipack) = pack_tmp
27932 489892 : data_tmp = full_data(idata)
27933 489892 : pack_tmp = ISHFT(data_tmp, 30)
27934 489892 : pack_tmp = ISHFT(pack_tmp, -30)
27935 489892 : idata = idata + 1
27936 489892 : data_tmp = full_data(idata)
27937 489892 : data_tmp = ISHFT(data_tmp, 27)
27938 489892 : data_tmp = IAND(data_tmp, mask_left(30))
27939 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27940 489892 : ipack = ipack + 1
27941 489892 : packed_data(ipack) = pack_tmp
27942 489892 : data_tmp = full_data(idata)
27943 489892 : pack_tmp = ISHFT(data_tmp, 57)
27944 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27945 489892 : idata = idata + 1
27946 489892 : data_tmp = full_data(idata)
27947 489892 : data_tmp = ISHFT(data_tmp, 27)
27948 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27949 489892 : pack_tmp = ISHFT(pack_tmp, -20)
27950 489892 : idata = idata + 1
27951 489892 : data_tmp = full_data(idata)
27952 489892 : data_tmp = ISHFT(data_tmp, 27)
27953 489892 : data_tmp = IAND(data_tmp, mask_left(20))
27954 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27955 489892 : ipack = ipack + 1
27956 489892 : packed_data(ipack) = pack_tmp
27957 489892 : data_tmp = full_data(idata)
27958 489892 : pack_tmp = ISHFT(data_tmp, 47)
27959 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27960 489892 : idata = idata + 1
27961 489892 : data_tmp = full_data(idata)
27962 489892 : data_tmp = ISHFT(data_tmp, 27)
27963 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27964 489892 : pack_tmp = ISHFT(pack_tmp, -10)
27965 489892 : idata = idata + 1
27966 489892 : data_tmp = full_data(idata)
27967 489892 : data_tmp = ISHFT(data_tmp, 27)
27968 489892 : data_tmp = IAND(data_tmp, mask_left(10))
27969 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27970 489892 : ipack = ipack + 1
27971 489892 : packed_data(ipack) = pack_tmp
27972 489892 : data_tmp = full_data(idata)
27973 489892 : pack_tmp = ISHFT(data_tmp, 37)
27974 489892 : pack_tmp = ISHFT(pack_tmp, -37)
27975 489892 : idata = idata + 1
27976 489892 : data_tmp = full_data(idata)
27977 489892 : data_tmp = ISHFT(data_tmp, 27)
27978 489892 : pack_tmp = IOR(pack_tmp, data_tmp)
27979 : pack_tmp = ISHFT(pack_tmp, 0)
27980 489892 : pack_tmp = ISHFT(pack_tmp, 0)
27981 489892 : ipack = ipack + 1
27982 489915 : packed_data(ipack) = pack_tmp
27983 : END DO
27984 35359 : 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 35359 : END SUBROUTINE ints2bits_37
27988 :
27989 : ! **************************************************************************************************
27990 : !> \brief ...
27991 : !> \param Ndata ...
27992 : !> \param packed_data ...
27993 : !> \param full_data ...
27994 : ! **************************************************************************************************
27995 148792 : 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 148792 : ipack = 0
28006 148792 : idata = 0
28007 148792 : pack_tmp = 0
28008 148792 : Ndata_rep = (Ndata/64)*64
28009 148792 : DO kdata = 1, Ndata_rep, 64
28010 2024813 : idata = idata + 1
28011 2024813 : data_tmp = ISHFT(pack_tmp, 37)
28012 2024813 : ipack = ipack + 1
28013 2024813 : pack_tmp = packed_data(ipack)
28014 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
28015 2024813 : pack_tmp = ISHFT(pack_tmp, -37)
28016 2024813 : idata = idata + 1
28017 2024813 : data_tmp = ISHFT(pack_tmp, 10)
28018 2024813 : ipack = ipack + 1
28019 2024813 : pack_tmp = packed_data(ipack)
28020 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28021 2024813 : pack_tmp = ISHFT(pack_tmp, -10)
28022 2024813 : idata = idata + 1
28023 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28024 2024813 : full_data(idata) = data_tmp
28025 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28026 2024813 : idata = idata + 1
28027 2024813 : data_tmp = ISHFT(pack_tmp, 20)
28028 2024813 : ipack = ipack + 1
28029 2024813 : pack_tmp = packed_data(ipack)
28030 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28031 2024813 : pack_tmp = ISHFT(pack_tmp, -20)
28032 2024813 : idata = idata + 1
28033 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28034 2024813 : full_data(idata) = data_tmp
28035 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28036 2024813 : idata = idata + 1
28037 2024813 : data_tmp = ISHFT(pack_tmp, 30)
28038 2024813 : ipack = ipack + 1
28039 2024813 : pack_tmp = packed_data(ipack)
28040 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
28041 2024813 : pack_tmp = ISHFT(pack_tmp, -30)
28042 2024813 : idata = idata + 1
28043 2024813 : data_tmp = ISHFT(pack_tmp, 3)
28044 2024813 : ipack = ipack + 1
28045 2024813 : pack_tmp = packed_data(ipack)
28046 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
28047 2024813 : pack_tmp = ISHFT(pack_tmp, -3)
28048 2024813 : idata = idata + 1
28049 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28050 2024813 : full_data(idata) = data_tmp
28051 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28052 2024813 : idata = idata + 1
28053 2024813 : data_tmp = ISHFT(pack_tmp, 13)
28054 2024813 : ipack = ipack + 1
28055 2024813 : pack_tmp = packed_data(ipack)
28056 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
28057 2024813 : pack_tmp = ISHFT(pack_tmp, -13)
28058 2024813 : idata = idata + 1
28059 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28060 2024813 : full_data(idata) = data_tmp
28061 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28062 2024813 : idata = idata + 1
28063 2024813 : data_tmp = ISHFT(pack_tmp, 23)
28064 2024813 : ipack = ipack + 1
28065 2024813 : pack_tmp = packed_data(ipack)
28066 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
28067 2024813 : pack_tmp = ISHFT(pack_tmp, -23)
28068 2024813 : idata = idata + 1
28069 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28070 2024813 : full_data(idata) = data_tmp
28071 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28072 2024813 : idata = idata + 1
28073 2024813 : data_tmp = ISHFT(pack_tmp, 33)
28074 2024813 : ipack = ipack + 1
28075 2024813 : pack_tmp = packed_data(ipack)
28076 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
28077 2024813 : pack_tmp = ISHFT(pack_tmp, -33)
28078 2024813 : idata = idata + 1
28079 2024813 : data_tmp = ISHFT(pack_tmp, 6)
28080 2024813 : ipack = ipack + 1
28081 2024813 : pack_tmp = packed_data(ipack)
28082 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28083 2024813 : pack_tmp = ISHFT(pack_tmp, -6)
28084 2024813 : idata = idata + 1
28085 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28086 2024813 : full_data(idata) = data_tmp
28087 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28088 2024813 : idata = idata + 1
28089 2024813 : data_tmp = ISHFT(pack_tmp, 16)
28090 2024813 : ipack = ipack + 1
28091 2024813 : pack_tmp = packed_data(ipack)
28092 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
28093 2024813 : pack_tmp = ISHFT(pack_tmp, -16)
28094 2024813 : idata = idata + 1
28095 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28096 2024813 : full_data(idata) = data_tmp
28097 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28098 2024813 : idata = idata + 1
28099 2024813 : data_tmp = ISHFT(pack_tmp, 26)
28100 2024813 : ipack = ipack + 1
28101 2024813 : pack_tmp = packed_data(ipack)
28102 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
28103 2024813 : pack_tmp = ISHFT(pack_tmp, -26)
28104 2024813 : idata = idata + 1
28105 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28106 2024813 : full_data(idata) = data_tmp
28107 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28108 2024813 : idata = idata + 1
28109 2024813 : data_tmp = ISHFT(pack_tmp, 36)
28110 2024813 : ipack = ipack + 1
28111 2024813 : pack_tmp = packed_data(ipack)
28112 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28113 2024813 : pack_tmp = ISHFT(pack_tmp, -36)
28114 2024813 : idata = idata + 1
28115 2024813 : data_tmp = ISHFT(pack_tmp, 9)
28116 2024813 : ipack = ipack + 1
28117 2024813 : pack_tmp = packed_data(ipack)
28118 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
28119 2024813 : pack_tmp = ISHFT(pack_tmp, -9)
28120 2024813 : idata = idata + 1
28121 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28122 2024813 : full_data(idata) = data_tmp
28123 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28124 2024813 : idata = idata + 1
28125 2024813 : data_tmp = ISHFT(pack_tmp, 19)
28126 2024813 : ipack = ipack + 1
28127 2024813 : pack_tmp = packed_data(ipack)
28128 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
28129 2024813 : pack_tmp = ISHFT(pack_tmp, -19)
28130 2024813 : idata = idata + 1
28131 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28132 2024813 : full_data(idata) = data_tmp
28133 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28134 2024813 : idata = idata + 1
28135 2024813 : data_tmp = ISHFT(pack_tmp, 29)
28136 2024813 : ipack = ipack + 1
28137 2024813 : pack_tmp = packed_data(ipack)
28138 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
28139 2024813 : pack_tmp = ISHFT(pack_tmp, -29)
28140 2024813 : idata = idata + 1
28141 2024813 : data_tmp = ISHFT(pack_tmp, 2)
28142 2024813 : ipack = ipack + 1
28143 2024813 : pack_tmp = packed_data(ipack)
28144 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
28145 2024813 : pack_tmp = ISHFT(pack_tmp, -2)
28146 2024813 : idata = idata + 1
28147 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28148 2024813 : full_data(idata) = data_tmp
28149 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28150 2024813 : idata = idata + 1
28151 2024813 : data_tmp = ISHFT(pack_tmp, 12)
28152 2024813 : ipack = ipack + 1
28153 2024813 : pack_tmp = packed_data(ipack)
28154 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28155 2024813 : pack_tmp = ISHFT(pack_tmp, -12)
28156 2024813 : idata = idata + 1
28157 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28158 2024813 : full_data(idata) = data_tmp
28159 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28160 2024813 : idata = idata + 1
28161 2024813 : data_tmp = ISHFT(pack_tmp, 22)
28162 2024813 : ipack = ipack + 1
28163 2024813 : pack_tmp = packed_data(ipack)
28164 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28165 2024813 : pack_tmp = ISHFT(pack_tmp, -22)
28166 2024813 : idata = idata + 1
28167 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28168 2024813 : full_data(idata) = data_tmp
28169 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28170 2024813 : idata = idata + 1
28171 2024813 : data_tmp = ISHFT(pack_tmp, 32)
28172 2024813 : ipack = ipack + 1
28173 2024813 : pack_tmp = packed_data(ipack)
28174 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28175 2024813 : pack_tmp = ISHFT(pack_tmp, -32)
28176 2024813 : idata = idata + 1
28177 2024813 : data_tmp = ISHFT(pack_tmp, 5)
28178 2024813 : ipack = ipack + 1
28179 2024813 : pack_tmp = packed_data(ipack)
28180 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
28181 2024813 : pack_tmp = ISHFT(pack_tmp, -5)
28182 2024813 : idata = idata + 1
28183 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28184 2024813 : full_data(idata) = data_tmp
28185 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28186 2024813 : idata = idata + 1
28187 2024813 : data_tmp = ISHFT(pack_tmp, 15)
28188 2024813 : ipack = ipack + 1
28189 2024813 : pack_tmp = packed_data(ipack)
28190 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
28191 2024813 : pack_tmp = ISHFT(pack_tmp, -15)
28192 2024813 : idata = idata + 1
28193 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28194 2024813 : full_data(idata) = data_tmp
28195 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28196 2024813 : idata = idata + 1
28197 2024813 : data_tmp = ISHFT(pack_tmp, 25)
28198 2024813 : ipack = ipack + 1
28199 2024813 : pack_tmp = packed_data(ipack)
28200 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
28201 2024813 : pack_tmp = ISHFT(pack_tmp, -25)
28202 2024813 : idata = idata + 1
28203 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28204 2024813 : full_data(idata) = data_tmp
28205 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28206 2024813 : idata = idata + 1
28207 2024813 : data_tmp = ISHFT(pack_tmp, 35)
28208 2024813 : ipack = ipack + 1
28209 2024813 : pack_tmp = packed_data(ipack)
28210 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
28211 2024813 : pack_tmp = ISHFT(pack_tmp, -35)
28212 2024813 : idata = idata + 1
28213 2024813 : data_tmp = ISHFT(pack_tmp, 8)
28214 2024813 : ipack = ipack + 1
28215 2024813 : pack_tmp = packed_data(ipack)
28216 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28217 2024813 : pack_tmp = ISHFT(pack_tmp, -8)
28218 2024813 : idata = idata + 1
28219 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28220 2024813 : full_data(idata) = data_tmp
28221 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28222 2024813 : idata = idata + 1
28223 2024813 : data_tmp = ISHFT(pack_tmp, 18)
28224 2024813 : ipack = ipack + 1
28225 2024813 : pack_tmp = packed_data(ipack)
28226 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
28227 2024813 : pack_tmp = ISHFT(pack_tmp, -18)
28228 2024813 : idata = idata + 1
28229 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28230 2024813 : full_data(idata) = data_tmp
28231 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28232 2024813 : idata = idata + 1
28233 2024813 : data_tmp = ISHFT(pack_tmp, 28)
28234 2024813 : ipack = ipack + 1
28235 2024813 : pack_tmp = packed_data(ipack)
28236 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
28237 2024813 : pack_tmp = ISHFT(pack_tmp, -28)
28238 2024813 : idata = idata + 1
28239 2024813 : data_tmp = ISHFT(pack_tmp, 1)
28240 2024813 : ipack = ipack + 1
28241 2024813 : pack_tmp = packed_data(ipack)
28242 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
28243 2024813 : pack_tmp = ISHFT(pack_tmp, -1)
28244 2024813 : idata = idata + 1
28245 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28246 2024813 : full_data(idata) = data_tmp
28247 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28248 2024813 : idata = idata + 1
28249 2024813 : data_tmp = ISHFT(pack_tmp, 11)
28250 2024813 : ipack = ipack + 1
28251 2024813 : pack_tmp = packed_data(ipack)
28252 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
28253 2024813 : pack_tmp = ISHFT(pack_tmp, -11)
28254 2024813 : idata = idata + 1
28255 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28256 2024813 : full_data(idata) = data_tmp
28257 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28258 2024813 : idata = idata + 1
28259 2024813 : data_tmp = ISHFT(pack_tmp, 21)
28260 2024813 : ipack = ipack + 1
28261 2024813 : pack_tmp = packed_data(ipack)
28262 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
28263 2024813 : pack_tmp = ISHFT(pack_tmp, -21)
28264 2024813 : idata = idata + 1
28265 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28266 2024813 : full_data(idata) = data_tmp
28267 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28268 2024813 : idata = idata + 1
28269 2024813 : data_tmp = ISHFT(pack_tmp, 31)
28270 2024813 : ipack = ipack + 1
28271 2024813 : pack_tmp = packed_data(ipack)
28272 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
28273 2024813 : pack_tmp = ISHFT(pack_tmp, -31)
28274 2024813 : idata = idata + 1
28275 2024813 : data_tmp = ISHFT(pack_tmp, 4)
28276 2024813 : ipack = ipack + 1
28277 2024813 : pack_tmp = packed_data(ipack)
28278 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
28279 2024813 : pack_tmp = ISHFT(pack_tmp, -4)
28280 2024813 : idata = idata + 1
28281 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28282 2024813 : full_data(idata) = data_tmp
28283 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28284 2024813 : idata = idata + 1
28285 2024813 : data_tmp = ISHFT(pack_tmp, 14)
28286 2024813 : ipack = ipack + 1
28287 2024813 : pack_tmp = packed_data(ipack)
28288 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
28289 2024813 : pack_tmp = ISHFT(pack_tmp, -14)
28290 2024813 : idata = idata + 1
28291 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28292 2024813 : full_data(idata) = data_tmp
28293 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28294 2024813 : idata = idata + 1
28295 2024813 : data_tmp = ISHFT(pack_tmp, 24)
28296 2024813 : ipack = ipack + 1
28297 2024813 : pack_tmp = packed_data(ipack)
28298 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28299 2024813 : pack_tmp = ISHFT(pack_tmp, -24)
28300 2024813 : idata = idata + 1
28301 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28302 2024813 : full_data(idata) = data_tmp
28303 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28304 2024813 : idata = idata + 1
28305 2024813 : data_tmp = ISHFT(pack_tmp, 34)
28306 2024813 : ipack = ipack + 1
28307 2024813 : pack_tmp = packed_data(ipack)
28308 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28309 2024813 : pack_tmp = ISHFT(pack_tmp, -34)
28310 2024813 : idata = idata + 1
28311 2024813 : data_tmp = ISHFT(pack_tmp, 7)
28312 2024813 : ipack = ipack + 1
28313 2024813 : pack_tmp = packed_data(ipack)
28314 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
28315 2024813 : pack_tmp = ISHFT(pack_tmp, -7)
28316 2024813 : idata = idata + 1
28317 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28318 2024813 : full_data(idata) = data_tmp
28319 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28320 2024813 : idata = idata + 1
28321 2024813 : data_tmp = ISHFT(pack_tmp, 17)
28322 2024813 : ipack = ipack + 1
28323 2024813 : pack_tmp = packed_data(ipack)
28324 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
28325 2024813 : pack_tmp = ISHFT(pack_tmp, -17)
28326 2024813 : idata = idata + 1
28327 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28328 2024813 : full_data(idata) = data_tmp
28329 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28330 2024813 : idata = idata + 1
28331 2024813 : data_tmp = ISHFT(pack_tmp, 27)
28332 2024813 : ipack = ipack + 1
28333 2024813 : pack_tmp = packed_data(ipack)
28334 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
28335 2024813 : pack_tmp = ISHFT(pack_tmp, -27)
28336 2024813 : idata = idata + 1
28337 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28338 2024813 : full_data(idata) = data_tmp
28339 2024852 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28340 : END DO
28341 148792 : IF (Ndata_rep < Ndata) THEN
28342 41862 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28343 : END IF
28344 148792 : END SUBROUTINE bits2ints_37
28345 :
28346 : ! **************************************************************************************************
28347 : !> \brief ...
28348 : !> \param Ndata ...
28349 : !> \param packed_data ...
28350 : !> \param full_data ...
28351 : ! **************************************************************************************************
28352 32712 : 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 32712 : idata = 0
28363 32712 : ipack = 0
28364 32712 : Ndata_rep = (Ndata/64)*64
28365 32712 : DO kdata = 1, Ndata_rep, 64
28366 464366 : pack_tmp = 0
28367 464366 : idata = idata + 1
28368 464366 : data_tmp = full_data(idata)
28369 464366 : data_tmp = ISHFT(data_tmp, 26)
28370 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28371 464366 : pack_tmp = ISHFT(pack_tmp, -26)
28372 464366 : idata = idata + 1
28373 464366 : data_tmp = full_data(idata)
28374 464366 : data_tmp = ISHFT(data_tmp, 26)
28375 464366 : data_tmp = IAND(data_tmp, mask_left(26))
28376 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28377 464366 : ipack = ipack + 1
28378 464366 : packed_data(ipack) = pack_tmp
28379 464366 : data_tmp = full_data(idata)
28380 464366 : pack_tmp = ISHFT(data_tmp, 52)
28381 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28382 464366 : idata = idata + 1
28383 464366 : data_tmp = full_data(idata)
28384 464366 : data_tmp = ISHFT(data_tmp, 26)
28385 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28386 464366 : pack_tmp = ISHFT(pack_tmp, -14)
28387 464366 : idata = idata + 1
28388 464366 : data_tmp = full_data(idata)
28389 464366 : data_tmp = ISHFT(data_tmp, 26)
28390 464366 : data_tmp = IAND(data_tmp, mask_left(14))
28391 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28392 464366 : ipack = ipack + 1
28393 464366 : packed_data(ipack) = pack_tmp
28394 464366 : data_tmp = full_data(idata)
28395 464366 : pack_tmp = ISHFT(data_tmp, 40)
28396 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28397 464366 : idata = idata + 1
28398 464366 : data_tmp = full_data(idata)
28399 464366 : data_tmp = ISHFT(data_tmp, 26)
28400 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28401 464366 : pack_tmp = ISHFT(pack_tmp, -2)
28402 464366 : idata = idata + 1
28403 464366 : data_tmp = full_data(idata)
28404 464366 : data_tmp = ISHFT(data_tmp, 26)
28405 464366 : data_tmp = IAND(data_tmp, mask_left(2))
28406 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28407 464366 : ipack = ipack + 1
28408 464366 : packed_data(ipack) = pack_tmp
28409 464366 : data_tmp = full_data(idata)
28410 464366 : pack_tmp = ISHFT(data_tmp, 28)
28411 464366 : pack_tmp = ISHFT(pack_tmp, -28)
28412 464366 : idata = idata + 1
28413 464366 : data_tmp = full_data(idata)
28414 464366 : data_tmp = ISHFT(data_tmp, 26)
28415 464366 : data_tmp = IAND(data_tmp, mask_left(28))
28416 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28417 464366 : ipack = ipack + 1
28418 464366 : packed_data(ipack) = pack_tmp
28419 464366 : data_tmp = full_data(idata)
28420 464366 : pack_tmp = ISHFT(data_tmp, 54)
28421 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28422 464366 : idata = idata + 1
28423 464366 : data_tmp = full_data(idata)
28424 464366 : data_tmp = ISHFT(data_tmp, 26)
28425 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28426 464366 : pack_tmp = ISHFT(pack_tmp, -16)
28427 464366 : idata = idata + 1
28428 464366 : data_tmp = full_data(idata)
28429 464366 : data_tmp = ISHFT(data_tmp, 26)
28430 464366 : data_tmp = IAND(data_tmp, mask_left(16))
28431 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28432 464366 : ipack = ipack + 1
28433 464366 : packed_data(ipack) = pack_tmp
28434 464366 : data_tmp = full_data(idata)
28435 464366 : pack_tmp = ISHFT(data_tmp, 42)
28436 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28437 464366 : idata = idata + 1
28438 464366 : data_tmp = full_data(idata)
28439 464366 : data_tmp = ISHFT(data_tmp, 26)
28440 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28441 464366 : pack_tmp = ISHFT(pack_tmp, -4)
28442 464366 : idata = idata + 1
28443 464366 : data_tmp = full_data(idata)
28444 464366 : data_tmp = ISHFT(data_tmp, 26)
28445 464366 : data_tmp = IAND(data_tmp, mask_left(4))
28446 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28447 464366 : ipack = ipack + 1
28448 464366 : packed_data(ipack) = pack_tmp
28449 464366 : data_tmp = full_data(idata)
28450 464366 : pack_tmp = ISHFT(data_tmp, 30)
28451 464366 : pack_tmp = ISHFT(pack_tmp, -30)
28452 464366 : idata = idata + 1
28453 464366 : data_tmp = full_data(idata)
28454 464366 : data_tmp = ISHFT(data_tmp, 26)
28455 464366 : data_tmp = IAND(data_tmp, mask_left(30))
28456 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28457 464366 : ipack = ipack + 1
28458 464366 : packed_data(ipack) = pack_tmp
28459 464366 : data_tmp = full_data(idata)
28460 464366 : pack_tmp = ISHFT(data_tmp, 56)
28461 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28462 464366 : idata = idata + 1
28463 464366 : data_tmp = full_data(idata)
28464 464366 : data_tmp = ISHFT(data_tmp, 26)
28465 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28466 464366 : pack_tmp = ISHFT(pack_tmp, -18)
28467 464366 : idata = idata + 1
28468 464366 : data_tmp = full_data(idata)
28469 464366 : data_tmp = ISHFT(data_tmp, 26)
28470 464366 : data_tmp = IAND(data_tmp, mask_left(18))
28471 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28472 464366 : ipack = ipack + 1
28473 464366 : packed_data(ipack) = pack_tmp
28474 464366 : data_tmp = full_data(idata)
28475 464366 : pack_tmp = ISHFT(data_tmp, 44)
28476 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28477 464366 : idata = idata + 1
28478 464366 : data_tmp = full_data(idata)
28479 464366 : data_tmp = ISHFT(data_tmp, 26)
28480 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28481 464366 : pack_tmp = ISHFT(pack_tmp, -6)
28482 464366 : idata = idata + 1
28483 464366 : data_tmp = full_data(idata)
28484 464366 : data_tmp = ISHFT(data_tmp, 26)
28485 464366 : data_tmp = IAND(data_tmp, mask_left(6))
28486 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28487 464366 : ipack = ipack + 1
28488 464366 : packed_data(ipack) = pack_tmp
28489 464366 : data_tmp = full_data(idata)
28490 464366 : pack_tmp = ISHFT(data_tmp, 32)
28491 464366 : pack_tmp = ISHFT(pack_tmp, -32)
28492 464366 : idata = idata + 1
28493 464366 : data_tmp = full_data(idata)
28494 464366 : data_tmp = ISHFT(data_tmp, 26)
28495 464366 : data_tmp = IAND(data_tmp, mask_left(32))
28496 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28497 464366 : ipack = ipack + 1
28498 464366 : packed_data(ipack) = pack_tmp
28499 464366 : data_tmp = full_data(idata)
28500 464366 : pack_tmp = ISHFT(data_tmp, 58)
28501 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28502 464366 : idata = idata + 1
28503 464366 : data_tmp = full_data(idata)
28504 464366 : data_tmp = ISHFT(data_tmp, 26)
28505 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28506 464366 : pack_tmp = ISHFT(pack_tmp, -20)
28507 464366 : idata = idata + 1
28508 464366 : data_tmp = full_data(idata)
28509 464366 : data_tmp = ISHFT(data_tmp, 26)
28510 464366 : data_tmp = IAND(data_tmp, mask_left(20))
28511 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28512 464366 : ipack = ipack + 1
28513 464366 : packed_data(ipack) = pack_tmp
28514 464366 : data_tmp = full_data(idata)
28515 464366 : pack_tmp = ISHFT(data_tmp, 46)
28516 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28517 464366 : idata = idata + 1
28518 464366 : data_tmp = full_data(idata)
28519 464366 : data_tmp = ISHFT(data_tmp, 26)
28520 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28521 464366 : pack_tmp = ISHFT(pack_tmp, -8)
28522 464366 : idata = idata + 1
28523 464366 : data_tmp = full_data(idata)
28524 464366 : data_tmp = ISHFT(data_tmp, 26)
28525 464366 : data_tmp = IAND(data_tmp, mask_left(8))
28526 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28527 464366 : ipack = ipack + 1
28528 464366 : packed_data(ipack) = pack_tmp
28529 464366 : data_tmp = full_data(idata)
28530 464366 : pack_tmp = ISHFT(data_tmp, 34)
28531 464366 : pack_tmp = ISHFT(pack_tmp, -34)
28532 464366 : idata = idata + 1
28533 464366 : data_tmp = full_data(idata)
28534 464366 : data_tmp = ISHFT(data_tmp, 26)
28535 464366 : data_tmp = IAND(data_tmp, mask_left(34))
28536 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28537 464366 : ipack = ipack + 1
28538 464366 : packed_data(ipack) = pack_tmp
28539 464366 : data_tmp = full_data(idata)
28540 464366 : pack_tmp = ISHFT(data_tmp, 60)
28541 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28542 464366 : idata = idata + 1
28543 464366 : data_tmp = full_data(idata)
28544 464366 : data_tmp = ISHFT(data_tmp, 26)
28545 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28546 464366 : pack_tmp = ISHFT(pack_tmp, -22)
28547 464366 : idata = idata + 1
28548 464366 : data_tmp = full_data(idata)
28549 464366 : data_tmp = ISHFT(data_tmp, 26)
28550 464366 : data_tmp = IAND(data_tmp, mask_left(22))
28551 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28552 464366 : ipack = ipack + 1
28553 464366 : packed_data(ipack) = pack_tmp
28554 464366 : data_tmp = full_data(idata)
28555 464366 : pack_tmp = ISHFT(data_tmp, 48)
28556 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28557 464366 : idata = idata + 1
28558 464366 : data_tmp = full_data(idata)
28559 464366 : data_tmp = ISHFT(data_tmp, 26)
28560 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28561 464366 : pack_tmp = ISHFT(pack_tmp, -10)
28562 464366 : idata = idata + 1
28563 464366 : data_tmp = full_data(idata)
28564 464366 : data_tmp = ISHFT(data_tmp, 26)
28565 464366 : data_tmp = IAND(data_tmp, mask_left(10))
28566 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28567 464366 : ipack = ipack + 1
28568 464366 : packed_data(ipack) = pack_tmp
28569 464366 : data_tmp = full_data(idata)
28570 464366 : pack_tmp = ISHFT(data_tmp, 36)
28571 464366 : pack_tmp = ISHFT(pack_tmp, -36)
28572 464366 : idata = idata + 1
28573 464366 : data_tmp = full_data(idata)
28574 464366 : data_tmp = ISHFT(data_tmp, 26)
28575 464366 : data_tmp = IAND(data_tmp, mask_left(36))
28576 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28577 464366 : ipack = ipack + 1
28578 464366 : packed_data(ipack) = pack_tmp
28579 464366 : data_tmp = full_data(idata)
28580 464366 : pack_tmp = ISHFT(data_tmp, 62)
28581 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28582 464366 : idata = idata + 1
28583 464366 : data_tmp = full_data(idata)
28584 464366 : data_tmp = ISHFT(data_tmp, 26)
28585 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28586 464366 : pack_tmp = ISHFT(pack_tmp, -24)
28587 464366 : idata = idata + 1
28588 464366 : data_tmp = full_data(idata)
28589 464366 : data_tmp = ISHFT(data_tmp, 26)
28590 464366 : data_tmp = IAND(data_tmp, mask_left(24))
28591 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28592 464366 : ipack = ipack + 1
28593 464366 : packed_data(ipack) = pack_tmp
28594 464366 : data_tmp = full_data(idata)
28595 464366 : pack_tmp = ISHFT(data_tmp, 50)
28596 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28597 464366 : idata = idata + 1
28598 464366 : data_tmp = full_data(idata)
28599 464366 : data_tmp = ISHFT(data_tmp, 26)
28600 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28601 464366 : pack_tmp = ISHFT(pack_tmp, -12)
28602 464366 : idata = idata + 1
28603 464366 : data_tmp = full_data(idata)
28604 464366 : data_tmp = ISHFT(data_tmp, 26)
28605 464366 : data_tmp = IAND(data_tmp, mask_left(12))
28606 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28607 464366 : ipack = ipack + 1
28608 464366 : packed_data(ipack) = pack_tmp
28609 464366 : data_tmp = full_data(idata)
28610 464366 : pack_tmp = ISHFT(data_tmp, 38)
28611 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28612 464366 : idata = idata + 1
28613 464366 : data_tmp = full_data(idata)
28614 464366 : data_tmp = ISHFT(data_tmp, 26)
28615 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28616 464366 : pack_tmp = ISHFT(pack_tmp, 0)
28617 464366 : idata = idata + 1
28618 464366 : data_tmp = full_data(idata)
28619 : data_tmp = ISHFT(data_tmp, 26)
28620 464366 : data_tmp = IAND(data_tmp, mask_left(0))
28621 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28622 464366 : ipack = ipack + 1
28623 464366 : packed_data(ipack) = pack_tmp
28624 464366 : data_tmp = full_data(idata)
28625 464366 : pack_tmp = ISHFT(data_tmp, 26)
28626 464366 : pack_tmp = ISHFT(pack_tmp, -26)
28627 464366 : idata = idata + 1
28628 464366 : data_tmp = full_data(idata)
28629 464366 : data_tmp = ISHFT(data_tmp, 26)
28630 464366 : data_tmp = IAND(data_tmp, mask_left(26))
28631 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28632 464366 : ipack = ipack + 1
28633 464366 : packed_data(ipack) = pack_tmp
28634 464366 : data_tmp = full_data(idata)
28635 464366 : pack_tmp = ISHFT(data_tmp, 52)
28636 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28637 464366 : idata = idata + 1
28638 464366 : data_tmp = full_data(idata)
28639 464366 : data_tmp = ISHFT(data_tmp, 26)
28640 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28641 464366 : pack_tmp = ISHFT(pack_tmp, -14)
28642 464366 : idata = idata + 1
28643 464366 : data_tmp = full_data(idata)
28644 464366 : data_tmp = ISHFT(data_tmp, 26)
28645 464366 : data_tmp = IAND(data_tmp, mask_left(14))
28646 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28647 464366 : ipack = ipack + 1
28648 464366 : packed_data(ipack) = pack_tmp
28649 464366 : data_tmp = full_data(idata)
28650 464366 : pack_tmp = ISHFT(data_tmp, 40)
28651 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28652 464366 : idata = idata + 1
28653 464366 : data_tmp = full_data(idata)
28654 464366 : data_tmp = ISHFT(data_tmp, 26)
28655 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28656 464366 : pack_tmp = ISHFT(pack_tmp, -2)
28657 464366 : idata = idata + 1
28658 464366 : data_tmp = full_data(idata)
28659 464366 : data_tmp = ISHFT(data_tmp, 26)
28660 464366 : data_tmp = IAND(data_tmp, mask_left(2))
28661 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28662 464366 : ipack = ipack + 1
28663 464366 : packed_data(ipack) = pack_tmp
28664 464366 : data_tmp = full_data(idata)
28665 464366 : pack_tmp = ISHFT(data_tmp, 28)
28666 464366 : pack_tmp = ISHFT(pack_tmp, -28)
28667 464366 : idata = idata + 1
28668 464366 : data_tmp = full_data(idata)
28669 464366 : data_tmp = ISHFT(data_tmp, 26)
28670 464366 : data_tmp = IAND(data_tmp, mask_left(28))
28671 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28672 464366 : ipack = ipack + 1
28673 464366 : packed_data(ipack) = pack_tmp
28674 464366 : data_tmp = full_data(idata)
28675 464366 : pack_tmp = ISHFT(data_tmp, 54)
28676 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28677 464366 : idata = idata + 1
28678 464366 : data_tmp = full_data(idata)
28679 464366 : data_tmp = ISHFT(data_tmp, 26)
28680 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28681 464366 : pack_tmp = ISHFT(pack_tmp, -16)
28682 464366 : idata = idata + 1
28683 464366 : data_tmp = full_data(idata)
28684 464366 : data_tmp = ISHFT(data_tmp, 26)
28685 464366 : data_tmp = IAND(data_tmp, mask_left(16))
28686 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28687 464366 : ipack = ipack + 1
28688 464366 : packed_data(ipack) = pack_tmp
28689 464366 : data_tmp = full_data(idata)
28690 464366 : pack_tmp = ISHFT(data_tmp, 42)
28691 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28692 464366 : idata = idata + 1
28693 464366 : data_tmp = full_data(idata)
28694 464366 : data_tmp = ISHFT(data_tmp, 26)
28695 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28696 464366 : pack_tmp = ISHFT(pack_tmp, -4)
28697 464366 : idata = idata + 1
28698 464366 : data_tmp = full_data(idata)
28699 464366 : data_tmp = ISHFT(data_tmp, 26)
28700 464366 : data_tmp = IAND(data_tmp, mask_left(4))
28701 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28702 464366 : ipack = ipack + 1
28703 464366 : packed_data(ipack) = pack_tmp
28704 464366 : data_tmp = full_data(idata)
28705 464366 : pack_tmp = ISHFT(data_tmp, 30)
28706 464366 : pack_tmp = ISHFT(pack_tmp, -30)
28707 464366 : idata = idata + 1
28708 464366 : data_tmp = full_data(idata)
28709 464366 : data_tmp = ISHFT(data_tmp, 26)
28710 464366 : data_tmp = IAND(data_tmp, mask_left(30))
28711 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28712 464366 : ipack = ipack + 1
28713 464366 : packed_data(ipack) = pack_tmp
28714 464366 : data_tmp = full_data(idata)
28715 464366 : pack_tmp = ISHFT(data_tmp, 56)
28716 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28717 464366 : idata = idata + 1
28718 464366 : data_tmp = full_data(idata)
28719 464366 : data_tmp = ISHFT(data_tmp, 26)
28720 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28721 464366 : pack_tmp = ISHFT(pack_tmp, -18)
28722 464366 : idata = idata + 1
28723 464366 : data_tmp = full_data(idata)
28724 464366 : data_tmp = ISHFT(data_tmp, 26)
28725 464366 : data_tmp = IAND(data_tmp, mask_left(18))
28726 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28727 464366 : ipack = ipack + 1
28728 464366 : packed_data(ipack) = pack_tmp
28729 464366 : data_tmp = full_data(idata)
28730 464366 : pack_tmp = ISHFT(data_tmp, 44)
28731 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28732 464366 : idata = idata + 1
28733 464366 : data_tmp = full_data(idata)
28734 464366 : data_tmp = ISHFT(data_tmp, 26)
28735 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28736 464366 : pack_tmp = ISHFT(pack_tmp, -6)
28737 464366 : idata = idata + 1
28738 464366 : data_tmp = full_data(idata)
28739 464366 : data_tmp = ISHFT(data_tmp, 26)
28740 464366 : data_tmp = IAND(data_tmp, mask_left(6))
28741 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28742 464366 : ipack = ipack + 1
28743 464366 : packed_data(ipack) = pack_tmp
28744 464366 : data_tmp = full_data(idata)
28745 464366 : pack_tmp = ISHFT(data_tmp, 32)
28746 464366 : pack_tmp = ISHFT(pack_tmp, -32)
28747 464366 : idata = idata + 1
28748 464366 : data_tmp = full_data(idata)
28749 464366 : data_tmp = ISHFT(data_tmp, 26)
28750 464366 : data_tmp = IAND(data_tmp, mask_left(32))
28751 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28752 464366 : ipack = ipack + 1
28753 464366 : packed_data(ipack) = pack_tmp
28754 464366 : data_tmp = full_data(idata)
28755 464366 : pack_tmp = ISHFT(data_tmp, 58)
28756 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28757 464366 : idata = idata + 1
28758 464366 : data_tmp = full_data(idata)
28759 464366 : data_tmp = ISHFT(data_tmp, 26)
28760 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28761 464366 : pack_tmp = ISHFT(pack_tmp, -20)
28762 464366 : idata = idata + 1
28763 464366 : data_tmp = full_data(idata)
28764 464366 : data_tmp = ISHFT(data_tmp, 26)
28765 464366 : data_tmp = IAND(data_tmp, mask_left(20))
28766 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28767 464366 : ipack = ipack + 1
28768 464366 : packed_data(ipack) = pack_tmp
28769 464366 : data_tmp = full_data(idata)
28770 464366 : pack_tmp = ISHFT(data_tmp, 46)
28771 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28772 464366 : idata = idata + 1
28773 464366 : data_tmp = full_data(idata)
28774 464366 : data_tmp = ISHFT(data_tmp, 26)
28775 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28776 464366 : pack_tmp = ISHFT(pack_tmp, -8)
28777 464366 : idata = idata + 1
28778 464366 : data_tmp = full_data(idata)
28779 464366 : data_tmp = ISHFT(data_tmp, 26)
28780 464366 : data_tmp = IAND(data_tmp, mask_left(8))
28781 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28782 464366 : ipack = ipack + 1
28783 464366 : packed_data(ipack) = pack_tmp
28784 464366 : data_tmp = full_data(idata)
28785 464366 : pack_tmp = ISHFT(data_tmp, 34)
28786 464366 : pack_tmp = ISHFT(pack_tmp, -34)
28787 464366 : idata = idata + 1
28788 464366 : data_tmp = full_data(idata)
28789 464366 : data_tmp = ISHFT(data_tmp, 26)
28790 464366 : data_tmp = IAND(data_tmp, mask_left(34))
28791 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28792 464366 : ipack = ipack + 1
28793 464366 : packed_data(ipack) = pack_tmp
28794 464366 : data_tmp = full_data(idata)
28795 464366 : pack_tmp = ISHFT(data_tmp, 60)
28796 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28797 464366 : idata = idata + 1
28798 464366 : data_tmp = full_data(idata)
28799 464366 : data_tmp = ISHFT(data_tmp, 26)
28800 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28801 464366 : pack_tmp = ISHFT(pack_tmp, -22)
28802 464366 : idata = idata + 1
28803 464366 : data_tmp = full_data(idata)
28804 464366 : data_tmp = ISHFT(data_tmp, 26)
28805 464366 : data_tmp = IAND(data_tmp, mask_left(22))
28806 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28807 464366 : ipack = ipack + 1
28808 464366 : packed_data(ipack) = pack_tmp
28809 464366 : data_tmp = full_data(idata)
28810 464366 : pack_tmp = ISHFT(data_tmp, 48)
28811 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28812 464366 : idata = idata + 1
28813 464366 : data_tmp = full_data(idata)
28814 464366 : data_tmp = ISHFT(data_tmp, 26)
28815 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28816 464366 : pack_tmp = ISHFT(pack_tmp, -10)
28817 464366 : idata = idata + 1
28818 464366 : data_tmp = full_data(idata)
28819 464366 : data_tmp = ISHFT(data_tmp, 26)
28820 464366 : data_tmp = IAND(data_tmp, mask_left(10))
28821 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28822 464366 : ipack = ipack + 1
28823 464366 : packed_data(ipack) = pack_tmp
28824 464366 : data_tmp = full_data(idata)
28825 464366 : pack_tmp = ISHFT(data_tmp, 36)
28826 464366 : pack_tmp = ISHFT(pack_tmp, -36)
28827 464366 : idata = idata + 1
28828 464366 : data_tmp = full_data(idata)
28829 464366 : data_tmp = ISHFT(data_tmp, 26)
28830 464366 : data_tmp = IAND(data_tmp, mask_left(36))
28831 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28832 464366 : ipack = ipack + 1
28833 464366 : packed_data(ipack) = pack_tmp
28834 464366 : data_tmp = full_data(idata)
28835 464366 : pack_tmp = ISHFT(data_tmp, 62)
28836 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28837 464366 : idata = idata + 1
28838 464366 : data_tmp = full_data(idata)
28839 464366 : data_tmp = ISHFT(data_tmp, 26)
28840 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28841 464366 : pack_tmp = ISHFT(pack_tmp, -24)
28842 464366 : idata = idata + 1
28843 464366 : data_tmp = full_data(idata)
28844 464366 : data_tmp = ISHFT(data_tmp, 26)
28845 464366 : data_tmp = IAND(data_tmp, mask_left(24))
28846 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28847 464366 : ipack = ipack + 1
28848 464366 : packed_data(ipack) = pack_tmp
28849 464366 : data_tmp = full_data(idata)
28850 464366 : pack_tmp = ISHFT(data_tmp, 50)
28851 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28852 464366 : idata = idata + 1
28853 464366 : data_tmp = full_data(idata)
28854 464366 : data_tmp = ISHFT(data_tmp, 26)
28855 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28856 464366 : pack_tmp = ISHFT(pack_tmp, -12)
28857 464366 : idata = idata + 1
28858 464366 : data_tmp = full_data(idata)
28859 464366 : data_tmp = ISHFT(data_tmp, 26)
28860 464366 : data_tmp = IAND(data_tmp, mask_left(12))
28861 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28862 464366 : ipack = ipack + 1
28863 464366 : packed_data(ipack) = pack_tmp
28864 464366 : data_tmp = full_data(idata)
28865 464366 : pack_tmp = ISHFT(data_tmp, 38)
28866 464366 : pack_tmp = ISHFT(pack_tmp, -38)
28867 464366 : idata = idata + 1
28868 464366 : data_tmp = full_data(idata)
28869 464366 : data_tmp = ISHFT(data_tmp, 26)
28870 464366 : pack_tmp = IOR(pack_tmp, data_tmp)
28871 : pack_tmp = ISHFT(pack_tmp, 0)
28872 464366 : pack_tmp = ISHFT(pack_tmp, 0)
28873 464366 : ipack = ipack + 1
28874 464700 : packed_data(ipack) = pack_tmp
28875 : END DO
28876 32712 : IF (Ndata_rep < Ndata) THEN
28877 6916 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28878 : END IF
28879 32712 : END SUBROUTINE ints2bits_38
28880 :
28881 : ! **************************************************************************************************
28882 : !> \brief ...
28883 : !> \param Ndata ...
28884 : !> \param packed_data ...
28885 : !> \param full_data ...
28886 : ! **************************************************************************************************
28887 162450 : 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 162450 : ipack = 0
28898 162450 : idata = 0
28899 162450 : pack_tmp = 0
28900 162450 : Ndata_rep = (Ndata/64)*64
28901 162450 : DO kdata = 1, Ndata_rep, 64
28902 2167746 : idata = idata + 1
28903 2167746 : data_tmp = ISHFT(pack_tmp, 38)
28904 2167746 : ipack = ipack + 1
28905 2167746 : pack_tmp = packed_data(ipack)
28906 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
28907 2167746 : pack_tmp = ISHFT(pack_tmp, -38)
28908 2167746 : idata = idata + 1
28909 2167746 : data_tmp = ISHFT(pack_tmp, 12)
28910 2167746 : ipack = ipack + 1
28911 2167746 : pack_tmp = packed_data(ipack)
28912 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28913 2167746 : pack_tmp = ISHFT(pack_tmp, -12)
28914 2167746 : idata = idata + 1
28915 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28916 2167746 : full_data(idata) = data_tmp
28917 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28918 2167746 : idata = idata + 1
28919 2167746 : data_tmp = ISHFT(pack_tmp, 24)
28920 2167746 : ipack = ipack + 1
28921 2167746 : pack_tmp = packed_data(ipack)
28922 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28923 2167746 : pack_tmp = ISHFT(pack_tmp, -24)
28924 2167746 : idata = idata + 1
28925 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28926 2167746 : full_data(idata) = data_tmp
28927 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28928 2167746 : idata = idata + 1
28929 2167746 : data_tmp = ISHFT(pack_tmp, 36)
28930 2167746 : ipack = ipack + 1
28931 2167746 : pack_tmp = packed_data(ipack)
28932 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28933 2167746 : pack_tmp = ISHFT(pack_tmp, -36)
28934 2167746 : idata = idata + 1
28935 2167746 : data_tmp = ISHFT(pack_tmp, 10)
28936 2167746 : ipack = ipack + 1
28937 2167746 : pack_tmp = packed_data(ipack)
28938 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28939 2167746 : pack_tmp = ISHFT(pack_tmp, -10)
28940 2167746 : idata = idata + 1
28941 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28942 2167746 : full_data(idata) = data_tmp
28943 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28944 2167746 : idata = idata + 1
28945 2167746 : data_tmp = ISHFT(pack_tmp, 22)
28946 2167746 : ipack = ipack + 1
28947 2167746 : pack_tmp = packed_data(ipack)
28948 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28949 2167746 : pack_tmp = ISHFT(pack_tmp, -22)
28950 2167746 : idata = idata + 1
28951 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28952 2167746 : full_data(idata) = data_tmp
28953 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28954 2167746 : idata = idata + 1
28955 2167746 : data_tmp = ISHFT(pack_tmp, 34)
28956 2167746 : ipack = ipack + 1
28957 2167746 : pack_tmp = packed_data(ipack)
28958 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28959 2167746 : pack_tmp = ISHFT(pack_tmp, -34)
28960 2167746 : idata = idata + 1
28961 2167746 : data_tmp = ISHFT(pack_tmp, 8)
28962 2167746 : ipack = ipack + 1
28963 2167746 : pack_tmp = packed_data(ipack)
28964 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28965 2167746 : pack_tmp = ISHFT(pack_tmp, -8)
28966 2167746 : idata = idata + 1
28967 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28968 2167746 : full_data(idata) = data_tmp
28969 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28970 2167746 : idata = idata + 1
28971 2167746 : data_tmp = ISHFT(pack_tmp, 20)
28972 2167746 : ipack = ipack + 1
28973 2167746 : pack_tmp = packed_data(ipack)
28974 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28975 2167746 : pack_tmp = ISHFT(pack_tmp, -20)
28976 2167746 : idata = idata + 1
28977 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28978 2167746 : full_data(idata) = data_tmp
28979 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28980 2167746 : idata = idata + 1
28981 2167746 : data_tmp = ISHFT(pack_tmp, 32)
28982 2167746 : ipack = ipack + 1
28983 2167746 : pack_tmp = packed_data(ipack)
28984 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28985 2167746 : pack_tmp = ISHFT(pack_tmp, -32)
28986 2167746 : idata = idata + 1
28987 2167746 : data_tmp = ISHFT(pack_tmp, 6)
28988 2167746 : ipack = ipack + 1
28989 2167746 : pack_tmp = packed_data(ipack)
28990 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28991 2167746 : pack_tmp = ISHFT(pack_tmp, -6)
28992 2167746 : idata = idata + 1
28993 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28994 2167746 : full_data(idata) = data_tmp
28995 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28996 2167746 : idata = idata + 1
28997 2167746 : data_tmp = ISHFT(pack_tmp, 18)
28998 2167746 : ipack = ipack + 1
28999 2167746 : pack_tmp = packed_data(ipack)
29000 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29001 2167746 : pack_tmp = ISHFT(pack_tmp, -18)
29002 2167746 : idata = idata + 1
29003 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29004 2167746 : full_data(idata) = data_tmp
29005 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29006 2167746 : idata = idata + 1
29007 2167746 : data_tmp = ISHFT(pack_tmp, 30)
29008 2167746 : ipack = ipack + 1
29009 2167746 : pack_tmp = packed_data(ipack)
29010 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29011 2167746 : pack_tmp = ISHFT(pack_tmp, -30)
29012 2167746 : idata = idata + 1
29013 2167746 : data_tmp = ISHFT(pack_tmp, 4)
29014 2167746 : ipack = ipack + 1
29015 2167746 : pack_tmp = packed_data(ipack)
29016 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29017 2167746 : pack_tmp = ISHFT(pack_tmp, -4)
29018 2167746 : idata = idata + 1
29019 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29020 2167746 : full_data(idata) = data_tmp
29021 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29022 2167746 : idata = idata + 1
29023 2167746 : data_tmp = ISHFT(pack_tmp, 16)
29024 2167746 : ipack = ipack + 1
29025 2167746 : pack_tmp = packed_data(ipack)
29026 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29027 2167746 : pack_tmp = ISHFT(pack_tmp, -16)
29028 2167746 : idata = idata + 1
29029 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29030 2167746 : full_data(idata) = data_tmp
29031 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29032 2167746 : idata = idata + 1
29033 2167746 : data_tmp = ISHFT(pack_tmp, 28)
29034 2167746 : ipack = ipack + 1
29035 2167746 : pack_tmp = packed_data(ipack)
29036 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29037 2167746 : pack_tmp = ISHFT(pack_tmp, -28)
29038 2167746 : idata = idata + 1
29039 2167746 : data_tmp = ISHFT(pack_tmp, 2)
29040 2167746 : ipack = ipack + 1
29041 2167746 : pack_tmp = packed_data(ipack)
29042 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29043 2167746 : pack_tmp = ISHFT(pack_tmp, -2)
29044 2167746 : idata = idata + 1
29045 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29046 2167746 : full_data(idata) = data_tmp
29047 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29048 2167746 : idata = idata + 1
29049 2167746 : data_tmp = ISHFT(pack_tmp, 14)
29050 2167746 : ipack = ipack + 1
29051 2167746 : pack_tmp = packed_data(ipack)
29052 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29053 2167746 : pack_tmp = ISHFT(pack_tmp, -14)
29054 2167746 : idata = idata + 1
29055 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29056 2167746 : full_data(idata) = data_tmp
29057 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29058 2167746 : idata = idata + 1
29059 2167746 : data_tmp = ISHFT(pack_tmp, 26)
29060 2167746 : ipack = ipack + 1
29061 2167746 : pack_tmp = packed_data(ipack)
29062 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29063 2167746 : pack_tmp = ISHFT(pack_tmp, -26)
29064 2167746 : idata = idata + 1
29065 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29066 2167746 : full_data(idata) = data_tmp
29067 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29068 2167746 : idata = idata + 1
29069 2167746 : data_tmp = ISHFT(pack_tmp, 38)
29070 2167746 : ipack = ipack + 1
29071 2167746 : pack_tmp = packed_data(ipack)
29072 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
29073 2167746 : pack_tmp = ISHFT(pack_tmp, -38)
29074 2167746 : idata = idata + 1
29075 2167746 : data_tmp = ISHFT(pack_tmp, 12)
29076 2167746 : ipack = ipack + 1
29077 2167746 : pack_tmp = packed_data(ipack)
29078 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29079 2167746 : pack_tmp = ISHFT(pack_tmp, -12)
29080 2167746 : idata = idata + 1
29081 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29082 2167746 : full_data(idata) = data_tmp
29083 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29084 2167746 : idata = idata + 1
29085 2167746 : data_tmp = ISHFT(pack_tmp, 24)
29086 2167746 : ipack = ipack + 1
29087 2167746 : pack_tmp = packed_data(ipack)
29088 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
29089 2167746 : pack_tmp = ISHFT(pack_tmp, -24)
29090 2167746 : idata = idata + 1
29091 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29092 2167746 : full_data(idata) = data_tmp
29093 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29094 2167746 : idata = idata + 1
29095 2167746 : data_tmp = ISHFT(pack_tmp, 36)
29096 2167746 : ipack = ipack + 1
29097 2167746 : pack_tmp = packed_data(ipack)
29098 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
29099 2167746 : pack_tmp = ISHFT(pack_tmp, -36)
29100 2167746 : idata = idata + 1
29101 2167746 : data_tmp = ISHFT(pack_tmp, 10)
29102 2167746 : ipack = ipack + 1
29103 2167746 : pack_tmp = packed_data(ipack)
29104 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
29105 2167746 : pack_tmp = ISHFT(pack_tmp, -10)
29106 2167746 : idata = idata + 1
29107 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29108 2167746 : full_data(idata) = data_tmp
29109 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29110 2167746 : idata = idata + 1
29111 2167746 : data_tmp = ISHFT(pack_tmp, 22)
29112 2167746 : ipack = ipack + 1
29113 2167746 : pack_tmp = packed_data(ipack)
29114 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
29115 2167746 : pack_tmp = ISHFT(pack_tmp, -22)
29116 2167746 : idata = idata + 1
29117 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29118 2167746 : full_data(idata) = data_tmp
29119 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29120 2167746 : idata = idata + 1
29121 2167746 : data_tmp = ISHFT(pack_tmp, 34)
29122 2167746 : ipack = ipack + 1
29123 2167746 : pack_tmp = packed_data(ipack)
29124 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29125 2167746 : pack_tmp = ISHFT(pack_tmp, -34)
29126 2167746 : idata = idata + 1
29127 2167746 : data_tmp = ISHFT(pack_tmp, 8)
29128 2167746 : ipack = ipack + 1
29129 2167746 : pack_tmp = packed_data(ipack)
29130 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
29131 2167746 : pack_tmp = ISHFT(pack_tmp, -8)
29132 2167746 : idata = idata + 1
29133 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29134 2167746 : full_data(idata) = data_tmp
29135 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29136 2167746 : idata = idata + 1
29137 2167746 : data_tmp = ISHFT(pack_tmp, 20)
29138 2167746 : ipack = ipack + 1
29139 2167746 : pack_tmp = packed_data(ipack)
29140 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29141 2167746 : pack_tmp = ISHFT(pack_tmp, -20)
29142 2167746 : idata = idata + 1
29143 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29144 2167746 : full_data(idata) = data_tmp
29145 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29146 2167746 : idata = idata + 1
29147 2167746 : data_tmp = ISHFT(pack_tmp, 32)
29148 2167746 : ipack = ipack + 1
29149 2167746 : pack_tmp = packed_data(ipack)
29150 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29151 2167746 : pack_tmp = ISHFT(pack_tmp, -32)
29152 2167746 : idata = idata + 1
29153 2167746 : data_tmp = ISHFT(pack_tmp, 6)
29154 2167746 : ipack = ipack + 1
29155 2167746 : pack_tmp = packed_data(ipack)
29156 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29157 2167746 : pack_tmp = ISHFT(pack_tmp, -6)
29158 2167746 : idata = idata + 1
29159 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29160 2167746 : full_data(idata) = data_tmp
29161 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29162 2167746 : idata = idata + 1
29163 2167746 : data_tmp = ISHFT(pack_tmp, 18)
29164 2167746 : ipack = ipack + 1
29165 2167746 : pack_tmp = packed_data(ipack)
29166 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29167 2167746 : pack_tmp = ISHFT(pack_tmp, -18)
29168 2167746 : idata = idata + 1
29169 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29170 2167746 : full_data(idata) = data_tmp
29171 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29172 2167746 : idata = idata + 1
29173 2167746 : data_tmp = ISHFT(pack_tmp, 30)
29174 2167746 : ipack = ipack + 1
29175 2167746 : pack_tmp = packed_data(ipack)
29176 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29177 2167746 : pack_tmp = ISHFT(pack_tmp, -30)
29178 2167746 : idata = idata + 1
29179 2167746 : data_tmp = ISHFT(pack_tmp, 4)
29180 2167746 : ipack = ipack + 1
29181 2167746 : pack_tmp = packed_data(ipack)
29182 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29183 2167746 : pack_tmp = ISHFT(pack_tmp, -4)
29184 2167746 : idata = idata + 1
29185 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29186 2167746 : full_data(idata) = data_tmp
29187 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29188 2167746 : idata = idata + 1
29189 2167746 : data_tmp = ISHFT(pack_tmp, 16)
29190 2167746 : ipack = ipack + 1
29191 2167746 : pack_tmp = packed_data(ipack)
29192 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29193 2167746 : pack_tmp = ISHFT(pack_tmp, -16)
29194 2167746 : idata = idata + 1
29195 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29196 2167746 : full_data(idata) = data_tmp
29197 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29198 2167746 : idata = idata + 1
29199 2167746 : data_tmp = ISHFT(pack_tmp, 28)
29200 2167746 : ipack = ipack + 1
29201 2167746 : pack_tmp = packed_data(ipack)
29202 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29203 2167746 : pack_tmp = ISHFT(pack_tmp, -28)
29204 2167746 : idata = idata + 1
29205 2167746 : data_tmp = ISHFT(pack_tmp, 2)
29206 2167746 : ipack = ipack + 1
29207 2167746 : pack_tmp = packed_data(ipack)
29208 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29209 2167746 : pack_tmp = ISHFT(pack_tmp, -2)
29210 2167746 : idata = idata + 1
29211 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29212 2167746 : full_data(idata) = data_tmp
29213 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29214 2167746 : idata = idata + 1
29215 2167746 : data_tmp = ISHFT(pack_tmp, 14)
29216 2167746 : ipack = ipack + 1
29217 2167746 : pack_tmp = packed_data(ipack)
29218 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29219 2167746 : pack_tmp = ISHFT(pack_tmp, -14)
29220 2167746 : idata = idata + 1
29221 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29222 2167746 : full_data(idata) = data_tmp
29223 2167746 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29224 2167746 : idata = idata + 1
29225 2167746 : data_tmp = ISHFT(pack_tmp, 26)
29226 2167746 : ipack = ipack + 1
29227 2167746 : pack_tmp = packed_data(ipack)
29228 2167746 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29229 2167746 : pack_tmp = ISHFT(pack_tmp, -26)
29230 2167746 : idata = idata + 1
29231 2167746 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29232 2167746 : full_data(idata) = data_tmp
29233 2170648 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29234 : END DO
29235 162450 : IF (Ndata_rep < Ndata) THEN
29236 50460 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29237 : END IF
29238 162450 : END SUBROUTINE bits2ints_38
29239 :
29240 : ! **************************************************************************************************
29241 : !> \brief ...
29242 : !> \param Ndata ...
29243 : !> \param packed_data ...
29244 : !> \param full_data ...
29245 : ! **************************************************************************************************
29246 28447 : 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 28447 : idata = 0
29257 28447 : ipack = 0
29258 28447 : Ndata_rep = (Ndata/64)*64
29259 28447 : DO kdata = 1, Ndata_rep, 64
29260 419792 : pack_tmp = 0
29261 419792 : idata = idata + 1
29262 419792 : data_tmp = full_data(idata)
29263 419792 : data_tmp = ISHFT(data_tmp, 25)
29264 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29265 419792 : pack_tmp = ISHFT(pack_tmp, -25)
29266 419792 : idata = idata + 1
29267 419792 : data_tmp = full_data(idata)
29268 419792 : data_tmp = ISHFT(data_tmp, 25)
29269 419792 : data_tmp = IAND(data_tmp, mask_left(25))
29270 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29271 419792 : ipack = ipack + 1
29272 419792 : packed_data(ipack) = pack_tmp
29273 419792 : data_tmp = full_data(idata)
29274 419792 : pack_tmp = ISHFT(data_tmp, 50)
29275 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29276 419792 : idata = idata + 1
29277 419792 : data_tmp = full_data(idata)
29278 419792 : data_tmp = ISHFT(data_tmp, 25)
29279 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29280 419792 : pack_tmp = ISHFT(pack_tmp, -11)
29281 419792 : idata = idata + 1
29282 419792 : data_tmp = full_data(idata)
29283 419792 : data_tmp = ISHFT(data_tmp, 25)
29284 419792 : data_tmp = IAND(data_tmp, mask_left(11))
29285 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29286 419792 : ipack = ipack + 1
29287 419792 : packed_data(ipack) = pack_tmp
29288 419792 : data_tmp = full_data(idata)
29289 419792 : pack_tmp = ISHFT(data_tmp, 36)
29290 419792 : pack_tmp = ISHFT(pack_tmp, -36)
29291 419792 : idata = idata + 1
29292 419792 : data_tmp = full_data(idata)
29293 419792 : data_tmp = ISHFT(data_tmp, 25)
29294 419792 : data_tmp = IAND(data_tmp, mask_left(36))
29295 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29296 419792 : ipack = ipack + 1
29297 419792 : packed_data(ipack) = pack_tmp
29298 419792 : data_tmp = full_data(idata)
29299 419792 : pack_tmp = ISHFT(data_tmp, 61)
29300 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29301 419792 : idata = idata + 1
29302 419792 : data_tmp = full_data(idata)
29303 419792 : data_tmp = ISHFT(data_tmp, 25)
29304 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29305 419792 : pack_tmp = ISHFT(pack_tmp, -22)
29306 419792 : idata = idata + 1
29307 419792 : data_tmp = full_data(idata)
29308 419792 : data_tmp = ISHFT(data_tmp, 25)
29309 419792 : data_tmp = IAND(data_tmp, mask_left(22))
29310 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29311 419792 : ipack = ipack + 1
29312 419792 : packed_data(ipack) = pack_tmp
29313 419792 : data_tmp = full_data(idata)
29314 419792 : pack_tmp = ISHFT(data_tmp, 47)
29315 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29316 419792 : idata = idata + 1
29317 419792 : data_tmp = full_data(idata)
29318 419792 : data_tmp = ISHFT(data_tmp, 25)
29319 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29320 419792 : pack_tmp = ISHFT(pack_tmp, -8)
29321 419792 : idata = idata + 1
29322 419792 : data_tmp = full_data(idata)
29323 419792 : data_tmp = ISHFT(data_tmp, 25)
29324 419792 : data_tmp = IAND(data_tmp, mask_left(8))
29325 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29326 419792 : ipack = ipack + 1
29327 419792 : packed_data(ipack) = pack_tmp
29328 419792 : data_tmp = full_data(idata)
29329 419792 : pack_tmp = ISHFT(data_tmp, 33)
29330 419792 : pack_tmp = ISHFT(pack_tmp, -33)
29331 419792 : idata = idata + 1
29332 419792 : data_tmp = full_data(idata)
29333 419792 : data_tmp = ISHFT(data_tmp, 25)
29334 419792 : data_tmp = IAND(data_tmp, mask_left(33))
29335 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29336 419792 : ipack = ipack + 1
29337 419792 : packed_data(ipack) = pack_tmp
29338 419792 : data_tmp = full_data(idata)
29339 419792 : pack_tmp = ISHFT(data_tmp, 58)
29340 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29341 419792 : idata = idata + 1
29342 419792 : data_tmp = full_data(idata)
29343 419792 : data_tmp = ISHFT(data_tmp, 25)
29344 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29345 419792 : pack_tmp = ISHFT(pack_tmp, -19)
29346 419792 : idata = idata + 1
29347 419792 : data_tmp = full_data(idata)
29348 419792 : data_tmp = ISHFT(data_tmp, 25)
29349 419792 : data_tmp = IAND(data_tmp, mask_left(19))
29350 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29351 419792 : ipack = ipack + 1
29352 419792 : packed_data(ipack) = pack_tmp
29353 419792 : data_tmp = full_data(idata)
29354 419792 : pack_tmp = ISHFT(data_tmp, 44)
29355 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29356 419792 : idata = idata + 1
29357 419792 : data_tmp = full_data(idata)
29358 419792 : data_tmp = ISHFT(data_tmp, 25)
29359 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29360 419792 : pack_tmp = ISHFT(pack_tmp, -5)
29361 419792 : idata = idata + 1
29362 419792 : data_tmp = full_data(idata)
29363 419792 : data_tmp = ISHFT(data_tmp, 25)
29364 419792 : data_tmp = IAND(data_tmp, mask_left(5))
29365 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29366 419792 : ipack = ipack + 1
29367 419792 : packed_data(ipack) = pack_tmp
29368 419792 : data_tmp = full_data(idata)
29369 419792 : pack_tmp = ISHFT(data_tmp, 30)
29370 419792 : pack_tmp = ISHFT(pack_tmp, -30)
29371 419792 : idata = idata + 1
29372 419792 : data_tmp = full_data(idata)
29373 419792 : data_tmp = ISHFT(data_tmp, 25)
29374 419792 : data_tmp = IAND(data_tmp, mask_left(30))
29375 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29376 419792 : ipack = ipack + 1
29377 419792 : packed_data(ipack) = pack_tmp
29378 419792 : data_tmp = full_data(idata)
29379 419792 : pack_tmp = ISHFT(data_tmp, 55)
29380 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29381 419792 : idata = idata + 1
29382 419792 : data_tmp = full_data(idata)
29383 419792 : data_tmp = ISHFT(data_tmp, 25)
29384 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29385 419792 : pack_tmp = ISHFT(pack_tmp, -16)
29386 419792 : idata = idata + 1
29387 419792 : data_tmp = full_data(idata)
29388 419792 : data_tmp = ISHFT(data_tmp, 25)
29389 419792 : data_tmp = IAND(data_tmp, mask_left(16))
29390 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29391 419792 : ipack = ipack + 1
29392 419792 : packed_data(ipack) = pack_tmp
29393 419792 : data_tmp = full_data(idata)
29394 419792 : pack_tmp = ISHFT(data_tmp, 41)
29395 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29396 419792 : idata = idata + 1
29397 419792 : data_tmp = full_data(idata)
29398 419792 : data_tmp = ISHFT(data_tmp, 25)
29399 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29400 419792 : pack_tmp = ISHFT(pack_tmp, -2)
29401 419792 : idata = idata + 1
29402 419792 : data_tmp = full_data(idata)
29403 419792 : data_tmp = ISHFT(data_tmp, 25)
29404 419792 : data_tmp = IAND(data_tmp, mask_left(2))
29405 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29406 419792 : ipack = ipack + 1
29407 419792 : packed_data(ipack) = pack_tmp
29408 419792 : data_tmp = full_data(idata)
29409 419792 : pack_tmp = ISHFT(data_tmp, 27)
29410 419792 : pack_tmp = ISHFT(pack_tmp, -27)
29411 419792 : idata = idata + 1
29412 419792 : data_tmp = full_data(idata)
29413 419792 : data_tmp = ISHFT(data_tmp, 25)
29414 419792 : data_tmp = IAND(data_tmp, mask_left(27))
29415 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29416 419792 : ipack = ipack + 1
29417 419792 : packed_data(ipack) = pack_tmp
29418 419792 : data_tmp = full_data(idata)
29419 419792 : pack_tmp = ISHFT(data_tmp, 52)
29420 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29421 419792 : idata = idata + 1
29422 419792 : data_tmp = full_data(idata)
29423 419792 : data_tmp = ISHFT(data_tmp, 25)
29424 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29425 419792 : pack_tmp = ISHFT(pack_tmp, -13)
29426 419792 : idata = idata + 1
29427 419792 : data_tmp = full_data(idata)
29428 419792 : data_tmp = ISHFT(data_tmp, 25)
29429 419792 : data_tmp = IAND(data_tmp, mask_left(13))
29430 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29431 419792 : ipack = ipack + 1
29432 419792 : packed_data(ipack) = pack_tmp
29433 419792 : data_tmp = full_data(idata)
29434 419792 : pack_tmp = ISHFT(data_tmp, 38)
29435 419792 : pack_tmp = ISHFT(pack_tmp, -38)
29436 419792 : idata = idata + 1
29437 419792 : data_tmp = full_data(idata)
29438 419792 : data_tmp = ISHFT(data_tmp, 25)
29439 419792 : data_tmp = IAND(data_tmp, mask_left(38))
29440 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29441 419792 : ipack = ipack + 1
29442 419792 : packed_data(ipack) = pack_tmp
29443 419792 : data_tmp = full_data(idata)
29444 419792 : pack_tmp = ISHFT(data_tmp, 63)
29445 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29446 419792 : idata = idata + 1
29447 419792 : data_tmp = full_data(idata)
29448 419792 : data_tmp = ISHFT(data_tmp, 25)
29449 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29450 419792 : pack_tmp = ISHFT(pack_tmp, -24)
29451 419792 : idata = idata + 1
29452 419792 : data_tmp = full_data(idata)
29453 419792 : data_tmp = ISHFT(data_tmp, 25)
29454 419792 : data_tmp = IAND(data_tmp, mask_left(24))
29455 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29456 419792 : ipack = ipack + 1
29457 419792 : packed_data(ipack) = pack_tmp
29458 419792 : data_tmp = full_data(idata)
29459 419792 : pack_tmp = ISHFT(data_tmp, 49)
29460 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29461 419792 : idata = idata + 1
29462 419792 : data_tmp = full_data(idata)
29463 419792 : data_tmp = ISHFT(data_tmp, 25)
29464 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29465 419792 : pack_tmp = ISHFT(pack_tmp, -10)
29466 419792 : idata = idata + 1
29467 419792 : data_tmp = full_data(idata)
29468 419792 : data_tmp = ISHFT(data_tmp, 25)
29469 419792 : data_tmp = IAND(data_tmp, mask_left(10))
29470 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29471 419792 : ipack = ipack + 1
29472 419792 : packed_data(ipack) = pack_tmp
29473 419792 : data_tmp = full_data(idata)
29474 419792 : pack_tmp = ISHFT(data_tmp, 35)
29475 419792 : pack_tmp = ISHFT(pack_tmp, -35)
29476 419792 : idata = idata + 1
29477 419792 : data_tmp = full_data(idata)
29478 419792 : data_tmp = ISHFT(data_tmp, 25)
29479 419792 : data_tmp = IAND(data_tmp, mask_left(35))
29480 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29481 419792 : ipack = ipack + 1
29482 419792 : packed_data(ipack) = pack_tmp
29483 419792 : data_tmp = full_data(idata)
29484 419792 : pack_tmp = ISHFT(data_tmp, 60)
29485 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29486 419792 : idata = idata + 1
29487 419792 : data_tmp = full_data(idata)
29488 419792 : data_tmp = ISHFT(data_tmp, 25)
29489 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29490 419792 : pack_tmp = ISHFT(pack_tmp, -21)
29491 419792 : idata = idata + 1
29492 419792 : data_tmp = full_data(idata)
29493 419792 : data_tmp = ISHFT(data_tmp, 25)
29494 419792 : data_tmp = IAND(data_tmp, mask_left(21))
29495 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29496 419792 : ipack = ipack + 1
29497 419792 : packed_data(ipack) = pack_tmp
29498 419792 : data_tmp = full_data(idata)
29499 419792 : pack_tmp = ISHFT(data_tmp, 46)
29500 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29501 419792 : idata = idata + 1
29502 419792 : data_tmp = full_data(idata)
29503 419792 : data_tmp = ISHFT(data_tmp, 25)
29504 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29505 419792 : pack_tmp = ISHFT(pack_tmp, -7)
29506 419792 : idata = idata + 1
29507 419792 : data_tmp = full_data(idata)
29508 419792 : data_tmp = ISHFT(data_tmp, 25)
29509 419792 : data_tmp = IAND(data_tmp, mask_left(7))
29510 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29511 419792 : ipack = ipack + 1
29512 419792 : packed_data(ipack) = pack_tmp
29513 419792 : data_tmp = full_data(idata)
29514 419792 : pack_tmp = ISHFT(data_tmp, 32)
29515 419792 : pack_tmp = ISHFT(pack_tmp, -32)
29516 419792 : idata = idata + 1
29517 419792 : data_tmp = full_data(idata)
29518 419792 : data_tmp = ISHFT(data_tmp, 25)
29519 419792 : data_tmp = IAND(data_tmp, mask_left(32))
29520 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29521 419792 : ipack = ipack + 1
29522 419792 : packed_data(ipack) = pack_tmp
29523 419792 : data_tmp = full_data(idata)
29524 419792 : pack_tmp = ISHFT(data_tmp, 57)
29525 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29526 419792 : idata = idata + 1
29527 419792 : data_tmp = full_data(idata)
29528 419792 : data_tmp = ISHFT(data_tmp, 25)
29529 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29530 419792 : pack_tmp = ISHFT(pack_tmp, -18)
29531 419792 : idata = idata + 1
29532 419792 : data_tmp = full_data(idata)
29533 419792 : data_tmp = ISHFT(data_tmp, 25)
29534 419792 : data_tmp = IAND(data_tmp, mask_left(18))
29535 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29536 419792 : ipack = ipack + 1
29537 419792 : packed_data(ipack) = pack_tmp
29538 419792 : data_tmp = full_data(idata)
29539 419792 : pack_tmp = ISHFT(data_tmp, 43)
29540 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29541 419792 : idata = idata + 1
29542 419792 : data_tmp = full_data(idata)
29543 419792 : data_tmp = ISHFT(data_tmp, 25)
29544 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29545 419792 : pack_tmp = ISHFT(pack_tmp, -4)
29546 419792 : idata = idata + 1
29547 419792 : data_tmp = full_data(idata)
29548 419792 : data_tmp = ISHFT(data_tmp, 25)
29549 419792 : data_tmp = IAND(data_tmp, mask_left(4))
29550 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29551 419792 : ipack = ipack + 1
29552 419792 : packed_data(ipack) = pack_tmp
29553 419792 : data_tmp = full_data(idata)
29554 419792 : pack_tmp = ISHFT(data_tmp, 29)
29555 419792 : pack_tmp = ISHFT(pack_tmp, -29)
29556 419792 : idata = idata + 1
29557 419792 : data_tmp = full_data(idata)
29558 419792 : data_tmp = ISHFT(data_tmp, 25)
29559 419792 : data_tmp = IAND(data_tmp, mask_left(29))
29560 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29561 419792 : ipack = ipack + 1
29562 419792 : packed_data(ipack) = pack_tmp
29563 419792 : data_tmp = full_data(idata)
29564 419792 : pack_tmp = ISHFT(data_tmp, 54)
29565 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29566 419792 : idata = idata + 1
29567 419792 : data_tmp = full_data(idata)
29568 419792 : data_tmp = ISHFT(data_tmp, 25)
29569 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29570 419792 : pack_tmp = ISHFT(pack_tmp, -15)
29571 419792 : idata = idata + 1
29572 419792 : data_tmp = full_data(idata)
29573 419792 : data_tmp = ISHFT(data_tmp, 25)
29574 419792 : data_tmp = IAND(data_tmp, mask_left(15))
29575 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29576 419792 : ipack = ipack + 1
29577 419792 : packed_data(ipack) = pack_tmp
29578 419792 : data_tmp = full_data(idata)
29579 419792 : pack_tmp = ISHFT(data_tmp, 40)
29580 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29581 419792 : idata = idata + 1
29582 419792 : data_tmp = full_data(idata)
29583 419792 : data_tmp = ISHFT(data_tmp, 25)
29584 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29585 419792 : pack_tmp = ISHFT(pack_tmp, -1)
29586 419792 : idata = idata + 1
29587 419792 : data_tmp = full_data(idata)
29588 419792 : data_tmp = ISHFT(data_tmp, 25)
29589 419792 : data_tmp = IAND(data_tmp, mask_left(1))
29590 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29591 419792 : ipack = ipack + 1
29592 419792 : packed_data(ipack) = pack_tmp
29593 419792 : data_tmp = full_data(idata)
29594 419792 : pack_tmp = ISHFT(data_tmp, 26)
29595 419792 : pack_tmp = ISHFT(pack_tmp, -26)
29596 419792 : idata = idata + 1
29597 419792 : data_tmp = full_data(idata)
29598 419792 : data_tmp = ISHFT(data_tmp, 25)
29599 419792 : data_tmp = IAND(data_tmp, mask_left(26))
29600 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29601 419792 : ipack = ipack + 1
29602 419792 : packed_data(ipack) = pack_tmp
29603 419792 : data_tmp = full_data(idata)
29604 419792 : pack_tmp = ISHFT(data_tmp, 51)
29605 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29606 419792 : idata = idata + 1
29607 419792 : data_tmp = full_data(idata)
29608 419792 : data_tmp = ISHFT(data_tmp, 25)
29609 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29610 419792 : pack_tmp = ISHFT(pack_tmp, -12)
29611 419792 : idata = idata + 1
29612 419792 : data_tmp = full_data(idata)
29613 419792 : data_tmp = ISHFT(data_tmp, 25)
29614 419792 : data_tmp = IAND(data_tmp, mask_left(12))
29615 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29616 419792 : ipack = ipack + 1
29617 419792 : packed_data(ipack) = pack_tmp
29618 419792 : data_tmp = full_data(idata)
29619 419792 : pack_tmp = ISHFT(data_tmp, 37)
29620 419792 : pack_tmp = ISHFT(pack_tmp, -37)
29621 419792 : idata = idata + 1
29622 419792 : data_tmp = full_data(idata)
29623 419792 : data_tmp = ISHFT(data_tmp, 25)
29624 419792 : data_tmp = IAND(data_tmp, mask_left(37))
29625 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29626 419792 : ipack = ipack + 1
29627 419792 : packed_data(ipack) = pack_tmp
29628 419792 : data_tmp = full_data(idata)
29629 419792 : pack_tmp = ISHFT(data_tmp, 62)
29630 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29631 419792 : idata = idata + 1
29632 419792 : data_tmp = full_data(idata)
29633 419792 : data_tmp = ISHFT(data_tmp, 25)
29634 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29635 419792 : pack_tmp = ISHFT(pack_tmp, -23)
29636 419792 : idata = idata + 1
29637 419792 : data_tmp = full_data(idata)
29638 419792 : data_tmp = ISHFT(data_tmp, 25)
29639 419792 : data_tmp = IAND(data_tmp, mask_left(23))
29640 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29641 419792 : ipack = ipack + 1
29642 419792 : packed_data(ipack) = pack_tmp
29643 419792 : data_tmp = full_data(idata)
29644 419792 : pack_tmp = ISHFT(data_tmp, 48)
29645 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29646 419792 : idata = idata + 1
29647 419792 : data_tmp = full_data(idata)
29648 419792 : data_tmp = ISHFT(data_tmp, 25)
29649 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29650 419792 : pack_tmp = ISHFT(pack_tmp, -9)
29651 419792 : idata = idata + 1
29652 419792 : data_tmp = full_data(idata)
29653 419792 : data_tmp = ISHFT(data_tmp, 25)
29654 419792 : data_tmp = IAND(data_tmp, mask_left(9))
29655 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29656 419792 : ipack = ipack + 1
29657 419792 : packed_data(ipack) = pack_tmp
29658 419792 : data_tmp = full_data(idata)
29659 419792 : pack_tmp = ISHFT(data_tmp, 34)
29660 419792 : pack_tmp = ISHFT(pack_tmp, -34)
29661 419792 : idata = idata + 1
29662 419792 : data_tmp = full_data(idata)
29663 419792 : data_tmp = ISHFT(data_tmp, 25)
29664 419792 : data_tmp = IAND(data_tmp, mask_left(34))
29665 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29666 419792 : ipack = ipack + 1
29667 419792 : packed_data(ipack) = pack_tmp
29668 419792 : data_tmp = full_data(idata)
29669 419792 : pack_tmp = ISHFT(data_tmp, 59)
29670 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29671 419792 : idata = idata + 1
29672 419792 : data_tmp = full_data(idata)
29673 419792 : data_tmp = ISHFT(data_tmp, 25)
29674 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29675 419792 : pack_tmp = ISHFT(pack_tmp, -20)
29676 419792 : idata = idata + 1
29677 419792 : data_tmp = full_data(idata)
29678 419792 : data_tmp = ISHFT(data_tmp, 25)
29679 419792 : data_tmp = IAND(data_tmp, mask_left(20))
29680 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29681 419792 : ipack = ipack + 1
29682 419792 : packed_data(ipack) = pack_tmp
29683 419792 : data_tmp = full_data(idata)
29684 419792 : pack_tmp = ISHFT(data_tmp, 45)
29685 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29686 419792 : idata = idata + 1
29687 419792 : data_tmp = full_data(idata)
29688 419792 : data_tmp = ISHFT(data_tmp, 25)
29689 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29690 419792 : pack_tmp = ISHFT(pack_tmp, -6)
29691 419792 : idata = idata + 1
29692 419792 : data_tmp = full_data(idata)
29693 419792 : data_tmp = ISHFT(data_tmp, 25)
29694 419792 : data_tmp = IAND(data_tmp, mask_left(6))
29695 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29696 419792 : ipack = ipack + 1
29697 419792 : packed_data(ipack) = pack_tmp
29698 419792 : data_tmp = full_data(idata)
29699 419792 : pack_tmp = ISHFT(data_tmp, 31)
29700 419792 : pack_tmp = ISHFT(pack_tmp, -31)
29701 419792 : idata = idata + 1
29702 419792 : data_tmp = full_data(idata)
29703 419792 : data_tmp = ISHFT(data_tmp, 25)
29704 419792 : data_tmp = IAND(data_tmp, mask_left(31))
29705 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29706 419792 : ipack = ipack + 1
29707 419792 : packed_data(ipack) = pack_tmp
29708 419792 : data_tmp = full_data(idata)
29709 419792 : pack_tmp = ISHFT(data_tmp, 56)
29710 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29711 419792 : idata = idata + 1
29712 419792 : data_tmp = full_data(idata)
29713 419792 : data_tmp = ISHFT(data_tmp, 25)
29714 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29715 419792 : pack_tmp = ISHFT(pack_tmp, -17)
29716 419792 : idata = idata + 1
29717 419792 : data_tmp = full_data(idata)
29718 419792 : data_tmp = ISHFT(data_tmp, 25)
29719 419792 : data_tmp = IAND(data_tmp, mask_left(17))
29720 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29721 419792 : ipack = ipack + 1
29722 419792 : packed_data(ipack) = pack_tmp
29723 419792 : data_tmp = full_data(idata)
29724 419792 : pack_tmp = ISHFT(data_tmp, 42)
29725 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29726 419792 : idata = idata + 1
29727 419792 : data_tmp = full_data(idata)
29728 419792 : data_tmp = ISHFT(data_tmp, 25)
29729 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29730 419792 : pack_tmp = ISHFT(pack_tmp, -3)
29731 419792 : idata = idata + 1
29732 419792 : data_tmp = full_data(idata)
29733 419792 : data_tmp = ISHFT(data_tmp, 25)
29734 419792 : data_tmp = IAND(data_tmp, mask_left(3))
29735 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29736 419792 : ipack = ipack + 1
29737 419792 : packed_data(ipack) = pack_tmp
29738 419792 : data_tmp = full_data(idata)
29739 419792 : pack_tmp = ISHFT(data_tmp, 28)
29740 419792 : pack_tmp = ISHFT(pack_tmp, -28)
29741 419792 : idata = idata + 1
29742 419792 : data_tmp = full_data(idata)
29743 419792 : data_tmp = ISHFT(data_tmp, 25)
29744 419792 : data_tmp = IAND(data_tmp, mask_left(28))
29745 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29746 419792 : ipack = ipack + 1
29747 419792 : packed_data(ipack) = pack_tmp
29748 419792 : data_tmp = full_data(idata)
29749 419792 : pack_tmp = ISHFT(data_tmp, 53)
29750 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29751 419792 : idata = idata + 1
29752 419792 : data_tmp = full_data(idata)
29753 419792 : data_tmp = ISHFT(data_tmp, 25)
29754 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29755 419792 : pack_tmp = ISHFT(pack_tmp, -14)
29756 419792 : idata = idata + 1
29757 419792 : data_tmp = full_data(idata)
29758 419792 : data_tmp = ISHFT(data_tmp, 25)
29759 419792 : data_tmp = IAND(data_tmp, mask_left(14))
29760 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29761 419792 : ipack = ipack + 1
29762 419792 : packed_data(ipack) = pack_tmp
29763 419792 : data_tmp = full_data(idata)
29764 419792 : pack_tmp = ISHFT(data_tmp, 39)
29765 419792 : pack_tmp = ISHFT(pack_tmp, -39)
29766 419792 : idata = idata + 1
29767 419792 : data_tmp = full_data(idata)
29768 419792 : data_tmp = ISHFT(data_tmp, 25)
29769 419792 : pack_tmp = IOR(pack_tmp, data_tmp)
29770 : pack_tmp = ISHFT(pack_tmp, 0)
29771 419792 : pack_tmp = ISHFT(pack_tmp, 0)
29772 419792 : ipack = ipack + 1
29773 419792 : packed_data(ipack) = pack_tmp
29774 : END DO
29775 28447 : IF (Ndata_rep < Ndata) THEN
29776 4160 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29777 : END IF
29778 28447 : END SUBROUTINE ints2bits_39
29779 :
29780 : ! **************************************************************************************************
29781 : !> \brief ...
29782 : !> \param Ndata ...
29783 : !> \param packed_data ...
29784 : !> \param full_data ...
29785 : ! **************************************************************************************************
29786 125730 : 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 125730 : ipack = 0
29797 125730 : idata = 0
29798 125730 : pack_tmp = 0
29799 125730 : Ndata_rep = (Ndata/64)*64
29800 125730 : DO kdata = 1, Ndata_rep, 64
29801 1794488 : idata = idata + 1
29802 1794488 : data_tmp = ISHFT(pack_tmp, 39)
29803 1794488 : ipack = ipack + 1
29804 1794488 : pack_tmp = packed_data(ipack)
29805 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
29806 1794488 : pack_tmp = ISHFT(pack_tmp, -39)
29807 1794488 : idata = idata + 1
29808 1794488 : data_tmp = ISHFT(pack_tmp, 14)
29809 1794488 : ipack = ipack + 1
29810 1794488 : pack_tmp = packed_data(ipack)
29811 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29812 1794488 : pack_tmp = ISHFT(pack_tmp, -14)
29813 1794488 : idata = idata + 1
29814 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29815 1794488 : full_data(idata) = data_tmp
29816 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29817 1794488 : idata = idata + 1
29818 1794488 : data_tmp = ISHFT(pack_tmp, 28)
29819 1794488 : ipack = ipack + 1
29820 1794488 : pack_tmp = packed_data(ipack)
29821 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29822 1794488 : pack_tmp = ISHFT(pack_tmp, -28)
29823 1794488 : idata = idata + 1
29824 1794488 : data_tmp = ISHFT(pack_tmp, 3)
29825 1794488 : ipack = ipack + 1
29826 1794488 : pack_tmp = packed_data(ipack)
29827 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
29828 1794488 : pack_tmp = ISHFT(pack_tmp, -3)
29829 1794488 : idata = idata + 1
29830 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29831 1794488 : full_data(idata) = data_tmp
29832 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29833 1794488 : idata = idata + 1
29834 1794488 : data_tmp = ISHFT(pack_tmp, 17)
29835 1794488 : ipack = ipack + 1
29836 1794488 : pack_tmp = packed_data(ipack)
29837 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
29838 1794488 : pack_tmp = ISHFT(pack_tmp, -17)
29839 1794488 : idata = idata + 1
29840 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29841 1794488 : full_data(idata) = data_tmp
29842 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29843 1794488 : idata = idata + 1
29844 1794488 : data_tmp = ISHFT(pack_tmp, 31)
29845 1794488 : ipack = ipack + 1
29846 1794488 : pack_tmp = packed_data(ipack)
29847 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
29848 1794488 : pack_tmp = ISHFT(pack_tmp, -31)
29849 1794488 : idata = idata + 1
29850 1794488 : data_tmp = ISHFT(pack_tmp, 6)
29851 1794488 : ipack = ipack + 1
29852 1794488 : pack_tmp = packed_data(ipack)
29853 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29854 1794488 : pack_tmp = ISHFT(pack_tmp, -6)
29855 1794488 : idata = idata + 1
29856 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29857 1794488 : full_data(idata) = data_tmp
29858 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29859 1794488 : idata = idata + 1
29860 1794488 : data_tmp = ISHFT(pack_tmp, 20)
29861 1794488 : ipack = ipack + 1
29862 1794488 : pack_tmp = packed_data(ipack)
29863 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29864 1794488 : pack_tmp = ISHFT(pack_tmp, -20)
29865 1794488 : idata = idata + 1
29866 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29867 1794488 : full_data(idata) = data_tmp
29868 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29869 1794488 : idata = idata + 1
29870 1794488 : data_tmp = ISHFT(pack_tmp, 34)
29871 1794488 : ipack = ipack + 1
29872 1794488 : pack_tmp = packed_data(ipack)
29873 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29874 1794488 : pack_tmp = ISHFT(pack_tmp, -34)
29875 1794488 : idata = idata + 1
29876 1794488 : data_tmp = ISHFT(pack_tmp, 9)
29877 1794488 : ipack = ipack + 1
29878 1794488 : pack_tmp = packed_data(ipack)
29879 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
29880 1794488 : pack_tmp = ISHFT(pack_tmp, -9)
29881 1794488 : idata = idata + 1
29882 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29883 1794488 : full_data(idata) = data_tmp
29884 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29885 1794488 : idata = idata + 1
29886 1794488 : data_tmp = ISHFT(pack_tmp, 23)
29887 1794488 : ipack = ipack + 1
29888 1794488 : pack_tmp = packed_data(ipack)
29889 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
29890 1794488 : pack_tmp = ISHFT(pack_tmp, -23)
29891 1794488 : idata = idata + 1
29892 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29893 1794488 : full_data(idata) = data_tmp
29894 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29895 1794488 : idata = idata + 1
29896 1794488 : data_tmp = ISHFT(pack_tmp, 37)
29897 1794488 : ipack = ipack + 1
29898 1794488 : pack_tmp = packed_data(ipack)
29899 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
29900 1794488 : pack_tmp = ISHFT(pack_tmp, -37)
29901 1794488 : idata = idata + 1
29902 1794488 : data_tmp = ISHFT(pack_tmp, 12)
29903 1794488 : ipack = ipack + 1
29904 1794488 : pack_tmp = packed_data(ipack)
29905 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29906 1794488 : pack_tmp = ISHFT(pack_tmp, -12)
29907 1794488 : idata = idata + 1
29908 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29909 1794488 : full_data(idata) = data_tmp
29910 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29911 1794488 : idata = idata + 1
29912 1794488 : data_tmp = ISHFT(pack_tmp, 26)
29913 1794488 : ipack = ipack + 1
29914 1794488 : pack_tmp = packed_data(ipack)
29915 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29916 1794488 : pack_tmp = ISHFT(pack_tmp, -26)
29917 1794488 : idata = idata + 1
29918 1794488 : data_tmp = ISHFT(pack_tmp, 1)
29919 1794488 : ipack = ipack + 1
29920 1794488 : pack_tmp = packed_data(ipack)
29921 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
29922 1794488 : pack_tmp = ISHFT(pack_tmp, -1)
29923 1794488 : idata = idata + 1
29924 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29925 1794488 : full_data(idata) = data_tmp
29926 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29927 1794488 : idata = idata + 1
29928 1794488 : data_tmp = ISHFT(pack_tmp, 15)
29929 1794488 : ipack = ipack + 1
29930 1794488 : pack_tmp = packed_data(ipack)
29931 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
29932 1794488 : pack_tmp = ISHFT(pack_tmp, -15)
29933 1794488 : idata = idata + 1
29934 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29935 1794488 : full_data(idata) = data_tmp
29936 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29937 1794488 : idata = idata + 1
29938 1794488 : data_tmp = ISHFT(pack_tmp, 29)
29939 1794488 : ipack = ipack + 1
29940 1794488 : pack_tmp = packed_data(ipack)
29941 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
29942 1794488 : pack_tmp = ISHFT(pack_tmp, -29)
29943 1794488 : idata = idata + 1
29944 1794488 : data_tmp = ISHFT(pack_tmp, 4)
29945 1794488 : ipack = ipack + 1
29946 1794488 : pack_tmp = packed_data(ipack)
29947 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29948 1794488 : pack_tmp = ISHFT(pack_tmp, -4)
29949 1794488 : idata = idata + 1
29950 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29951 1794488 : full_data(idata) = data_tmp
29952 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29953 1794488 : idata = idata + 1
29954 1794488 : data_tmp = ISHFT(pack_tmp, 18)
29955 1794488 : ipack = ipack + 1
29956 1794488 : pack_tmp = packed_data(ipack)
29957 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29958 1794488 : pack_tmp = ISHFT(pack_tmp, -18)
29959 1794488 : idata = idata + 1
29960 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29961 1794488 : full_data(idata) = data_tmp
29962 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29963 1794488 : idata = idata + 1
29964 1794488 : data_tmp = ISHFT(pack_tmp, 32)
29965 1794488 : ipack = ipack + 1
29966 1794488 : pack_tmp = packed_data(ipack)
29967 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29968 1794488 : pack_tmp = ISHFT(pack_tmp, -32)
29969 1794488 : idata = idata + 1
29970 1794488 : data_tmp = ISHFT(pack_tmp, 7)
29971 1794488 : ipack = ipack + 1
29972 1794488 : pack_tmp = packed_data(ipack)
29973 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
29974 1794488 : pack_tmp = ISHFT(pack_tmp, -7)
29975 1794488 : idata = idata + 1
29976 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29977 1794488 : full_data(idata) = data_tmp
29978 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29979 1794488 : idata = idata + 1
29980 1794488 : data_tmp = ISHFT(pack_tmp, 21)
29981 1794488 : ipack = ipack + 1
29982 1794488 : pack_tmp = packed_data(ipack)
29983 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
29984 1794488 : pack_tmp = ISHFT(pack_tmp, -21)
29985 1794488 : idata = idata + 1
29986 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29987 1794488 : full_data(idata) = data_tmp
29988 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29989 1794488 : idata = idata + 1
29990 1794488 : data_tmp = ISHFT(pack_tmp, 35)
29991 1794488 : ipack = ipack + 1
29992 1794488 : pack_tmp = packed_data(ipack)
29993 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
29994 1794488 : pack_tmp = ISHFT(pack_tmp, -35)
29995 1794488 : idata = idata + 1
29996 1794488 : data_tmp = ISHFT(pack_tmp, 10)
29997 1794488 : ipack = ipack + 1
29998 1794488 : pack_tmp = packed_data(ipack)
29999 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
30000 1794488 : pack_tmp = ISHFT(pack_tmp, -10)
30001 1794488 : idata = idata + 1
30002 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30003 1794488 : full_data(idata) = data_tmp
30004 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30005 1794488 : idata = idata + 1
30006 1794488 : data_tmp = ISHFT(pack_tmp, 24)
30007 1794488 : ipack = ipack + 1
30008 1794488 : pack_tmp = packed_data(ipack)
30009 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30010 1794488 : pack_tmp = ISHFT(pack_tmp, -24)
30011 1794488 : idata = idata + 1
30012 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30013 1794488 : full_data(idata) = data_tmp
30014 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30015 1794488 : idata = idata + 1
30016 1794488 : data_tmp = ISHFT(pack_tmp, 38)
30017 1794488 : ipack = ipack + 1
30018 1794488 : pack_tmp = packed_data(ipack)
30019 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
30020 1794488 : pack_tmp = ISHFT(pack_tmp, -38)
30021 1794488 : idata = idata + 1
30022 1794488 : data_tmp = ISHFT(pack_tmp, 13)
30023 1794488 : ipack = ipack + 1
30024 1794488 : pack_tmp = packed_data(ipack)
30025 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
30026 1794488 : pack_tmp = ISHFT(pack_tmp, -13)
30027 1794488 : idata = idata + 1
30028 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30029 1794488 : full_data(idata) = data_tmp
30030 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30031 1794488 : idata = idata + 1
30032 1794488 : data_tmp = ISHFT(pack_tmp, 27)
30033 1794488 : ipack = ipack + 1
30034 1794488 : pack_tmp = packed_data(ipack)
30035 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
30036 1794488 : pack_tmp = ISHFT(pack_tmp, -27)
30037 1794488 : idata = idata + 1
30038 1794488 : data_tmp = ISHFT(pack_tmp, 2)
30039 1794488 : ipack = ipack + 1
30040 1794488 : pack_tmp = packed_data(ipack)
30041 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
30042 1794488 : pack_tmp = ISHFT(pack_tmp, -2)
30043 1794488 : idata = idata + 1
30044 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30045 1794488 : full_data(idata) = data_tmp
30046 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30047 1794488 : idata = idata + 1
30048 1794488 : data_tmp = ISHFT(pack_tmp, 16)
30049 1794488 : ipack = ipack + 1
30050 1794488 : pack_tmp = packed_data(ipack)
30051 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30052 1794488 : pack_tmp = ISHFT(pack_tmp, -16)
30053 1794488 : idata = idata + 1
30054 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30055 1794488 : full_data(idata) = data_tmp
30056 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30057 1794488 : idata = idata + 1
30058 1794488 : data_tmp = ISHFT(pack_tmp, 30)
30059 1794488 : ipack = ipack + 1
30060 1794488 : pack_tmp = packed_data(ipack)
30061 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
30062 1794488 : pack_tmp = ISHFT(pack_tmp, -30)
30063 1794488 : idata = idata + 1
30064 1794488 : data_tmp = ISHFT(pack_tmp, 5)
30065 1794488 : ipack = ipack + 1
30066 1794488 : pack_tmp = packed_data(ipack)
30067 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
30068 1794488 : pack_tmp = ISHFT(pack_tmp, -5)
30069 1794488 : idata = idata + 1
30070 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30071 1794488 : full_data(idata) = data_tmp
30072 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30073 1794488 : idata = idata + 1
30074 1794488 : data_tmp = ISHFT(pack_tmp, 19)
30075 1794488 : ipack = ipack + 1
30076 1794488 : pack_tmp = packed_data(ipack)
30077 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
30078 1794488 : pack_tmp = ISHFT(pack_tmp, -19)
30079 1794488 : idata = idata + 1
30080 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30081 1794488 : full_data(idata) = data_tmp
30082 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30083 1794488 : idata = idata + 1
30084 1794488 : data_tmp = ISHFT(pack_tmp, 33)
30085 1794488 : ipack = ipack + 1
30086 1794488 : pack_tmp = packed_data(ipack)
30087 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
30088 1794488 : pack_tmp = ISHFT(pack_tmp, -33)
30089 1794488 : idata = idata + 1
30090 1794488 : data_tmp = ISHFT(pack_tmp, 8)
30091 1794488 : ipack = ipack + 1
30092 1794488 : pack_tmp = packed_data(ipack)
30093 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30094 1794488 : pack_tmp = ISHFT(pack_tmp, -8)
30095 1794488 : idata = idata + 1
30096 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30097 1794488 : full_data(idata) = data_tmp
30098 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30099 1794488 : idata = idata + 1
30100 1794488 : data_tmp = ISHFT(pack_tmp, 22)
30101 1794488 : ipack = ipack + 1
30102 1794488 : pack_tmp = packed_data(ipack)
30103 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
30104 1794488 : pack_tmp = ISHFT(pack_tmp, -22)
30105 1794488 : idata = idata + 1
30106 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30107 1794488 : full_data(idata) = data_tmp
30108 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30109 1794488 : idata = idata + 1
30110 1794488 : data_tmp = ISHFT(pack_tmp, 36)
30111 1794488 : ipack = ipack + 1
30112 1794488 : pack_tmp = packed_data(ipack)
30113 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
30114 1794488 : pack_tmp = ISHFT(pack_tmp, -36)
30115 1794488 : idata = idata + 1
30116 1794488 : data_tmp = ISHFT(pack_tmp, 11)
30117 1794488 : ipack = ipack + 1
30118 1794488 : pack_tmp = packed_data(ipack)
30119 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
30120 1794488 : pack_tmp = ISHFT(pack_tmp, -11)
30121 1794488 : idata = idata + 1
30122 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30123 1794488 : full_data(idata) = data_tmp
30124 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30125 1794488 : idata = idata + 1
30126 1794488 : data_tmp = ISHFT(pack_tmp, 25)
30127 1794488 : ipack = ipack + 1
30128 1794488 : pack_tmp = packed_data(ipack)
30129 1794488 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
30130 1794488 : pack_tmp = ISHFT(pack_tmp, -25)
30131 1794488 : idata = idata + 1
30132 1794488 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30133 1794488 : full_data(idata) = data_tmp
30134 1794488 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30135 : END DO
30136 125730 : IF (Ndata_rep < Ndata) THEN
30137 25552 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
30138 : END IF
30139 125730 : 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 27007 : 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 27007 : idata = 0
31066 27007 : ipack = 0
31067 27007 : Ndata_rep = (Ndata/64)*64
31068 27007 : DO kdata = 1, Ndata_rep, 64
31069 407957 : pack_tmp = 0
31070 407957 : idata = idata + 1
31071 407957 : data_tmp = full_data(idata)
31072 407957 : data_tmp = ISHFT(data_tmp, 23)
31073 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31074 407957 : pack_tmp = ISHFT(pack_tmp, -23)
31075 407957 : idata = idata + 1
31076 407957 : data_tmp = full_data(idata)
31077 407957 : data_tmp = ISHFT(data_tmp, 23)
31078 407957 : data_tmp = IAND(data_tmp, mask_left(23))
31079 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31080 407957 : ipack = ipack + 1
31081 407957 : packed_data(ipack) = pack_tmp
31082 407957 : data_tmp = full_data(idata)
31083 407957 : pack_tmp = ISHFT(data_tmp, 46)
31084 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31085 407957 : idata = idata + 1
31086 407957 : data_tmp = full_data(idata)
31087 407957 : data_tmp = ISHFT(data_tmp, 23)
31088 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31089 407957 : pack_tmp = ISHFT(pack_tmp, -5)
31090 407957 : idata = idata + 1
31091 407957 : data_tmp = full_data(idata)
31092 407957 : data_tmp = ISHFT(data_tmp, 23)
31093 407957 : data_tmp = IAND(data_tmp, mask_left(5))
31094 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31095 407957 : ipack = ipack + 1
31096 407957 : packed_data(ipack) = pack_tmp
31097 407957 : data_tmp = full_data(idata)
31098 407957 : pack_tmp = ISHFT(data_tmp, 28)
31099 407957 : pack_tmp = ISHFT(pack_tmp, -28)
31100 407957 : idata = idata + 1
31101 407957 : data_tmp = full_data(idata)
31102 407957 : data_tmp = ISHFT(data_tmp, 23)
31103 407957 : data_tmp = IAND(data_tmp, mask_left(28))
31104 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31105 407957 : ipack = ipack + 1
31106 407957 : packed_data(ipack) = pack_tmp
31107 407957 : data_tmp = full_data(idata)
31108 407957 : pack_tmp = ISHFT(data_tmp, 51)
31109 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31110 407957 : idata = idata + 1
31111 407957 : data_tmp = full_data(idata)
31112 407957 : data_tmp = ISHFT(data_tmp, 23)
31113 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31114 407957 : pack_tmp = ISHFT(pack_tmp, -10)
31115 407957 : idata = idata + 1
31116 407957 : data_tmp = full_data(idata)
31117 407957 : data_tmp = ISHFT(data_tmp, 23)
31118 407957 : data_tmp = IAND(data_tmp, mask_left(10))
31119 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31120 407957 : ipack = ipack + 1
31121 407957 : packed_data(ipack) = pack_tmp
31122 407957 : data_tmp = full_data(idata)
31123 407957 : pack_tmp = ISHFT(data_tmp, 33)
31124 407957 : pack_tmp = ISHFT(pack_tmp, -33)
31125 407957 : idata = idata + 1
31126 407957 : data_tmp = full_data(idata)
31127 407957 : data_tmp = ISHFT(data_tmp, 23)
31128 407957 : data_tmp = IAND(data_tmp, mask_left(33))
31129 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31130 407957 : ipack = ipack + 1
31131 407957 : packed_data(ipack) = pack_tmp
31132 407957 : data_tmp = full_data(idata)
31133 407957 : pack_tmp = ISHFT(data_tmp, 56)
31134 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31135 407957 : idata = idata + 1
31136 407957 : data_tmp = full_data(idata)
31137 407957 : data_tmp = ISHFT(data_tmp, 23)
31138 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31139 407957 : pack_tmp = ISHFT(pack_tmp, -15)
31140 407957 : idata = idata + 1
31141 407957 : data_tmp = full_data(idata)
31142 407957 : data_tmp = ISHFT(data_tmp, 23)
31143 407957 : data_tmp = IAND(data_tmp, mask_left(15))
31144 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31145 407957 : ipack = ipack + 1
31146 407957 : packed_data(ipack) = pack_tmp
31147 407957 : data_tmp = full_data(idata)
31148 407957 : pack_tmp = ISHFT(data_tmp, 38)
31149 407957 : pack_tmp = ISHFT(pack_tmp, -38)
31150 407957 : idata = idata + 1
31151 407957 : data_tmp = full_data(idata)
31152 407957 : data_tmp = ISHFT(data_tmp, 23)
31153 407957 : data_tmp = IAND(data_tmp, mask_left(38))
31154 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31155 407957 : ipack = ipack + 1
31156 407957 : packed_data(ipack) = pack_tmp
31157 407957 : data_tmp = full_data(idata)
31158 407957 : pack_tmp = ISHFT(data_tmp, 61)
31159 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31160 407957 : idata = idata + 1
31161 407957 : data_tmp = full_data(idata)
31162 407957 : data_tmp = ISHFT(data_tmp, 23)
31163 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31164 407957 : pack_tmp = ISHFT(pack_tmp, -20)
31165 407957 : idata = idata + 1
31166 407957 : data_tmp = full_data(idata)
31167 407957 : data_tmp = ISHFT(data_tmp, 23)
31168 407957 : data_tmp = IAND(data_tmp, mask_left(20))
31169 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31170 407957 : ipack = ipack + 1
31171 407957 : packed_data(ipack) = pack_tmp
31172 407957 : data_tmp = full_data(idata)
31173 407957 : pack_tmp = ISHFT(data_tmp, 43)
31174 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31175 407957 : idata = idata + 1
31176 407957 : data_tmp = full_data(idata)
31177 407957 : data_tmp = ISHFT(data_tmp, 23)
31178 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31179 407957 : pack_tmp = ISHFT(pack_tmp, -2)
31180 407957 : idata = idata + 1
31181 407957 : data_tmp = full_data(idata)
31182 407957 : data_tmp = ISHFT(data_tmp, 23)
31183 407957 : data_tmp = IAND(data_tmp, mask_left(2))
31184 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31185 407957 : ipack = ipack + 1
31186 407957 : packed_data(ipack) = pack_tmp
31187 407957 : data_tmp = full_data(idata)
31188 407957 : pack_tmp = ISHFT(data_tmp, 25)
31189 407957 : pack_tmp = ISHFT(pack_tmp, -25)
31190 407957 : idata = idata + 1
31191 407957 : data_tmp = full_data(idata)
31192 407957 : data_tmp = ISHFT(data_tmp, 23)
31193 407957 : data_tmp = IAND(data_tmp, mask_left(25))
31194 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31195 407957 : ipack = ipack + 1
31196 407957 : packed_data(ipack) = pack_tmp
31197 407957 : data_tmp = full_data(idata)
31198 407957 : pack_tmp = ISHFT(data_tmp, 48)
31199 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31200 407957 : idata = idata + 1
31201 407957 : data_tmp = full_data(idata)
31202 407957 : data_tmp = ISHFT(data_tmp, 23)
31203 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31204 407957 : pack_tmp = ISHFT(pack_tmp, -7)
31205 407957 : idata = idata + 1
31206 407957 : data_tmp = full_data(idata)
31207 407957 : data_tmp = ISHFT(data_tmp, 23)
31208 407957 : data_tmp = IAND(data_tmp, mask_left(7))
31209 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31210 407957 : ipack = ipack + 1
31211 407957 : packed_data(ipack) = pack_tmp
31212 407957 : data_tmp = full_data(idata)
31213 407957 : pack_tmp = ISHFT(data_tmp, 30)
31214 407957 : pack_tmp = ISHFT(pack_tmp, -30)
31215 407957 : idata = idata + 1
31216 407957 : data_tmp = full_data(idata)
31217 407957 : data_tmp = ISHFT(data_tmp, 23)
31218 407957 : data_tmp = IAND(data_tmp, mask_left(30))
31219 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31220 407957 : ipack = ipack + 1
31221 407957 : packed_data(ipack) = pack_tmp
31222 407957 : data_tmp = full_data(idata)
31223 407957 : pack_tmp = ISHFT(data_tmp, 53)
31224 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31225 407957 : idata = idata + 1
31226 407957 : data_tmp = full_data(idata)
31227 407957 : data_tmp = ISHFT(data_tmp, 23)
31228 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31229 407957 : pack_tmp = ISHFT(pack_tmp, -12)
31230 407957 : idata = idata + 1
31231 407957 : data_tmp = full_data(idata)
31232 407957 : data_tmp = ISHFT(data_tmp, 23)
31233 407957 : data_tmp = IAND(data_tmp, mask_left(12))
31234 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31235 407957 : ipack = ipack + 1
31236 407957 : packed_data(ipack) = pack_tmp
31237 407957 : data_tmp = full_data(idata)
31238 407957 : pack_tmp = ISHFT(data_tmp, 35)
31239 407957 : pack_tmp = ISHFT(pack_tmp, -35)
31240 407957 : idata = idata + 1
31241 407957 : data_tmp = full_data(idata)
31242 407957 : data_tmp = ISHFT(data_tmp, 23)
31243 407957 : data_tmp = IAND(data_tmp, mask_left(35))
31244 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31245 407957 : ipack = ipack + 1
31246 407957 : packed_data(ipack) = pack_tmp
31247 407957 : data_tmp = full_data(idata)
31248 407957 : pack_tmp = ISHFT(data_tmp, 58)
31249 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31250 407957 : idata = idata + 1
31251 407957 : data_tmp = full_data(idata)
31252 407957 : data_tmp = ISHFT(data_tmp, 23)
31253 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31254 407957 : pack_tmp = ISHFT(pack_tmp, -17)
31255 407957 : idata = idata + 1
31256 407957 : data_tmp = full_data(idata)
31257 407957 : data_tmp = ISHFT(data_tmp, 23)
31258 407957 : data_tmp = IAND(data_tmp, mask_left(17))
31259 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31260 407957 : ipack = ipack + 1
31261 407957 : packed_data(ipack) = pack_tmp
31262 407957 : data_tmp = full_data(idata)
31263 407957 : pack_tmp = ISHFT(data_tmp, 40)
31264 407957 : pack_tmp = ISHFT(pack_tmp, -40)
31265 407957 : idata = idata + 1
31266 407957 : data_tmp = full_data(idata)
31267 407957 : data_tmp = ISHFT(data_tmp, 23)
31268 407957 : data_tmp = IAND(data_tmp, mask_left(40))
31269 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31270 407957 : ipack = ipack + 1
31271 407957 : packed_data(ipack) = pack_tmp
31272 407957 : data_tmp = full_data(idata)
31273 407957 : pack_tmp = ISHFT(data_tmp, 63)
31274 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31275 407957 : idata = idata + 1
31276 407957 : data_tmp = full_data(idata)
31277 407957 : data_tmp = ISHFT(data_tmp, 23)
31278 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31279 407957 : pack_tmp = ISHFT(pack_tmp, -22)
31280 407957 : idata = idata + 1
31281 407957 : data_tmp = full_data(idata)
31282 407957 : data_tmp = ISHFT(data_tmp, 23)
31283 407957 : data_tmp = IAND(data_tmp, mask_left(22))
31284 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31285 407957 : ipack = ipack + 1
31286 407957 : packed_data(ipack) = pack_tmp
31287 407957 : data_tmp = full_data(idata)
31288 407957 : pack_tmp = ISHFT(data_tmp, 45)
31289 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31290 407957 : idata = idata + 1
31291 407957 : data_tmp = full_data(idata)
31292 407957 : data_tmp = ISHFT(data_tmp, 23)
31293 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31294 407957 : pack_tmp = ISHFT(pack_tmp, -4)
31295 407957 : idata = idata + 1
31296 407957 : data_tmp = full_data(idata)
31297 407957 : data_tmp = ISHFT(data_tmp, 23)
31298 407957 : data_tmp = IAND(data_tmp, mask_left(4))
31299 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31300 407957 : ipack = ipack + 1
31301 407957 : packed_data(ipack) = pack_tmp
31302 407957 : data_tmp = full_data(idata)
31303 407957 : pack_tmp = ISHFT(data_tmp, 27)
31304 407957 : pack_tmp = ISHFT(pack_tmp, -27)
31305 407957 : idata = idata + 1
31306 407957 : data_tmp = full_data(idata)
31307 407957 : data_tmp = ISHFT(data_tmp, 23)
31308 407957 : data_tmp = IAND(data_tmp, mask_left(27))
31309 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31310 407957 : ipack = ipack + 1
31311 407957 : packed_data(ipack) = pack_tmp
31312 407957 : data_tmp = full_data(idata)
31313 407957 : pack_tmp = ISHFT(data_tmp, 50)
31314 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31315 407957 : idata = idata + 1
31316 407957 : data_tmp = full_data(idata)
31317 407957 : data_tmp = ISHFT(data_tmp, 23)
31318 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31319 407957 : pack_tmp = ISHFT(pack_tmp, -9)
31320 407957 : idata = idata + 1
31321 407957 : data_tmp = full_data(idata)
31322 407957 : data_tmp = ISHFT(data_tmp, 23)
31323 407957 : data_tmp = IAND(data_tmp, mask_left(9))
31324 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31325 407957 : ipack = ipack + 1
31326 407957 : packed_data(ipack) = pack_tmp
31327 407957 : data_tmp = full_data(idata)
31328 407957 : pack_tmp = ISHFT(data_tmp, 32)
31329 407957 : pack_tmp = ISHFT(pack_tmp, -32)
31330 407957 : idata = idata + 1
31331 407957 : data_tmp = full_data(idata)
31332 407957 : data_tmp = ISHFT(data_tmp, 23)
31333 407957 : data_tmp = IAND(data_tmp, mask_left(32))
31334 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31335 407957 : ipack = ipack + 1
31336 407957 : packed_data(ipack) = pack_tmp
31337 407957 : data_tmp = full_data(idata)
31338 407957 : pack_tmp = ISHFT(data_tmp, 55)
31339 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31340 407957 : idata = idata + 1
31341 407957 : data_tmp = full_data(idata)
31342 407957 : data_tmp = ISHFT(data_tmp, 23)
31343 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31344 407957 : pack_tmp = ISHFT(pack_tmp, -14)
31345 407957 : idata = idata + 1
31346 407957 : data_tmp = full_data(idata)
31347 407957 : data_tmp = ISHFT(data_tmp, 23)
31348 407957 : data_tmp = IAND(data_tmp, mask_left(14))
31349 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31350 407957 : ipack = ipack + 1
31351 407957 : packed_data(ipack) = pack_tmp
31352 407957 : data_tmp = full_data(idata)
31353 407957 : pack_tmp = ISHFT(data_tmp, 37)
31354 407957 : pack_tmp = ISHFT(pack_tmp, -37)
31355 407957 : idata = idata + 1
31356 407957 : data_tmp = full_data(idata)
31357 407957 : data_tmp = ISHFT(data_tmp, 23)
31358 407957 : data_tmp = IAND(data_tmp, mask_left(37))
31359 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31360 407957 : ipack = ipack + 1
31361 407957 : packed_data(ipack) = pack_tmp
31362 407957 : data_tmp = full_data(idata)
31363 407957 : pack_tmp = ISHFT(data_tmp, 60)
31364 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31365 407957 : idata = idata + 1
31366 407957 : data_tmp = full_data(idata)
31367 407957 : data_tmp = ISHFT(data_tmp, 23)
31368 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31369 407957 : pack_tmp = ISHFT(pack_tmp, -19)
31370 407957 : idata = idata + 1
31371 407957 : data_tmp = full_data(idata)
31372 407957 : data_tmp = ISHFT(data_tmp, 23)
31373 407957 : data_tmp = IAND(data_tmp, mask_left(19))
31374 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31375 407957 : ipack = ipack + 1
31376 407957 : packed_data(ipack) = pack_tmp
31377 407957 : data_tmp = full_data(idata)
31378 407957 : pack_tmp = ISHFT(data_tmp, 42)
31379 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31380 407957 : idata = idata + 1
31381 407957 : data_tmp = full_data(idata)
31382 407957 : data_tmp = ISHFT(data_tmp, 23)
31383 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31384 407957 : pack_tmp = ISHFT(pack_tmp, -1)
31385 407957 : idata = idata + 1
31386 407957 : data_tmp = full_data(idata)
31387 407957 : data_tmp = ISHFT(data_tmp, 23)
31388 407957 : data_tmp = IAND(data_tmp, mask_left(1))
31389 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31390 407957 : ipack = ipack + 1
31391 407957 : packed_data(ipack) = pack_tmp
31392 407957 : data_tmp = full_data(idata)
31393 407957 : pack_tmp = ISHFT(data_tmp, 24)
31394 407957 : pack_tmp = ISHFT(pack_tmp, -24)
31395 407957 : idata = idata + 1
31396 407957 : data_tmp = full_data(idata)
31397 407957 : data_tmp = ISHFT(data_tmp, 23)
31398 407957 : data_tmp = IAND(data_tmp, mask_left(24))
31399 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31400 407957 : ipack = ipack + 1
31401 407957 : packed_data(ipack) = pack_tmp
31402 407957 : data_tmp = full_data(idata)
31403 407957 : pack_tmp = ISHFT(data_tmp, 47)
31404 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31405 407957 : idata = idata + 1
31406 407957 : data_tmp = full_data(idata)
31407 407957 : data_tmp = ISHFT(data_tmp, 23)
31408 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31409 407957 : pack_tmp = ISHFT(pack_tmp, -6)
31410 407957 : idata = idata + 1
31411 407957 : data_tmp = full_data(idata)
31412 407957 : data_tmp = ISHFT(data_tmp, 23)
31413 407957 : data_tmp = IAND(data_tmp, mask_left(6))
31414 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31415 407957 : ipack = ipack + 1
31416 407957 : packed_data(ipack) = pack_tmp
31417 407957 : data_tmp = full_data(idata)
31418 407957 : pack_tmp = ISHFT(data_tmp, 29)
31419 407957 : pack_tmp = ISHFT(pack_tmp, -29)
31420 407957 : idata = idata + 1
31421 407957 : data_tmp = full_data(idata)
31422 407957 : data_tmp = ISHFT(data_tmp, 23)
31423 407957 : data_tmp = IAND(data_tmp, mask_left(29))
31424 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31425 407957 : ipack = ipack + 1
31426 407957 : packed_data(ipack) = pack_tmp
31427 407957 : data_tmp = full_data(idata)
31428 407957 : pack_tmp = ISHFT(data_tmp, 52)
31429 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31430 407957 : idata = idata + 1
31431 407957 : data_tmp = full_data(idata)
31432 407957 : data_tmp = ISHFT(data_tmp, 23)
31433 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31434 407957 : pack_tmp = ISHFT(pack_tmp, -11)
31435 407957 : idata = idata + 1
31436 407957 : data_tmp = full_data(idata)
31437 407957 : data_tmp = ISHFT(data_tmp, 23)
31438 407957 : data_tmp = IAND(data_tmp, mask_left(11))
31439 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31440 407957 : ipack = ipack + 1
31441 407957 : packed_data(ipack) = pack_tmp
31442 407957 : data_tmp = full_data(idata)
31443 407957 : pack_tmp = ISHFT(data_tmp, 34)
31444 407957 : pack_tmp = ISHFT(pack_tmp, -34)
31445 407957 : idata = idata + 1
31446 407957 : data_tmp = full_data(idata)
31447 407957 : data_tmp = ISHFT(data_tmp, 23)
31448 407957 : data_tmp = IAND(data_tmp, mask_left(34))
31449 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31450 407957 : ipack = ipack + 1
31451 407957 : packed_data(ipack) = pack_tmp
31452 407957 : data_tmp = full_data(idata)
31453 407957 : pack_tmp = ISHFT(data_tmp, 57)
31454 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31455 407957 : idata = idata + 1
31456 407957 : data_tmp = full_data(idata)
31457 407957 : data_tmp = ISHFT(data_tmp, 23)
31458 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31459 407957 : pack_tmp = ISHFT(pack_tmp, -16)
31460 407957 : idata = idata + 1
31461 407957 : data_tmp = full_data(idata)
31462 407957 : data_tmp = ISHFT(data_tmp, 23)
31463 407957 : data_tmp = IAND(data_tmp, mask_left(16))
31464 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31465 407957 : ipack = ipack + 1
31466 407957 : packed_data(ipack) = pack_tmp
31467 407957 : data_tmp = full_data(idata)
31468 407957 : pack_tmp = ISHFT(data_tmp, 39)
31469 407957 : pack_tmp = ISHFT(pack_tmp, -39)
31470 407957 : idata = idata + 1
31471 407957 : data_tmp = full_data(idata)
31472 407957 : data_tmp = ISHFT(data_tmp, 23)
31473 407957 : data_tmp = IAND(data_tmp, mask_left(39))
31474 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31475 407957 : ipack = ipack + 1
31476 407957 : packed_data(ipack) = pack_tmp
31477 407957 : data_tmp = full_data(idata)
31478 407957 : pack_tmp = ISHFT(data_tmp, 62)
31479 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31480 407957 : idata = idata + 1
31481 407957 : data_tmp = full_data(idata)
31482 407957 : data_tmp = ISHFT(data_tmp, 23)
31483 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31484 407957 : pack_tmp = ISHFT(pack_tmp, -21)
31485 407957 : idata = idata + 1
31486 407957 : data_tmp = full_data(idata)
31487 407957 : data_tmp = ISHFT(data_tmp, 23)
31488 407957 : data_tmp = IAND(data_tmp, mask_left(21))
31489 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31490 407957 : ipack = ipack + 1
31491 407957 : packed_data(ipack) = pack_tmp
31492 407957 : data_tmp = full_data(idata)
31493 407957 : pack_tmp = ISHFT(data_tmp, 44)
31494 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31495 407957 : idata = idata + 1
31496 407957 : data_tmp = full_data(idata)
31497 407957 : data_tmp = ISHFT(data_tmp, 23)
31498 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31499 407957 : pack_tmp = ISHFT(pack_tmp, -3)
31500 407957 : idata = idata + 1
31501 407957 : data_tmp = full_data(idata)
31502 407957 : data_tmp = ISHFT(data_tmp, 23)
31503 407957 : data_tmp = IAND(data_tmp, mask_left(3))
31504 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31505 407957 : ipack = ipack + 1
31506 407957 : packed_data(ipack) = pack_tmp
31507 407957 : data_tmp = full_data(idata)
31508 407957 : pack_tmp = ISHFT(data_tmp, 26)
31509 407957 : pack_tmp = ISHFT(pack_tmp, -26)
31510 407957 : idata = idata + 1
31511 407957 : data_tmp = full_data(idata)
31512 407957 : data_tmp = ISHFT(data_tmp, 23)
31513 407957 : data_tmp = IAND(data_tmp, mask_left(26))
31514 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31515 407957 : ipack = ipack + 1
31516 407957 : packed_data(ipack) = pack_tmp
31517 407957 : data_tmp = full_data(idata)
31518 407957 : pack_tmp = ISHFT(data_tmp, 49)
31519 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31520 407957 : idata = idata + 1
31521 407957 : data_tmp = full_data(idata)
31522 407957 : data_tmp = ISHFT(data_tmp, 23)
31523 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31524 407957 : pack_tmp = ISHFT(pack_tmp, -8)
31525 407957 : idata = idata + 1
31526 407957 : data_tmp = full_data(idata)
31527 407957 : data_tmp = ISHFT(data_tmp, 23)
31528 407957 : data_tmp = IAND(data_tmp, mask_left(8))
31529 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31530 407957 : ipack = ipack + 1
31531 407957 : packed_data(ipack) = pack_tmp
31532 407957 : data_tmp = full_data(idata)
31533 407957 : pack_tmp = ISHFT(data_tmp, 31)
31534 407957 : pack_tmp = ISHFT(pack_tmp, -31)
31535 407957 : idata = idata + 1
31536 407957 : data_tmp = full_data(idata)
31537 407957 : data_tmp = ISHFT(data_tmp, 23)
31538 407957 : data_tmp = IAND(data_tmp, mask_left(31))
31539 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31540 407957 : ipack = ipack + 1
31541 407957 : packed_data(ipack) = pack_tmp
31542 407957 : data_tmp = full_data(idata)
31543 407957 : pack_tmp = ISHFT(data_tmp, 54)
31544 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31545 407957 : idata = idata + 1
31546 407957 : data_tmp = full_data(idata)
31547 407957 : data_tmp = ISHFT(data_tmp, 23)
31548 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31549 407957 : pack_tmp = ISHFT(pack_tmp, -13)
31550 407957 : idata = idata + 1
31551 407957 : data_tmp = full_data(idata)
31552 407957 : data_tmp = ISHFT(data_tmp, 23)
31553 407957 : data_tmp = IAND(data_tmp, mask_left(13))
31554 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31555 407957 : ipack = ipack + 1
31556 407957 : packed_data(ipack) = pack_tmp
31557 407957 : data_tmp = full_data(idata)
31558 407957 : pack_tmp = ISHFT(data_tmp, 36)
31559 407957 : pack_tmp = ISHFT(pack_tmp, -36)
31560 407957 : idata = idata + 1
31561 407957 : data_tmp = full_data(idata)
31562 407957 : data_tmp = ISHFT(data_tmp, 23)
31563 407957 : data_tmp = IAND(data_tmp, mask_left(36))
31564 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31565 407957 : ipack = ipack + 1
31566 407957 : packed_data(ipack) = pack_tmp
31567 407957 : data_tmp = full_data(idata)
31568 407957 : pack_tmp = ISHFT(data_tmp, 59)
31569 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31570 407957 : idata = idata + 1
31571 407957 : data_tmp = full_data(idata)
31572 407957 : data_tmp = ISHFT(data_tmp, 23)
31573 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31574 407957 : pack_tmp = ISHFT(pack_tmp, -18)
31575 407957 : idata = idata + 1
31576 407957 : data_tmp = full_data(idata)
31577 407957 : data_tmp = ISHFT(data_tmp, 23)
31578 407957 : data_tmp = IAND(data_tmp, mask_left(18))
31579 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31580 407957 : ipack = ipack + 1
31581 407957 : packed_data(ipack) = pack_tmp
31582 407957 : data_tmp = full_data(idata)
31583 407957 : pack_tmp = ISHFT(data_tmp, 41)
31584 407957 : pack_tmp = ISHFT(pack_tmp, -41)
31585 407957 : idata = idata + 1
31586 407957 : data_tmp = full_data(idata)
31587 407957 : data_tmp = ISHFT(data_tmp, 23)
31588 407957 : pack_tmp = IOR(pack_tmp, data_tmp)
31589 : pack_tmp = ISHFT(pack_tmp, 0)
31590 407957 : pack_tmp = ISHFT(pack_tmp, 0)
31591 407957 : ipack = ipack + 1
31592 408014 : packed_data(ipack) = pack_tmp
31593 : END DO
31594 27007 : IF (Ndata_rep < Ndata) THEN
31595 2806 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31596 : END IF
31597 27007 : END SUBROUTINE ints2bits_41
31598 :
31599 : ! **************************************************************************************************
31600 : !> \brief ...
31601 : !> \param Ndata ...
31602 : !> \param packed_data ...
31603 : !> \param full_data ...
31604 : ! **************************************************************************************************
31605 131305 : 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 131305 : ipack = 0
31616 131305 : idata = 0
31617 131305 : pack_tmp = 0
31618 131305 : Ndata_rep = (Ndata/64)*64
31619 131305 : DO kdata = 1, Ndata_rep, 64
31620 1851976 : idata = idata + 1
31621 1851976 : data_tmp = ISHFT(pack_tmp, 41)
31622 1851976 : ipack = ipack + 1
31623 1851976 : pack_tmp = packed_data(ipack)
31624 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
31625 1851976 : pack_tmp = ISHFT(pack_tmp, -41)
31626 1851976 : idata = idata + 1
31627 1851976 : data_tmp = ISHFT(pack_tmp, 18)
31628 1851976 : ipack = ipack + 1
31629 1851976 : pack_tmp = packed_data(ipack)
31630 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
31631 1851976 : pack_tmp = ISHFT(pack_tmp, -18)
31632 1851976 : idata = idata + 1
31633 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31634 1851976 : full_data(idata) = data_tmp
31635 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31636 1851976 : idata = idata + 1
31637 1851976 : data_tmp = ISHFT(pack_tmp, 36)
31638 1851976 : ipack = ipack + 1
31639 1851976 : pack_tmp = packed_data(ipack)
31640 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
31641 1851976 : pack_tmp = ISHFT(pack_tmp, -36)
31642 1851976 : idata = idata + 1
31643 1851976 : data_tmp = ISHFT(pack_tmp, 13)
31644 1851976 : ipack = ipack + 1
31645 1851976 : pack_tmp = packed_data(ipack)
31646 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
31647 1851976 : pack_tmp = ISHFT(pack_tmp, -13)
31648 1851976 : idata = idata + 1
31649 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31650 1851976 : full_data(idata) = data_tmp
31651 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31652 1851976 : idata = idata + 1
31653 1851976 : data_tmp = ISHFT(pack_tmp, 31)
31654 1851976 : ipack = ipack + 1
31655 1851976 : pack_tmp = packed_data(ipack)
31656 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
31657 1851976 : pack_tmp = ISHFT(pack_tmp, -31)
31658 1851976 : idata = idata + 1
31659 1851976 : data_tmp = ISHFT(pack_tmp, 8)
31660 1851976 : ipack = ipack + 1
31661 1851976 : pack_tmp = packed_data(ipack)
31662 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
31663 1851976 : pack_tmp = ISHFT(pack_tmp, -8)
31664 1851976 : idata = idata + 1
31665 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31666 1851976 : full_data(idata) = data_tmp
31667 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31668 1851976 : idata = idata + 1
31669 1851976 : data_tmp = ISHFT(pack_tmp, 26)
31670 1851976 : ipack = ipack + 1
31671 1851976 : pack_tmp = packed_data(ipack)
31672 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
31673 1851976 : pack_tmp = ISHFT(pack_tmp, -26)
31674 1851976 : idata = idata + 1
31675 1851976 : data_tmp = ISHFT(pack_tmp, 3)
31676 1851976 : ipack = ipack + 1
31677 1851976 : pack_tmp = packed_data(ipack)
31678 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
31679 1851976 : pack_tmp = ISHFT(pack_tmp, -3)
31680 1851976 : idata = idata + 1
31681 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31682 1851976 : full_data(idata) = data_tmp
31683 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31684 1851976 : idata = idata + 1
31685 1851976 : data_tmp = ISHFT(pack_tmp, 21)
31686 1851976 : ipack = ipack + 1
31687 1851976 : pack_tmp = packed_data(ipack)
31688 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
31689 1851976 : pack_tmp = ISHFT(pack_tmp, -21)
31690 1851976 : idata = idata + 1
31691 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31692 1851976 : full_data(idata) = data_tmp
31693 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31694 1851976 : idata = idata + 1
31695 1851976 : data_tmp = ISHFT(pack_tmp, 39)
31696 1851976 : ipack = ipack + 1
31697 1851976 : pack_tmp = packed_data(ipack)
31698 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
31699 1851976 : pack_tmp = ISHFT(pack_tmp, -39)
31700 1851976 : idata = idata + 1
31701 1851976 : data_tmp = ISHFT(pack_tmp, 16)
31702 1851976 : ipack = ipack + 1
31703 1851976 : pack_tmp = packed_data(ipack)
31704 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
31705 1851976 : pack_tmp = ISHFT(pack_tmp, -16)
31706 1851976 : idata = idata + 1
31707 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31708 1851976 : full_data(idata) = data_tmp
31709 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31710 1851976 : idata = idata + 1
31711 1851976 : data_tmp = ISHFT(pack_tmp, 34)
31712 1851976 : ipack = ipack + 1
31713 1851976 : pack_tmp = packed_data(ipack)
31714 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
31715 1851976 : pack_tmp = ISHFT(pack_tmp, -34)
31716 1851976 : idata = idata + 1
31717 1851976 : data_tmp = ISHFT(pack_tmp, 11)
31718 1851976 : ipack = ipack + 1
31719 1851976 : pack_tmp = packed_data(ipack)
31720 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
31721 1851976 : pack_tmp = ISHFT(pack_tmp, -11)
31722 1851976 : idata = idata + 1
31723 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31724 1851976 : full_data(idata) = data_tmp
31725 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31726 1851976 : idata = idata + 1
31727 1851976 : data_tmp = ISHFT(pack_tmp, 29)
31728 1851976 : ipack = ipack + 1
31729 1851976 : pack_tmp = packed_data(ipack)
31730 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
31731 1851976 : pack_tmp = ISHFT(pack_tmp, -29)
31732 1851976 : idata = idata + 1
31733 1851976 : data_tmp = ISHFT(pack_tmp, 6)
31734 1851976 : ipack = ipack + 1
31735 1851976 : pack_tmp = packed_data(ipack)
31736 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
31737 1851976 : pack_tmp = ISHFT(pack_tmp, -6)
31738 1851976 : idata = idata + 1
31739 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31740 1851976 : full_data(idata) = data_tmp
31741 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31742 1851976 : idata = idata + 1
31743 1851976 : data_tmp = ISHFT(pack_tmp, 24)
31744 1851976 : ipack = ipack + 1
31745 1851976 : pack_tmp = packed_data(ipack)
31746 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
31747 1851976 : pack_tmp = ISHFT(pack_tmp, -24)
31748 1851976 : idata = idata + 1
31749 1851976 : data_tmp = ISHFT(pack_tmp, 1)
31750 1851976 : ipack = ipack + 1
31751 1851976 : pack_tmp = packed_data(ipack)
31752 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
31753 1851976 : pack_tmp = ISHFT(pack_tmp, -1)
31754 1851976 : idata = idata + 1
31755 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31756 1851976 : full_data(idata) = data_tmp
31757 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31758 1851976 : idata = idata + 1
31759 1851976 : data_tmp = ISHFT(pack_tmp, 19)
31760 1851976 : ipack = ipack + 1
31761 1851976 : pack_tmp = packed_data(ipack)
31762 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
31763 1851976 : pack_tmp = ISHFT(pack_tmp, -19)
31764 1851976 : idata = idata + 1
31765 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31766 1851976 : full_data(idata) = data_tmp
31767 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31768 1851976 : idata = idata + 1
31769 1851976 : data_tmp = ISHFT(pack_tmp, 37)
31770 1851976 : ipack = ipack + 1
31771 1851976 : pack_tmp = packed_data(ipack)
31772 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
31773 1851976 : pack_tmp = ISHFT(pack_tmp, -37)
31774 1851976 : idata = idata + 1
31775 1851976 : data_tmp = ISHFT(pack_tmp, 14)
31776 1851976 : ipack = ipack + 1
31777 1851976 : pack_tmp = packed_data(ipack)
31778 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
31779 1851976 : pack_tmp = ISHFT(pack_tmp, -14)
31780 1851976 : idata = idata + 1
31781 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31782 1851976 : full_data(idata) = data_tmp
31783 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31784 1851976 : idata = idata + 1
31785 1851976 : data_tmp = ISHFT(pack_tmp, 32)
31786 1851976 : ipack = ipack + 1
31787 1851976 : pack_tmp = packed_data(ipack)
31788 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
31789 1851976 : pack_tmp = ISHFT(pack_tmp, -32)
31790 1851976 : idata = idata + 1
31791 1851976 : data_tmp = ISHFT(pack_tmp, 9)
31792 1851976 : ipack = ipack + 1
31793 1851976 : pack_tmp = packed_data(ipack)
31794 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
31795 1851976 : pack_tmp = ISHFT(pack_tmp, -9)
31796 1851976 : idata = idata + 1
31797 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31798 1851976 : full_data(idata) = data_tmp
31799 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31800 1851976 : idata = idata + 1
31801 1851976 : data_tmp = ISHFT(pack_tmp, 27)
31802 1851976 : ipack = ipack + 1
31803 1851976 : pack_tmp = packed_data(ipack)
31804 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
31805 1851976 : pack_tmp = ISHFT(pack_tmp, -27)
31806 1851976 : idata = idata + 1
31807 1851976 : data_tmp = ISHFT(pack_tmp, 4)
31808 1851976 : ipack = ipack + 1
31809 1851976 : pack_tmp = packed_data(ipack)
31810 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
31811 1851976 : pack_tmp = ISHFT(pack_tmp, -4)
31812 1851976 : idata = idata + 1
31813 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31814 1851976 : full_data(idata) = data_tmp
31815 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31816 1851976 : idata = idata + 1
31817 1851976 : data_tmp = ISHFT(pack_tmp, 22)
31818 1851976 : ipack = ipack + 1
31819 1851976 : pack_tmp = packed_data(ipack)
31820 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
31821 1851976 : pack_tmp = ISHFT(pack_tmp, -22)
31822 1851976 : idata = idata + 1
31823 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31824 1851976 : full_data(idata) = data_tmp
31825 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31826 1851976 : idata = idata + 1
31827 1851976 : data_tmp = ISHFT(pack_tmp, 40)
31828 1851976 : ipack = ipack + 1
31829 1851976 : pack_tmp = packed_data(ipack)
31830 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
31831 1851976 : pack_tmp = ISHFT(pack_tmp, -40)
31832 1851976 : idata = idata + 1
31833 1851976 : data_tmp = ISHFT(pack_tmp, 17)
31834 1851976 : ipack = ipack + 1
31835 1851976 : pack_tmp = packed_data(ipack)
31836 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
31837 1851976 : pack_tmp = ISHFT(pack_tmp, -17)
31838 1851976 : idata = idata + 1
31839 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31840 1851976 : full_data(idata) = data_tmp
31841 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31842 1851976 : idata = idata + 1
31843 1851976 : data_tmp = ISHFT(pack_tmp, 35)
31844 1851976 : ipack = ipack + 1
31845 1851976 : pack_tmp = packed_data(ipack)
31846 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
31847 1851976 : pack_tmp = ISHFT(pack_tmp, -35)
31848 1851976 : idata = idata + 1
31849 1851976 : data_tmp = ISHFT(pack_tmp, 12)
31850 1851976 : ipack = ipack + 1
31851 1851976 : pack_tmp = packed_data(ipack)
31852 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
31853 1851976 : pack_tmp = ISHFT(pack_tmp, -12)
31854 1851976 : idata = idata + 1
31855 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31856 1851976 : full_data(idata) = data_tmp
31857 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31858 1851976 : idata = idata + 1
31859 1851976 : data_tmp = ISHFT(pack_tmp, 30)
31860 1851976 : ipack = ipack + 1
31861 1851976 : pack_tmp = packed_data(ipack)
31862 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
31863 1851976 : pack_tmp = ISHFT(pack_tmp, -30)
31864 1851976 : idata = idata + 1
31865 1851976 : data_tmp = ISHFT(pack_tmp, 7)
31866 1851976 : ipack = ipack + 1
31867 1851976 : pack_tmp = packed_data(ipack)
31868 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
31869 1851976 : pack_tmp = ISHFT(pack_tmp, -7)
31870 1851976 : idata = idata + 1
31871 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31872 1851976 : full_data(idata) = data_tmp
31873 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31874 1851976 : idata = idata + 1
31875 1851976 : data_tmp = ISHFT(pack_tmp, 25)
31876 1851976 : ipack = ipack + 1
31877 1851976 : pack_tmp = packed_data(ipack)
31878 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
31879 1851976 : pack_tmp = ISHFT(pack_tmp, -25)
31880 1851976 : idata = idata + 1
31881 1851976 : data_tmp = ISHFT(pack_tmp, 2)
31882 1851976 : ipack = ipack + 1
31883 1851976 : pack_tmp = packed_data(ipack)
31884 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
31885 1851976 : pack_tmp = ISHFT(pack_tmp, -2)
31886 1851976 : idata = idata + 1
31887 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31888 1851976 : full_data(idata) = data_tmp
31889 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31890 1851976 : idata = idata + 1
31891 1851976 : data_tmp = ISHFT(pack_tmp, 20)
31892 1851976 : ipack = ipack + 1
31893 1851976 : pack_tmp = packed_data(ipack)
31894 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
31895 1851976 : pack_tmp = ISHFT(pack_tmp, -20)
31896 1851976 : idata = idata + 1
31897 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31898 1851976 : full_data(idata) = data_tmp
31899 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31900 1851976 : idata = idata + 1
31901 1851976 : data_tmp = ISHFT(pack_tmp, 38)
31902 1851976 : ipack = ipack + 1
31903 1851976 : pack_tmp = packed_data(ipack)
31904 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
31905 1851976 : pack_tmp = ISHFT(pack_tmp, -38)
31906 1851976 : idata = idata + 1
31907 1851976 : data_tmp = ISHFT(pack_tmp, 15)
31908 1851976 : ipack = ipack + 1
31909 1851976 : pack_tmp = packed_data(ipack)
31910 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
31911 1851976 : pack_tmp = ISHFT(pack_tmp, -15)
31912 1851976 : idata = idata + 1
31913 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31914 1851976 : full_data(idata) = data_tmp
31915 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31916 1851976 : idata = idata + 1
31917 1851976 : data_tmp = ISHFT(pack_tmp, 33)
31918 1851976 : ipack = ipack + 1
31919 1851976 : pack_tmp = packed_data(ipack)
31920 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
31921 1851976 : pack_tmp = ISHFT(pack_tmp, -33)
31922 1851976 : idata = idata + 1
31923 1851976 : data_tmp = ISHFT(pack_tmp, 10)
31924 1851976 : ipack = ipack + 1
31925 1851976 : pack_tmp = packed_data(ipack)
31926 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
31927 1851976 : pack_tmp = ISHFT(pack_tmp, -10)
31928 1851976 : idata = idata + 1
31929 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31930 1851976 : full_data(idata) = data_tmp
31931 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31932 1851976 : idata = idata + 1
31933 1851976 : data_tmp = ISHFT(pack_tmp, 28)
31934 1851976 : ipack = ipack + 1
31935 1851976 : pack_tmp = packed_data(ipack)
31936 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
31937 1851976 : pack_tmp = ISHFT(pack_tmp, -28)
31938 1851976 : idata = idata + 1
31939 1851976 : data_tmp = ISHFT(pack_tmp, 5)
31940 1851976 : ipack = ipack + 1
31941 1851976 : pack_tmp = packed_data(ipack)
31942 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
31943 1851976 : pack_tmp = ISHFT(pack_tmp, -5)
31944 1851976 : idata = idata + 1
31945 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31946 1851976 : full_data(idata) = data_tmp
31947 1851976 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31948 1851976 : idata = idata + 1
31949 1851976 : data_tmp = ISHFT(pack_tmp, 23)
31950 1851976 : ipack = ipack + 1
31951 1851976 : pack_tmp = packed_data(ipack)
31952 1851976 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
31953 1851976 : pack_tmp = ISHFT(pack_tmp, -23)
31954 1851976 : idata = idata + 1
31955 1851976 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31956 1851976 : full_data(idata) = data_tmp
31957 1852465 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31958 : END DO
31959 131305 : IF (Ndata_rep < Ndata) THEN
31960 28976 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31961 : END IF
31962 131305 : END SUBROUTINE bits2ints_41
31963 :
31964 : ! **************************************************************************************************
31965 : !> \brief ...
31966 : !> \param Ndata ...
31967 : !> \param packed_data ...
31968 : !> \param full_data ...
31969 : ! **************************************************************************************************
31970 25373 : 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 25373 : idata = 0
31981 25373 : ipack = 0
31982 25373 : Ndata_rep = (Ndata/64)*64
31983 25373 : DO kdata = 1, Ndata_rep, 64
31984 392946 : pack_tmp = 0
31985 392946 : idata = idata + 1
31986 392946 : data_tmp = full_data(idata)
31987 392946 : data_tmp = ISHFT(data_tmp, 22)
31988 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
31989 392946 : pack_tmp = ISHFT(pack_tmp, -22)
31990 392946 : idata = idata + 1
31991 392946 : data_tmp = full_data(idata)
31992 392946 : data_tmp = ISHFT(data_tmp, 22)
31993 392946 : data_tmp = IAND(data_tmp, mask_left(22))
31994 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
31995 392946 : ipack = ipack + 1
31996 392946 : packed_data(ipack) = pack_tmp
31997 392946 : data_tmp = full_data(idata)
31998 392946 : pack_tmp = ISHFT(data_tmp, 44)
31999 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32000 392946 : idata = idata + 1
32001 392946 : data_tmp = full_data(idata)
32002 392946 : data_tmp = ISHFT(data_tmp, 22)
32003 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32004 392946 : pack_tmp = ISHFT(pack_tmp, -2)
32005 392946 : idata = idata + 1
32006 392946 : data_tmp = full_data(idata)
32007 392946 : data_tmp = ISHFT(data_tmp, 22)
32008 392946 : data_tmp = IAND(data_tmp, mask_left(2))
32009 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32010 392946 : ipack = ipack + 1
32011 392946 : packed_data(ipack) = pack_tmp
32012 392946 : data_tmp = full_data(idata)
32013 392946 : pack_tmp = ISHFT(data_tmp, 24)
32014 392946 : pack_tmp = ISHFT(pack_tmp, -24)
32015 392946 : idata = idata + 1
32016 392946 : data_tmp = full_data(idata)
32017 392946 : data_tmp = ISHFT(data_tmp, 22)
32018 392946 : data_tmp = IAND(data_tmp, mask_left(24))
32019 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32020 392946 : ipack = ipack + 1
32021 392946 : packed_data(ipack) = pack_tmp
32022 392946 : data_tmp = full_data(idata)
32023 392946 : pack_tmp = ISHFT(data_tmp, 46)
32024 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32025 392946 : idata = idata + 1
32026 392946 : data_tmp = full_data(idata)
32027 392946 : data_tmp = ISHFT(data_tmp, 22)
32028 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32029 392946 : pack_tmp = ISHFT(pack_tmp, -4)
32030 392946 : idata = idata + 1
32031 392946 : data_tmp = full_data(idata)
32032 392946 : data_tmp = ISHFT(data_tmp, 22)
32033 392946 : data_tmp = IAND(data_tmp, mask_left(4))
32034 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32035 392946 : ipack = ipack + 1
32036 392946 : packed_data(ipack) = pack_tmp
32037 392946 : data_tmp = full_data(idata)
32038 392946 : pack_tmp = ISHFT(data_tmp, 26)
32039 392946 : pack_tmp = ISHFT(pack_tmp, -26)
32040 392946 : idata = idata + 1
32041 392946 : data_tmp = full_data(idata)
32042 392946 : data_tmp = ISHFT(data_tmp, 22)
32043 392946 : data_tmp = IAND(data_tmp, mask_left(26))
32044 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32045 392946 : ipack = ipack + 1
32046 392946 : packed_data(ipack) = pack_tmp
32047 392946 : data_tmp = full_data(idata)
32048 392946 : pack_tmp = ISHFT(data_tmp, 48)
32049 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32050 392946 : idata = idata + 1
32051 392946 : data_tmp = full_data(idata)
32052 392946 : data_tmp = ISHFT(data_tmp, 22)
32053 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32054 392946 : pack_tmp = ISHFT(pack_tmp, -6)
32055 392946 : idata = idata + 1
32056 392946 : data_tmp = full_data(idata)
32057 392946 : data_tmp = ISHFT(data_tmp, 22)
32058 392946 : data_tmp = IAND(data_tmp, mask_left(6))
32059 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32060 392946 : ipack = ipack + 1
32061 392946 : packed_data(ipack) = pack_tmp
32062 392946 : data_tmp = full_data(idata)
32063 392946 : pack_tmp = ISHFT(data_tmp, 28)
32064 392946 : pack_tmp = ISHFT(pack_tmp, -28)
32065 392946 : idata = idata + 1
32066 392946 : data_tmp = full_data(idata)
32067 392946 : data_tmp = ISHFT(data_tmp, 22)
32068 392946 : data_tmp = IAND(data_tmp, mask_left(28))
32069 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32070 392946 : ipack = ipack + 1
32071 392946 : packed_data(ipack) = pack_tmp
32072 392946 : data_tmp = full_data(idata)
32073 392946 : pack_tmp = ISHFT(data_tmp, 50)
32074 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32075 392946 : idata = idata + 1
32076 392946 : data_tmp = full_data(idata)
32077 392946 : data_tmp = ISHFT(data_tmp, 22)
32078 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32079 392946 : pack_tmp = ISHFT(pack_tmp, -8)
32080 392946 : idata = idata + 1
32081 392946 : data_tmp = full_data(idata)
32082 392946 : data_tmp = ISHFT(data_tmp, 22)
32083 392946 : data_tmp = IAND(data_tmp, mask_left(8))
32084 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32085 392946 : ipack = ipack + 1
32086 392946 : packed_data(ipack) = pack_tmp
32087 392946 : data_tmp = full_data(idata)
32088 392946 : pack_tmp = ISHFT(data_tmp, 30)
32089 392946 : pack_tmp = ISHFT(pack_tmp, -30)
32090 392946 : idata = idata + 1
32091 392946 : data_tmp = full_data(idata)
32092 392946 : data_tmp = ISHFT(data_tmp, 22)
32093 392946 : data_tmp = IAND(data_tmp, mask_left(30))
32094 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32095 392946 : ipack = ipack + 1
32096 392946 : packed_data(ipack) = pack_tmp
32097 392946 : data_tmp = full_data(idata)
32098 392946 : pack_tmp = ISHFT(data_tmp, 52)
32099 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32100 392946 : idata = idata + 1
32101 392946 : data_tmp = full_data(idata)
32102 392946 : data_tmp = ISHFT(data_tmp, 22)
32103 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32104 392946 : pack_tmp = ISHFT(pack_tmp, -10)
32105 392946 : idata = idata + 1
32106 392946 : data_tmp = full_data(idata)
32107 392946 : data_tmp = ISHFT(data_tmp, 22)
32108 392946 : data_tmp = IAND(data_tmp, mask_left(10))
32109 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32110 392946 : ipack = ipack + 1
32111 392946 : packed_data(ipack) = pack_tmp
32112 392946 : data_tmp = full_data(idata)
32113 392946 : pack_tmp = ISHFT(data_tmp, 32)
32114 392946 : pack_tmp = ISHFT(pack_tmp, -32)
32115 392946 : idata = idata + 1
32116 392946 : data_tmp = full_data(idata)
32117 392946 : data_tmp = ISHFT(data_tmp, 22)
32118 392946 : data_tmp = IAND(data_tmp, mask_left(32))
32119 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32120 392946 : ipack = ipack + 1
32121 392946 : packed_data(ipack) = pack_tmp
32122 392946 : data_tmp = full_data(idata)
32123 392946 : pack_tmp = ISHFT(data_tmp, 54)
32124 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32125 392946 : idata = idata + 1
32126 392946 : data_tmp = full_data(idata)
32127 392946 : data_tmp = ISHFT(data_tmp, 22)
32128 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32129 392946 : pack_tmp = ISHFT(pack_tmp, -12)
32130 392946 : idata = idata + 1
32131 392946 : data_tmp = full_data(idata)
32132 392946 : data_tmp = ISHFT(data_tmp, 22)
32133 392946 : data_tmp = IAND(data_tmp, mask_left(12))
32134 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32135 392946 : ipack = ipack + 1
32136 392946 : packed_data(ipack) = pack_tmp
32137 392946 : data_tmp = full_data(idata)
32138 392946 : pack_tmp = ISHFT(data_tmp, 34)
32139 392946 : pack_tmp = ISHFT(pack_tmp, -34)
32140 392946 : idata = idata + 1
32141 392946 : data_tmp = full_data(idata)
32142 392946 : data_tmp = ISHFT(data_tmp, 22)
32143 392946 : data_tmp = IAND(data_tmp, mask_left(34))
32144 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32145 392946 : ipack = ipack + 1
32146 392946 : packed_data(ipack) = pack_tmp
32147 392946 : data_tmp = full_data(idata)
32148 392946 : pack_tmp = ISHFT(data_tmp, 56)
32149 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32150 392946 : idata = idata + 1
32151 392946 : data_tmp = full_data(idata)
32152 392946 : data_tmp = ISHFT(data_tmp, 22)
32153 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32154 392946 : pack_tmp = ISHFT(pack_tmp, -14)
32155 392946 : idata = idata + 1
32156 392946 : data_tmp = full_data(idata)
32157 392946 : data_tmp = ISHFT(data_tmp, 22)
32158 392946 : data_tmp = IAND(data_tmp, mask_left(14))
32159 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32160 392946 : ipack = ipack + 1
32161 392946 : packed_data(ipack) = pack_tmp
32162 392946 : data_tmp = full_data(idata)
32163 392946 : pack_tmp = ISHFT(data_tmp, 36)
32164 392946 : pack_tmp = ISHFT(pack_tmp, -36)
32165 392946 : idata = idata + 1
32166 392946 : data_tmp = full_data(idata)
32167 392946 : data_tmp = ISHFT(data_tmp, 22)
32168 392946 : data_tmp = IAND(data_tmp, mask_left(36))
32169 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32170 392946 : ipack = ipack + 1
32171 392946 : packed_data(ipack) = pack_tmp
32172 392946 : data_tmp = full_data(idata)
32173 392946 : pack_tmp = ISHFT(data_tmp, 58)
32174 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32175 392946 : idata = idata + 1
32176 392946 : data_tmp = full_data(idata)
32177 392946 : data_tmp = ISHFT(data_tmp, 22)
32178 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32179 392946 : pack_tmp = ISHFT(pack_tmp, -16)
32180 392946 : idata = idata + 1
32181 392946 : data_tmp = full_data(idata)
32182 392946 : data_tmp = ISHFT(data_tmp, 22)
32183 392946 : data_tmp = IAND(data_tmp, mask_left(16))
32184 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32185 392946 : ipack = ipack + 1
32186 392946 : packed_data(ipack) = pack_tmp
32187 392946 : data_tmp = full_data(idata)
32188 392946 : pack_tmp = ISHFT(data_tmp, 38)
32189 392946 : pack_tmp = ISHFT(pack_tmp, -38)
32190 392946 : idata = idata + 1
32191 392946 : data_tmp = full_data(idata)
32192 392946 : data_tmp = ISHFT(data_tmp, 22)
32193 392946 : data_tmp = IAND(data_tmp, mask_left(38))
32194 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32195 392946 : ipack = ipack + 1
32196 392946 : packed_data(ipack) = pack_tmp
32197 392946 : data_tmp = full_data(idata)
32198 392946 : pack_tmp = ISHFT(data_tmp, 60)
32199 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32200 392946 : idata = idata + 1
32201 392946 : data_tmp = full_data(idata)
32202 392946 : data_tmp = ISHFT(data_tmp, 22)
32203 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32204 392946 : pack_tmp = ISHFT(pack_tmp, -18)
32205 392946 : idata = idata + 1
32206 392946 : data_tmp = full_data(idata)
32207 392946 : data_tmp = ISHFT(data_tmp, 22)
32208 392946 : data_tmp = IAND(data_tmp, mask_left(18))
32209 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32210 392946 : ipack = ipack + 1
32211 392946 : packed_data(ipack) = pack_tmp
32212 392946 : data_tmp = full_data(idata)
32213 392946 : pack_tmp = ISHFT(data_tmp, 40)
32214 392946 : pack_tmp = ISHFT(pack_tmp, -40)
32215 392946 : idata = idata + 1
32216 392946 : data_tmp = full_data(idata)
32217 392946 : data_tmp = ISHFT(data_tmp, 22)
32218 392946 : data_tmp = IAND(data_tmp, mask_left(40))
32219 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32220 392946 : ipack = ipack + 1
32221 392946 : packed_data(ipack) = pack_tmp
32222 392946 : data_tmp = full_data(idata)
32223 392946 : pack_tmp = ISHFT(data_tmp, 62)
32224 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32225 392946 : idata = idata + 1
32226 392946 : data_tmp = full_data(idata)
32227 392946 : data_tmp = ISHFT(data_tmp, 22)
32228 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32229 392946 : pack_tmp = ISHFT(pack_tmp, -20)
32230 392946 : idata = idata + 1
32231 392946 : data_tmp = full_data(idata)
32232 392946 : data_tmp = ISHFT(data_tmp, 22)
32233 392946 : data_tmp = IAND(data_tmp, mask_left(20))
32234 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32235 392946 : ipack = ipack + 1
32236 392946 : packed_data(ipack) = pack_tmp
32237 392946 : data_tmp = full_data(idata)
32238 392946 : pack_tmp = ISHFT(data_tmp, 42)
32239 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32240 392946 : idata = idata + 1
32241 392946 : data_tmp = full_data(idata)
32242 392946 : data_tmp = ISHFT(data_tmp, 22)
32243 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32244 392946 : pack_tmp = ISHFT(pack_tmp, 0)
32245 392946 : idata = idata + 1
32246 392946 : data_tmp = full_data(idata)
32247 : data_tmp = ISHFT(data_tmp, 22)
32248 392946 : data_tmp = IAND(data_tmp, mask_left(0))
32249 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32250 392946 : ipack = ipack + 1
32251 392946 : packed_data(ipack) = pack_tmp
32252 392946 : data_tmp = full_data(idata)
32253 392946 : pack_tmp = ISHFT(data_tmp, 22)
32254 392946 : pack_tmp = ISHFT(pack_tmp, -22)
32255 392946 : idata = idata + 1
32256 392946 : data_tmp = full_data(idata)
32257 392946 : data_tmp = ISHFT(data_tmp, 22)
32258 392946 : data_tmp = IAND(data_tmp, mask_left(22))
32259 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32260 392946 : ipack = ipack + 1
32261 392946 : packed_data(ipack) = pack_tmp
32262 392946 : data_tmp = full_data(idata)
32263 392946 : pack_tmp = ISHFT(data_tmp, 44)
32264 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32265 392946 : idata = idata + 1
32266 392946 : data_tmp = full_data(idata)
32267 392946 : data_tmp = ISHFT(data_tmp, 22)
32268 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32269 392946 : pack_tmp = ISHFT(pack_tmp, -2)
32270 392946 : idata = idata + 1
32271 392946 : data_tmp = full_data(idata)
32272 392946 : data_tmp = ISHFT(data_tmp, 22)
32273 392946 : data_tmp = IAND(data_tmp, mask_left(2))
32274 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32275 392946 : ipack = ipack + 1
32276 392946 : packed_data(ipack) = pack_tmp
32277 392946 : data_tmp = full_data(idata)
32278 392946 : pack_tmp = ISHFT(data_tmp, 24)
32279 392946 : pack_tmp = ISHFT(pack_tmp, -24)
32280 392946 : idata = idata + 1
32281 392946 : data_tmp = full_data(idata)
32282 392946 : data_tmp = ISHFT(data_tmp, 22)
32283 392946 : data_tmp = IAND(data_tmp, mask_left(24))
32284 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32285 392946 : ipack = ipack + 1
32286 392946 : packed_data(ipack) = pack_tmp
32287 392946 : data_tmp = full_data(idata)
32288 392946 : pack_tmp = ISHFT(data_tmp, 46)
32289 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32290 392946 : idata = idata + 1
32291 392946 : data_tmp = full_data(idata)
32292 392946 : data_tmp = ISHFT(data_tmp, 22)
32293 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32294 392946 : pack_tmp = ISHFT(pack_tmp, -4)
32295 392946 : idata = idata + 1
32296 392946 : data_tmp = full_data(idata)
32297 392946 : data_tmp = ISHFT(data_tmp, 22)
32298 392946 : data_tmp = IAND(data_tmp, mask_left(4))
32299 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32300 392946 : ipack = ipack + 1
32301 392946 : packed_data(ipack) = pack_tmp
32302 392946 : data_tmp = full_data(idata)
32303 392946 : pack_tmp = ISHFT(data_tmp, 26)
32304 392946 : pack_tmp = ISHFT(pack_tmp, -26)
32305 392946 : idata = idata + 1
32306 392946 : data_tmp = full_data(idata)
32307 392946 : data_tmp = ISHFT(data_tmp, 22)
32308 392946 : data_tmp = IAND(data_tmp, mask_left(26))
32309 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32310 392946 : ipack = ipack + 1
32311 392946 : packed_data(ipack) = pack_tmp
32312 392946 : data_tmp = full_data(idata)
32313 392946 : pack_tmp = ISHFT(data_tmp, 48)
32314 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32315 392946 : idata = idata + 1
32316 392946 : data_tmp = full_data(idata)
32317 392946 : data_tmp = ISHFT(data_tmp, 22)
32318 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32319 392946 : pack_tmp = ISHFT(pack_tmp, -6)
32320 392946 : idata = idata + 1
32321 392946 : data_tmp = full_data(idata)
32322 392946 : data_tmp = ISHFT(data_tmp, 22)
32323 392946 : data_tmp = IAND(data_tmp, mask_left(6))
32324 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32325 392946 : ipack = ipack + 1
32326 392946 : packed_data(ipack) = pack_tmp
32327 392946 : data_tmp = full_data(idata)
32328 392946 : pack_tmp = ISHFT(data_tmp, 28)
32329 392946 : pack_tmp = ISHFT(pack_tmp, -28)
32330 392946 : idata = idata + 1
32331 392946 : data_tmp = full_data(idata)
32332 392946 : data_tmp = ISHFT(data_tmp, 22)
32333 392946 : data_tmp = IAND(data_tmp, mask_left(28))
32334 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32335 392946 : ipack = ipack + 1
32336 392946 : packed_data(ipack) = pack_tmp
32337 392946 : data_tmp = full_data(idata)
32338 392946 : pack_tmp = ISHFT(data_tmp, 50)
32339 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32340 392946 : idata = idata + 1
32341 392946 : data_tmp = full_data(idata)
32342 392946 : data_tmp = ISHFT(data_tmp, 22)
32343 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32344 392946 : pack_tmp = ISHFT(pack_tmp, -8)
32345 392946 : idata = idata + 1
32346 392946 : data_tmp = full_data(idata)
32347 392946 : data_tmp = ISHFT(data_tmp, 22)
32348 392946 : data_tmp = IAND(data_tmp, mask_left(8))
32349 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32350 392946 : ipack = ipack + 1
32351 392946 : packed_data(ipack) = pack_tmp
32352 392946 : data_tmp = full_data(idata)
32353 392946 : pack_tmp = ISHFT(data_tmp, 30)
32354 392946 : pack_tmp = ISHFT(pack_tmp, -30)
32355 392946 : idata = idata + 1
32356 392946 : data_tmp = full_data(idata)
32357 392946 : data_tmp = ISHFT(data_tmp, 22)
32358 392946 : data_tmp = IAND(data_tmp, mask_left(30))
32359 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32360 392946 : ipack = ipack + 1
32361 392946 : packed_data(ipack) = pack_tmp
32362 392946 : data_tmp = full_data(idata)
32363 392946 : pack_tmp = ISHFT(data_tmp, 52)
32364 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32365 392946 : idata = idata + 1
32366 392946 : data_tmp = full_data(idata)
32367 392946 : data_tmp = ISHFT(data_tmp, 22)
32368 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32369 392946 : pack_tmp = ISHFT(pack_tmp, -10)
32370 392946 : idata = idata + 1
32371 392946 : data_tmp = full_data(idata)
32372 392946 : data_tmp = ISHFT(data_tmp, 22)
32373 392946 : data_tmp = IAND(data_tmp, mask_left(10))
32374 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32375 392946 : ipack = ipack + 1
32376 392946 : packed_data(ipack) = pack_tmp
32377 392946 : data_tmp = full_data(idata)
32378 392946 : pack_tmp = ISHFT(data_tmp, 32)
32379 392946 : pack_tmp = ISHFT(pack_tmp, -32)
32380 392946 : idata = idata + 1
32381 392946 : data_tmp = full_data(idata)
32382 392946 : data_tmp = ISHFT(data_tmp, 22)
32383 392946 : data_tmp = IAND(data_tmp, mask_left(32))
32384 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32385 392946 : ipack = ipack + 1
32386 392946 : packed_data(ipack) = pack_tmp
32387 392946 : data_tmp = full_data(idata)
32388 392946 : pack_tmp = ISHFT(data_tmp, 54)
32389 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32390 392946 : idata = idata + 1
32391 392946 : data_tmp = full_data(idata)
32392 392946 : data_tmp = ISHFT(data_tmp, 22)
32393 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32394 392946 : pack_tmp = ISHFT(pack_tmp, -12)
32395 392946 : idata = idata + 1
32396 392946 : data_tmp = full_data(idata)
32397 392946 : data_tmp = ISHFT(data_tmp, 22)
32398 392946 : data_tmp = IAND(data_tmp, mask_left(12))
32399 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32400 392946 : ipack = ipack + 1
32401 392946 : packed_data(ipack) = pack_tmp
32402 392946 : data_tmp = full_data(idata)
32403 392946 : pack_tmp = ISHFT(data_tmp, 34)
32404 392946 : pack_tmp = ISHFT(pack_tmp, -34)
32405 392946 : idata = idata + 1
32406 392946 : data_tmp = full_data(idata)
32407 392946 : data_tmp = ISHFT(data_tmp, 22)
32408 392946 : data_tmp = IAND(data_tmp, mask_left(34))
32409 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32410 392946 : ipack = ipack + 1
32411 392946 : packed_data(ipack) = pack_tmp
32412 392946 : data_tmp = full_data(idata)
32413 392946 : pack_tmp = ISHFT(data_tmp, 56)
32414 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32415 392946 : idata = idata + 1
32416 392946 : data_tmp = full_data(idata)
32417 392946 : data_tmp = ISHFT(data_tmp, 22)
32418 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32419 392946 : pack_tmp = ISHFT(pack_tmp, -14)
32420 392946 : idata = idata + 1
32421 392946 : data_tmp = full_data(idata)
32422 392946 : data_tmp = ISHFT(data_tmp, 22)
32423 392946 : data_tmp = IAND(data_tmp, mask_left(14))
32424 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32425 392946 : ipack = ipack + 1
32426 392946 : packed_data(ipack) = pack_tmp
32427 392946 : data_tmp = full_data(idata)
32428 392946 : pack_tmp = ISHFT(data_tmp, 36)
32429 392946 : pack_tmp = ISHFT(pack_tmp, -36)
32430 392946 : idata = idata + 1
32431 392946 : data_tmp = full_data(idata)
32432 392946 : data_tmp = ISHFT(data_tmp, 22)
32433 392946 : data_tmp = IAND(data_tmp, mask_left(36))
32434 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32435 392946 : ipack = ipack + 1
32436 392946 : packed_data(ipack) = pack_tmp
32437 392946 : data_tmp = full_data(idata)
32438 392946 : pack_tmp = ISHFT(data_tmp, 58)
32439 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32440 392946 : idata = idata + 1
32441 392946 : data_tmp = full_data(idata)
32442 392946 : data_tmp = ISHFT(data_tmp, 22)
32443 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32444 392946 : pack_tmp = ISHFT(pack_tmp, -16)
32445 392946 : idata = idata + 1
32446 392946 : data_tmp = full_data(idata)
32447 392946 : data_tmp = ISHFT(data_tmp, 22)
32448 392946 : data_tmp = IAND(data_tmp, mask_left(16))
32449 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32450 392946 : ipack = ipack + 1
32451 392946 : packed_data(ipack) = pack_tmp
32452 392946 : data_tmp = full_data(idata)
32453 392946 : pack_tmp = ISHFT(data_tmp, 38)
32454 392946 : pack_tmp = ISHFT(pack_tmp, -38)
32455 392946 : idata = idata + 1
32456 392946 : data_tmp = full_data(idata)
32457 392946 : data_tmp = ISHFT(data_tmp, 22)
32458 392946 : data_tmp = IAND(data_tmp, mask_left(38))
32459 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32460 392946 : ipack = ipack + 1
32461 392946 : packed_data(ipack) = pack_tmp
32462 392946 : data_tmp = full_data(idata)
32463 392946 : pack_tmp = ISHFT(data_tmp, 60)
32464 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32465 392946 : idata = idata + 1
32466 392946 : data_tmp = full_data(idata)
32467 392946 : data_tmp = ISHFT(data_tmp, 22)
32468 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32469 392946 : pack_tmp = ISHFT(pack_tmp, -18)
32470 392946 : idata = idata + 1
32471 392946 : data_tmp = full_data(idata)
32472 392946 : data_tmp = ISHFT(data_tmp, 22)
32473 392946 : data_tmp = IAND(data_tmp, mask_left(18))
32474 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32475 392946 : ipack = ipack + 1
32476 392946 : packed_data(ipack) = pack_tmp
32477 392946 : data_tmp = full_data(idata)
32478 392946 : pack_tmp = ISHFT(data_tmp, 40)
32479 392946 : pack_tmp = ISHFT(pack_tmp, -40)
32480 392946 : idata = idata + 1
32481 392946 : data_tmp = full_data(idata)
32482 392946 : data_tmp = ISHFT(data_tmp, 22)
32483 392946 : data_tmp = IAND(data_tmp, mask_left(40))
32484 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32485 392946 : ipack = ipack + 1
32486 392946 : packed_data(ipack) = pack_tmp
32487 392946 : data_tmp = full_data(idata)
32488 392946 : pack_tmp = ISHFT(data_tmp, 62)
32489 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32490 392946 : idata = idata + 1
32491 392946 : data_tmp = full_data(idata)
32492 392946 : data_tmp = ISHFT(data_tmp, 22)
32493 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32494 392946 : pack_tmp = ISHFT(pack_tmp, -20)
32495 392946 : idata = idata + 1
32496 392946 : data_tmp = full_data(idata)
32497 392946 : data_tmp = ISHFT(data_tmp, 22)
32498 392946 : data_tmp = IAND(data_tmp, mask_left(20))
32499 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32500 392946 : ipack = ipack + 1
32501 392946 : packed_data(ipack) = pack_tmp
32502 392946 : data_tmp = full_data(idata)
32503 392946 : pack_tmp = ISHFT(data_tmp, 42)
32504 392946 : pack_tmp = ISHFT(pack_tmp, -42)
32505 392946 : idata = idata + 1
32506 392946 : data_tmp = full_data(idata)
32507 392946 : data_tmp = ISHFT(data_tmp, 22)
32508 392946 : pack_tmp = IOR(pack_tmp, data_tmp)
32509 : pack_tmp = ISHFT(pack_tmp, 0)
32510 392946 : pack_tmp = ISHFT(pack_tmp, 0)
32511 392946 : ipack = ipack + 1
32512 393047 : packed_data(ipack) = pack_tmp
32513 : END DO
32514 25373 : IF (Ndata_rep < Ndata) THEN
32515 1532 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32516 : END IF
32517 25373 : END SUBROUTINE ints2bits_42
32518 :
32519 : ! **************************************************************************************************
32520 : !> \brief ...
32521 : !> \param Ndata ...
32522 : !> \param packed_data ...
32523 : !> \param full_data ...
32524 : ! **************************************************************************************************
32525 115902 : 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 115902 : ipack = 0
32536 115902 : idata = 0
32537 115902 : pack_tmp = 0
32538 115902 : Ndata_rep = (Ndata/64)*64
32539 115902 : DO kdata = 1, Ndata_rep, 64
32540 1712397 : idata = idata + 1
32541 1712397 : data_tmp = ISHFT(pack_tmp, 42)
32542 1712397 : ipack = ipack + 1
32543 1712397 : pack_tmp = packed_data(ipack)
32544 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32545 1712397 : pack_tmp = ISHFT(pack_tmp, -42)
32546 1712397 : idata = idata + 1
32547 1712397 : data_tmp = ISHFT(pack_tmp, 20)
32548 1712397 : ipack = ipack + 1
32549 1712397 : pack_tmp = packed_data(ipack)
32550 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32551 1712397 : pack_tmp = ISHFT(pack_tmp, -20)
32552 1712397 : idata = idata + 1
32553 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32554 1712397 : full_data(idata) = data_tmp
32555 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32556 1712397 : idata = idata + 1
32557 1712397 : data_tmp = ISHFT(pack_tmp, 40)
32558 1712397 : ipack = ipack + 1
32559 1712397 : pack_tmp = packed_data(ipack)
32560 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32561 1712397 : pack_tmp = ISHFT(pack_tmp, -40)
32562 1712397 : idata = idata + 1
32563 1712397 : data_tmp = ISHFT(pack_tmp, 18)
32564 1712397 : ipack = ipack + 1
32565 1712397 : pack_tmp = packed_data(ipack)
32566 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32567 1712397 : pack_tmp = ISHFT(pack_tmp, -18)
32568 1712397 : idata = idata + 1
32569 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32570 1712397 : full_data(idata) = data_tmp
32571 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32572 1712397 : idata = idata + 1
32573 1712397 : data_tmp = ISHFT(pack_tmp, 38)
32574 1712397 : ipack = ipack + 1
32575 1712397 : pack_tmp = packed_data(ipack)
32576 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32577 1712397 : pack_tmp = ISHFT(pack_tmp, -38)
32578 1712397 : idata = idata + 1
32579 1712397 : data_tmp = ISHFT(pack_tmp, 16)
32580 1712397 : ipack = ipack + 1
32581 1712397 : pack_tmp = packed_data(ipack)
32582 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32583 1712397 : pack_tmp = ISHFT(pack_tmp, -16)
32584 1712397 : idata = idata + 1
32585 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32586 1712397 : full_data(idata) = data_tmp
32587 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32588 1712397 : idata = idata + 1
32589 1712397 : data_tmp = ISHFT(pack_tmp, 36)
32590 1712397 : ipack = ipack + 1
32591 1712397 : pack_tmp = packed_data(ipack)
32592 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32593 1712397 : pack_tmp = ISHFT(pack_tmp, -36)
32594 1712397 : idata = idata + 1
32595 1712397 : data_tmp = ISHFT(pack_tmp, 14)
32596 1712397 : ipack = ipack + 1
32597 1712397 : pack_tmp = packed_data(ipack)
32598 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32599 1712397 : pack_tmp = ISHFT(pack_tmp, -14)
32600 1712397 : idata = idata + 1
32601 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32602 1712397 : full_data(idata) = data_tmp
32603 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32604 1712397 : idata = idata + 1
32605 1712397 : data_tmp = ISHFT(pack_tmp, 34)
32606 1712397 : ipack = ipack + 1
32607 1712397 : pack_tmp = packed_data(ipack)
32608 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32609 1712397 : pack_tmp = ISHFT(pack_tmp, -34)
32610 1712397 : idata = idata + 1
32611 1712397 : data_tmp = ISHFT(pack_tmp, 12)
32612 1712397 : ipack = ipack + 1
32613 1712397 : pack_tmp = packed_data(ipack)
32614 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32615 1712397 : pack_tmp = ISHFT(pack_tmp, -12)
32616 1712397 : idata = idata + 1
32617 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32618 1712397 : full_data(idata) = data_tmp
32619 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32620 1712397 : idata = idata + 1
32621 1712397 : data_tmp = ISHFT(pack_tmp, 32)
32622 1712397 : ipack = ipack + 1
32623 1712397 : pack_tmp = packed_data(ipack)
32624 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32625 1712397 : pack_tmp = ISHFT(pack_tmp, -32)
32626 1712397 : idata = idata + 1
32627 1712397 : data_tmp = ISHFT(pack_tmp, 10)
32628 1712397 : ipack = ipack + 1
32629 1712397 : pack_tmp = packed_data(ipack)
32630 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32631 1712397 : pack_tmp = ISHFT(pack_tmp, -10)
32632 1712397 : idata = idata + 1
32633 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32634 1712397 : full_data(idata) = data_tmp
32635 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32636 1712397 : idata = idata + 1
32637 1712397 : data_tmp = ISHFT(pack_tmp, 30)
32638 1712397 : ipack = ipack + 1
32639 1712397 : pack_tmp = packed_data(ipack)
32640 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32641 1712397 : pack_tmp = ISHFT(pack_tmp, -30)
32642 1712397 : idata = idata + 1
32643 1712397 : data_tmp = ISHFT(pack_tmp, 8)
32644 1712397 : ipack = ipack + 1
32645 1712397 : pack_tmp = packed_data(ipack)
32646 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32647 1712397 : pack_tmp = ISHFT(pack_tmp, -8)
32648 1712397 : idata = idata + 1
32649 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32650 1712397 : full_data(idata) = data_tmp
32651 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32652 1712397 : idata = idata + 1
32653 1712397 : data_tmp = ISHFT(pack_tmp, 28)
32654 1712397 : ipack = ipack + 1
32655 1712397 : pack_tmp = packed_data(ipack)
32656 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32657 1712397 : pack_tmp = ISHFT(pack_tmp, -28)
32658 1712397 : idata = idata + 1
32659 1712397 : data_tmp = ISHFT(pack_tmp, 6)
32660 1712397 : ipack = ipack + 1
32661 1712397 : pack_tmp = packed_data(ipack)
32662 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32663 1712397 : pack_tmp = ISHFT(pack_tmp, -6)
32664 1712397 : idata = idata + 1
32665 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32666 1712397 : full_data(idata) = data_tmp
32667 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32668 1712397 : idata = idata + 1
32669 1712397 : data_tmp = ISHFT(pack_tmp, 26)
32670 1712397 : ipack = ipack + 1
32671 1712397 : pack_tmp = packed_data(ipack)
32672 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32673 1712397 : pack_tmp = ISHFT(pack_tmp, -26)
32674 1712397 : idata = idata + 1
32675 1712397 : data_tmp = ISHFT(pack_tmp, 4)
32676 1712397 : ipack = ipack + 1
32677 1712397 : pack_tmp = packed_data(ipack)
32678 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32679 1712397 : pack_tmp = ISHFT(pack_tmp, -4)
32680 1712397 : idata = idata + 1
32681 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32682 1712397 : full_data(idata) = data_tmp
32683 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32684 1712397 : idata = idata + 1
32685 1712397 : data_tmp = ISHFT(pack_tmp, 24)
32686 1712397 : ipack = ipack + 1
32687 1712397 : pack_tmp = packed_data(ipack)
32688 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32689 1712397 : pack_tmp = ISHFT(pack_tmp, -24)
32690 1712397 : idata = idata + 1
32691 1712397 : data_tmp = ISHFT(pack_tmp, 2)
32692 1712397 : ipack = ipack + 1
32693 1712397 : pack_tmp = packed_data(ipack)
32694 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32695 1712397 : pack_tmp = ISHFT(pack_tmp, -2)
32696 1712397 : idata = idata + 1
32697 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32698 1712397 : full_data(idata) = data_tmp
32699 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32700 1712397 : idata = idata + 1
32701 1712397 : data_tmp = ISHFT(pack_tmp, 22)
32702 1712397 : ipack = ipack + 1
32703 1712397 : pack_tmp = packed_data(ipack)
32704 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32705 1712397 : pack_tmp = ISHFT(pack_tmp, -22)
32706 1712397 : idata = idata + 1
32707 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32708 1712397 : full_data(idata) = data_tmp
32709 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32710 1712397 : idata = idata + 1
32711 1712397 : data_tmp = ISHFT(pack_tmp, 42)
32712 1712397 : ipack = ipack + 1
32713 1712397 : pack_tmp = packed_data(ipack)
32714 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32715 1712397 : pack_tmp = ISHFT(pack_tmp, -42)
32716 1712397 : idata = idata + 1
32717 1712397 : data_tmp = ISHFT(pack_tmp, 20)
32718 1712397 : ipack = ipack + 1
32719 1712397 : pack_tmp = packed_data(ipack)
32720 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32721 1712397 : pack_tmp = ISHFT(pack_tmp, -20)
32722 1712397 : idata = idata + 1
32723 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32724 1712397 : full_data(idata) = data_tmp
32725 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32726 1712397 : idata = idata + 1
32727 1712397 : data_tmp = ISHFT(pack_tmp, 40)
32728 1712397 : ipack = ipack + 1
32729 1712397 : pack_tmp = packed_data(ipack)
32730 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32731 1712397 : pack_tmp = ISHFT(pack_tmp, -40)
32732 1712397 : idata = idata + 1
32733 1712397 : data_tmp = ISHFT(pack_tmp, 18)
32734 1712397 : ipack = ipack + 1
32735 1712397 : pack_tmp = packed_data(ipack)
32736 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32737 1712397 : pack_tmp = ISHFT(pack_tmp, -18)
32738 1712397 : idata = idata + 1
32739 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32740 1712397 : full_data(idata) = data_tmp
32741 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32742 1712397 : idata = idata + 1
32743 1712397 : data_tmp = ISHFT(pack_tmp, 38)
32744 1712397 : ipack = ipack + 1
32745 1712397 : pack_tmp = packed_data(ipack)
32746 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32747 1712397 : pack_tmp = ISHFT(pack_tmp, -38)
32748 1712397 : idata = idata + 1
32749 1712397 : data_tmp = ISHFT(pack_tmp, 16)
32750 1712397 : ipack = ipack + 1
32751 1712397 : pack_tmp = packed_data(ipack)
32752 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32753 1712397 : pack_tmp = ISHFT(pack_tmp, -16)
32754 1712397 : idata = idata + 1
32755 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32756 1712397 : full_data(idata) = data_tmp
32757 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32758 1712397 : idata = idata + 1
32759 1712397 : data_tmp = ISHFT(pack_tmp, 36)
32760 1712397 : ipack = ipack + 1
32761 1712397 : pack_tmp = packed_data(ipack)
32762 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32763 1712397 : pack_tmp = ISHFT(pack_tmp, -36)
32764 1712397 : idata = idata + 1
32765 1712397 : data_tmp = ISHFT(pack_tmp, 14)
32766 1712397 : ipack = ipack + 1
32767 1712397 : pack_tmp = packed_data(ipack)
32768 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32769 1712397 : pack_tmp = ISHFT(pack_tmp, -14)
32770 1712397 : idata = idata + 1
32771 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32772 1712397 : full_data(idata) = data_tmp
32773 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32774 1712397 : idata = idata + 1
32775 1712397 : data_tmp = ISHFT(pack_tmp, 34)
32776 1712397 : ipack = ipack + 1
32777 1712397 : pack_tmp = packed_data(ipack)
32778 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32779 1712397 : pack_tmp = ISHFT(pack_tmp, -34)
32780 1712397 : idata = idata + 1
32781 1712397 : data_tmp = ISHFT(pack_tmp, 12)
32782 1712397 : ipack = ipack + 1
32783 1712397 : pack_tmp = packed_data(ipack)
32784 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32785 1712397 : pack_tmp = ISHFT(pack_tmp, -12)
32786 1712397 : idata = idata + 1
32787 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32788 1712397 : full_data(idata) = data_tmp
32789 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32790 1712397 : idata = idata + 1
32791 1712397 : data_tmp = ISHFT(pack_tmp, 32)
32792 1712397 : ipack = ipack + 1
32793 1712397 : pack_tmp = packed_data(ipack)
32794 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32795 1712397 : pack_tmp = ISHFT(pack_tmp, -32)
32796 1712397 : idata = idata + 1
32797 1712397 : data_tmp = ISHFT(pack_tmp, 10)
32798 1712397 : ipack = ipack + 1
32799 1712397 : pack_tmp = packed_data(ipack)
32800 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32801 1712397 : pack_tmp = ISHFT(pack_tmp, -10)
32802 1712397 : idata = idata + 1
32803 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32804 1712397 : full_data(idata) = data_tmp
32805 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32806 1712397 : idata = idata + 1
32807 1712397 : data_tmp = ISHFT(pack_tmp, 30)
32808 1712397 : ipack = ipack + 1
32809 1712397 : pack_tmp = packed_data(ipack)
32810 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32811 1712397 : pack_tmp = ISHFT(pack_tmp, -30)
32812 1712397 : idata = idata + 1
32813 1712397 : data_tmp = ISHFT(pack_tmp, 8)
32814 1712397 : ipack = ipack + 1
32815 1712397 : pack_tmp = packed_data(ipack)
32816 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32817 1712397 : pack_tmp = ISHFT(pack_tmp, -8)
32818 1712397 : idata = idata + 1
32819 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32820 1712397 : full_data(idata) = data_tmp
32821 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32822 1712397 : idata = idata + 1
32823 1712397 : data_tmp = ISHFT(pack_tmp, 28)
32824 1712397 : ipack = ipack + 1
32825 1712397 : pack_tmp = packed_data(ipack)
32826 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32827 1712397 : pack_tmp = ISHFT(pack_tmp, -28)
32828 1712397 : idata = idata + 1
32829 1712397 : data_tmp = ISHFT(pack_tmp, 6)
32830 1712397 : ipack = ipack + 1
32831 1712397 : pack_tmp = packed_data(ipack)
32832 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32833 1712397 : pack_tmp = ISHFT(pack_tmp, -6)
32834 1712397 : idata = idata + 1
32835 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32836 1712397 : full_data(idata) = data_tmp
32837 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32838 1712397 : idata = idata + 1
32839 1712397 : data_tmp = ISHFT(pack_tmp, 26)
32840 1712397 : ipack = ipack + 1
32841 1712397 : pack_tmp = packed_data(ipack)
32842 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32843 1712397 : pack_tmp = ISHFT(pack_tmp, -26)
32844 1712397 : idata = idata + 1
32845 1712397 : data_tmp = ISHFT(pack_tmp, 4)
32846 1712397 : ipack = ipack + 1
32847 1712397 : pack_tmp = packed_data(ipack)
32848 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32849 1712397 : pack_tmp = ISHFT(pack_tmp, -4)
32850 1712397 : idata = idata + 1
32851 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32852 1712397 : full_data(idata) = data_tmp
32853 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32854 1712397 : idata = idata + 1
32855 1712397 : data_tmp = ISHFT(pack_tmp, 24)
32856 1712397 : ipack = ipack + 1
32857 1712397 : pack_tmp = packed_data(ipack)
32858 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32859 1712397 : pack_tmp = ISHFT(pack_tmp, -24)
32860 1712397 : idata = idata + 1
32861 1712397 : data_tmp = ISHFT(pack_tmp, 2)
32862 1712397 : ipack = ipack + 1
32863 1712397 : pack_tmp = packed_data(ipack)
32864 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32865 1712397 : pack_tmp = ISHFT(pack_tmp, -2)
32866 1712397 : idata = idata + 1
32867 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32868 1712397 : full_data(idata) = data_tmp
32869 1712397 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32870 1712397 : idata = idata + 1
32871 1712397 : data_tmp = ISHFT(pack_tmp, 22)
32872 1712397 : ipack = ipack + 1
32873 1712397 : pack_tmp = packed_data(ipack)
32874 1712397 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32875 1712397 : pack_tmp = ISHFT(pack_tmp, -22)
32876 1712397 : idata = idata + 1
32877 1712397 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32878 1712397 : full_data(idata) = data_tmp
32879 1713903 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32880 : END DO
32881 115902 : IF (Ndata_rep < Ndata) THEN
32882 16710 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32883 : END IF
32884 115902 : END SUBROUTINE bits2ints_42
32885 :
32886 : ! **************************************************************************************************
32887 : !> \brief ...
32888 : !> \param Ndata ...
32889 : !> \param packed_data ...
32890 : !> \param full_data ...
32891 : ! **************************************************************************************************
32892 26035 : 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 26035 : idata = 0
32903 26035 : ipack = 0
32904 26035 : Ndata_rep = (Ndata/64)*64
32905 26035 : DO kdata = 1, Ndata_rep, 64
32906 397520 : pack_tmp = 0
32907 397520 : idata = idata + 1
32908 397520 : data_tmp = full_data(idata)
32909 397520 : data_tmp = ISHFT(data_tmp, 21)
32910 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32911 397520 : pack_tmp = ISHFT(pack_tmp, -21)
32912 397520 : idata = idata + 1
32913 397520 : data_tmp = full_data(idata)
32914 397520 : data_tmp = ISHFT(data_tmp, 21)
32915 397520 : data_tmp = IAND(data_tmp, mask_left(21))
32916 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32917 397520 : ipack = ipack + 1
32918 397520 : packed_data(ipack) = pack_tmp
32919 397520 : data_tmp = full_data(idata)
32920 397520 : pack_tmp = ISHFT(data_tmp, 42)
32921 397520 : pack_tmp = ISHFT(pack_tmp, -42)
32922 397520 : idata = idata + 1
32923 397520 : data_tmp = full_data(idata)
32924 397520 : data_tmp = ISHFT(data_tmp, 21)
32925 397520 : data_tmp = IAND(data_tmp, mask_left(42))
32926 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32927 397520 : ipack = ipack + 1
32928 397520 : packed_data(ipack) = pack_tmp
32929 397520 : data_tmp = full_data(idata)
32930 397520 : pack_tmp = ISHFT(data_tmp, 63)
32931 397520 : pack_tmp = ISHFT(pack_tmp, -43)
32932 397520 : idata = idata + 1
32933 397520 : data_tmp = full_data(idata)
32934 397520 : data_tmp = ISHFT(data_tmp, 21)
32935 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32936 397520 : pack_tmp = ISHFT(pack_tmp, -20)
32937 397520 : idata = idata + 1
32938 397520 : data_tmp = full_data(idata)
32939 397520 : data_tmp = ISHFT(data_tmp, 21)
32940 397520 : data_tmp = IAND(data_tmp, mask_left(20))
32941 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32942 397520 : ipack = ipack + 1
32943 397520 : packed_data(ipack) = pack_tmp
32944 397520 : data_tmp = full_data(idata)
32945 397520 : pack_tmp = ISHFT(data_tmp, 41)
32946 397520 : pack_tmp = ISHFT(pack_tmp, -41)
32947 397520 : idata = idata + 1
32948 397520 : data_tmp = full_data(idata)
32949 397520 : data_tmp = ISHFT(data_tmp, 21)
32950 397520 : data_tmp = IAND(data_tmp, mask_left(41))
32951 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32952 397520 : ipack = ipack + 1
32953 397520 : packed_data(ipack) = pack_tmp
32954 397520 : data_tmp = full_data(idata)
32955 397520 : pack_tmp = ISHFT(data_tmp, 62)
32956 397520 : pack_tmp = ISHFT(pack_tmp, -43)
32957 397520 : idata = idata + 1
32958 397520 : data_tmp = full_data(idata)
32959 397520 : data_tmp = ISHFT(data_tmp, 21)
32960 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32961 397520 : pack_tmp = ISHFT(pack_tmp, -19)
32962 397520 : idata = idata + 1
32963 397520 : data_tmp = full_data(idata)
32964 397520 : data_tmp = ISHFT(data_tmp, 21)
32965 397520 : data_tmp = IAND(data_tmp, mask_left(19))
32966 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32967 397520 : ipack = ipack + 1
32968 397520 : packed_data(ipack) = pack_tmp
32969 397520 : data_tmp = full_data(idata)
32970 397520 : pack_tmp = ISHFT(data_tmp, 40)
32971 397520 : pack_tmp = ISHFT(pack_tmp, -40)
32972 397520 : idata = idata + 1
32973 397520 : data_tmp = full_data(idata)
32974 397520 : data_tmp = ISHFT(data_tmp, 21)
32975 397520 : data_tmp = IAND(data_tmp, mask_left(40))
32976 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32977 397520 : ipack = ipack + 1
32978 397520 : packed_data(ipack) = pack_tmp
32979 397520 : data_tmp = full_data(idata)
32980 397520 : pack_tmp = ISHFT(data_tmp, 61)
32981 397520 : pack_tmp = ISHFT(pack_tmp, -43)
32982 397520 : idata = idata + 1
32983 397520 : data_tmp = full_data(idata)
32984 397520 : data_tmp = ISHFT(data_tmp, 21)
32985 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32986 397520 : pack_tmp = ISHFT(pack_tmp, -18)
32987 397520 : idata = idata + 1
32988 397520 : data_tmp = full_data(idata)
32989 397520 : data_tmp = ISHFT(data_tmp, 21)
32990 397520 : data_tmp = IAND(data_tmp, mask_left(18))
32991 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
32992 397520 : ipack = ipack + 1
32993 397520 : packed_data(ipack) = pack_tmp
32994 397520 : data_tmp = full_data(idata)
32995 397520 : pack_tmp = ISHFT(data_tmp, 39)
32996 397520 : pack_tmp = ISHFT(pack_tmp, -39)
32997 397520 : idata = idata + 1
32998 397520 : data_tmp = full_data(idata)
32999 397520 : data_tmp = ISHFT(data_tmp, 21)
33000 397520 : data_tmp = IAND(data_tmp, mask_left(39))
33001 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33002 397520 : ipack = ipack + 1
33003 397520 : packed_data(ipack) = pack_tmp
33004 397520 : data_tmp = full_data(idata)
33005 397520 : pack_tmp = ISHFT(data_tmp, 60)
33006 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33007 397520 : idata = idata + 1
33008 397520 : data_tmp = full_data(idata)
33009 397520 : data_tmp = ISHFT(data_tmp, 21)
33010 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33011 397520 : pack_tmp = ISHFT(pack_tmp, -17)
33012 397520 : idata = idata + 1
33013 397520 : data_tmp = full_data(idata)
33014 397520 : data_tmp = ISHFT(data_tmp, 21)
33015 397520 : data_tmp = IAND(data_tmp, mask_left(17))
33016 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33017 397520 : ipack = ipack + 1
33018 397520 : packed_data(ipack) = pack_tmp
33019 397520 : data_tmp = full_data(idata)
33020 397520 : pack_tmp = ISHFT(data_tmp, 38)
33021 397520 : pack_tmp = ISHFT(pack_tmp, -38)
33022 397520 : idata = idata + 1
33023 397520 : data_tmp = full_data(idata)
33024 397520 : data_tmp = ISHFT(data_tmp, 21)
33025 397520 : data_tmp = IAND(data_tmp, mask_left(38))
33026 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33027 397520 : ipack = ipack + 1
33028 397520 : packed_data(ipack) = pack_tmp
33029 397520 : data_tmp = full_data(idata)
33030 397520 : pack_tmp = ISHFT(data_tmp, 59)
33031 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33032 397520 : idata = idata + 1
33033 397520 : data_tmp = full_data(idata)
33034 397520 : data_tmp = ISHFT(data_tmp, 21)
33035 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33036 397520 : pack_tmp = ISHFT(pack_tmp, -16)
33037 397520 : idata = idata + 1
33038 397520 : data_tmp = full_data(idata)
33039 397520 : data_tmp = ISHFT(data_tmp, 21)
33040 397520 : data_tmp = IAND(data_tmp, mask_left(16))
33041 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33042 397520 : ipack = ipack + 1
33043 397520 : packed_data(ipack) = pack_tmp
33044 397520 : data_tmp = full_data(idata)
33045 397520 : pack_tmp = ISHFT(data_tmp, 37)
33046 397520 : pack_tmp = ISHFT(pack_tmp, -37)
33047 397520 : idata = idata + 1
33048 397520 : data_tmp = full_data(idata)
33049 397520 : data_tmp = ISHFT(data_tmp, 21)
33050 397520 : data_tmp = IAND(data_tmp, mask_left(37))
33051 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33052 397520 : ipack = ipack + 1
33053 397520 : packed_data(ipack) = pack_tmp
33054 397520 : data_tmp = full_data(idata)
33055 397520 : pack_tmp = ISHFT(data_tmp, 58)
33056 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33057 397520 : idata = idata + 1
33058 397520 : data_tmp = full_data(idata)
33059 397520 : data_tmp = ISHFT(data_tmp, 21)
33060 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33061 397520 : pack_tmp = ISHFT(pack_tmp, -15)
33062 397520 : idata = idata + 1
33063 397520 : data_tmp = full_data(idata)
33064 397520 : data_tmp = ISHFT(data_tmp, 21)
33065 397520 : data_tmp = IAND(data_tmp, mask_left(15))
33066 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33067 397520 : ipack = ipack + 1
33068 397520 : packed_data(ipack) = pack_tmp
33069 397520 : data_tmp = full_data(idata)
33070 397520 : pack_tmp = ISHFT(data_tmp, 36)
33071 397520 : pack_tmp = ISHFT(pack_tmp, -36)
33072 397520 : idata = idata + 1
33073 397520 : data_tmp = full_data(idata)
33074 397520 : data_tmp = ISHFT(data_tmp, 21)
33075 397520 : data_tmp = IAND(data_tmp, mask_left(36))
33076 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33077 397520 : ipack = ipack + 1
33078 397520 : packed_data(ipack) = pack_tmp
33079 397520 : data_tmp = full_data(idata)
33080 397520 : pack_tmp = ISHFT(data_tmp, 57)
33081 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33082 397520 : idata = idata + 1
33083 397520 : data_tmp = full_data(idata)
33084 397520 : data_tmp = ISHFT(data_tmp, 21)
33085 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33086 397520 : pack_tmp = ISHFT(pack_tmp, -14)
33087 397520 : idata = idata + 1
33088 397520 : data_tmp = full_data(idata)
33089 397520 : data_tmp = ISHFT(data_tmp, 21)
33090 397520 : data_tmp = IAND(data_tmp, mask_left(14))
33091 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33092 397520 : ipack = ipack + 1
33093 397520 : packed_data(ipack) = pack_tmp
33094 397520 : data_tmp = full_data(idata)
33095 397520 : pack_tmp = ISHFT(data_tmp, 35)
33096 397520 : pack_tmp = ISHFT(pack_tmp, -35)
33097 397520 : idata = idata + 1
33098 397520 : data_tmp = full_data(idata)
33099 397520 : data_tmp = ISHFT(data_tmp, 21)
33100 397520 : data_tmp = IAND(data_tmp, mask_left(35))
33101 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33102 397520 : ipack = ipack + 1
33103 397520 : packed_data(ipack) = pack_tmp
33104 397520 : data_tmp = full_data(idata)
33105 397520 : pack_tmp = ISHFT(data_tmp, 56)
33106 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33107 397520 : idata = idata + 1
33108 397520 : data_tmp = full_data(idata)
33109 397520 : data_tmp = ISHFT(data_tmp, 21)
33110 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33111 397520 : pack_tmp = ISHFT(pack_tmp, -13)
33112 397520 : idata = idata + 1
33113 397520 : data_tmp = full_data(idata)
33114 397520 : data_tmp = ISHFT(data_tmp, 21)
33115 397520 : data_tmp = IAND(data_tmp, mask_left(13))
33116 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33117 397520 : ipack = ipack + 1
33118 397520 : packed_data(ipack) = pack_tmp
33119 397520 : data_tmp = full_data(idata)
33120 397520 : pack_tmp = ISHFT(data_tmp, 34)
33121 397520 : pack_tmp = ISHFT(pack_tmp, -34)
33122 397520 : idata = idata + 1
33123 397520 : data_tmp = full_data(idata)
33124 397520 : data_tmp = ISHFT(data_tmp, 21)
33125 397520 : data_tmp = IAND(data_tmp, mask_left(34))
33126 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33127 397520 : ipack = ipack + 1
33128 397520 : packed_data(ipack) = pack_tmp
33129 397520 : data_tmp = full_data(idata)
33130 397520 : pack_tmp = ISHFT(data_tmp, 55)
33131 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33132 397520 : idata = idata + 1
33133 397520 : data_tmp = full_data(idata)
33134 397520 : data_tmp = ISHFT(data_tmp, 21)
33135 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33136 397520 : pack_tmp = ISHFT(pack_tmp, -12)
33137 397520 : idata = idata + 1
33138 397520 : data_tmp = full_data(idata)
33139 397520 : data_tmp = ISHFT(data_tmp, 21)
33140 397520 : data_tmp = IAND(data_tmp, mask_left(12))
33141 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33142 397520 : ipack = ipack + 1
33143 397520 : packed_data(ipack) = pack_tmp
33144 397520 : data_tmp = full_data(idata)
33145 397520 : pack_tmp = ISHFT(data_tmp, 33)
33146 397520 : pack_tmp = ISHFT(pack_tmp, -33)
33147 397520 : idata = idata + 1
33148 397520 : data_tmp = full_data(idata)
33149 397520 : data_tmp = ISHFT(data_tmp, 21)
33150 397520 : data_tmp = IAND(data_tmp, mask_left(33))
33151 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33152 397520 : ipack = ipack + 1
33153 397520 : packed_data(ipack) = pack_tmp
33154 397520 : data_tmp = full_data(idata)
33155 397520 : pack_tmp = ISHFT(data_tmp, 54)
33156 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33157 397520 : idata = idata + 1
33158 397520 : data_tmp = full_data(idata)
33159 397520 : data_tmp = ISHFT(data_tmp, 21)
33160 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33161 397520 : pack_tmp = ISHFT(pack_tmp, -11)
33162 397520 : idata = idata + 1
33163 397520 : data_tmp = full_data(idata)
33164 397520 : data_tmp = ISHFT(data_tmp, 21)
33165 397520 : data_tmp = IAND(data_tmp, mask_left(11))
33166 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33167 397520 : ipack = ipack + 1
33168 397520 : packed_data(ipack) = pack_tmp
33169 397520 : data_tmp = full_data(idata)
33170 397520 : pack_tmp = ISHFT(data_tmp, 32)
33171 397520 : pack_tmp = ISHFT(pack_tmp, -32)
33172 397520 : idata = idata + 1
33173 397520 : data_tmp = full_data(idata)
33174 397520 : data_tmp = ISHFT(data_tmp, 21)
33175 397520 : data_tmp = IAND(data_tmp, mask_left(32))
33176 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33177 397520 : ipack = ipack + 1
33178 397520 : packed_data(ipack) = pack_tmp
33179 397520 : data_tmp = full_data(idata)
33180 397520 : pack_tmp = ISHFT(data_tmp, 53)
33181 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33182 397520 : idata = idata + 1
33183 397520 : data_tmp = full_data(idata)
33184 397520 : data_tmp = ISHFT(data_tmp, 21)
33185 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33186 397520 : pack_tmp = ISHFT(pack_tmp, -10)
33187 397520 : idata = idata + 1
33188 397520 : data_tmp = full_data(idata)
33189 397520 : data_tmp = ISHFT(data_tmp, 21)
33190 397520 : data_tmp = IAND(data_tmp, mask_left(10))
33191 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33192 397520 : ipack = ipack + 1
33193 397520 : packed_data(ipack) = pack_tmp
33194 397520 : data_tmp = full_data(idata)
33195 397520 : pack_tmp = ISHFT(data_tmp, 31)
33196 397520 : pack_tmp = ISHFT(pack_tmp, -31)
33197 397520 : idata = idata + 1
33198 397520 : data_tmp = full_data(idata)
33199 397520 : data_tmp = ISHFT(data_tmp, 21)
33200 397520 : data_tmp = IAND(data_tmp, mask_left(31))
33201 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33202 397520 : ipack = ipack + 1
33203 397520 : packed_data(ipack) = pack_tmp
33204 397520 : data_tmp = full_data(idata)
33205 397520 : pack_tmp = ISHFT(data_tmp, 52)
33206 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33207 397520 : idata = idata + 1
33208 397520 : data_tmp = full_data(idata)
33209 397520 : data_tmp = ISHFT(data_tmp, 21)
33210 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33211 397520 : pack_tmp = ISHFT(pack_tmp, -9)
33212 397520 : idata = idata + 1
33213 397520 : data_tmp = full_data(idata)
33214 397520 : data_tmp = ISHFT(data_tmp, 21)
33215 397520 : data_tmp = IAND(data_tmp, mask_left(9))
33216 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33217 397520 : ipack = ipack + 1
33218 397520 : packed_data(ipack) = pack_tmp
33219 397520 : data_tmp = full_data(idata)
33220 397520 : pack_tmp = ISHFT(data_tmp, 30)
33221 397520 : pack_tmp = ISHFT(pack_tmp, -30)
33222 397520 : idata = idata + 1
33223 397520 : data_tmp = full_data(idata)
33224 397520 : data_tmp = ISHFT(data_tmp, 21)
33225 397520 : data_tmp = IAND(data_tmp, mask_left(30))
33226 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33227 397520 : ipack = ipack + 1
33228 397520 : packed_data(ipack) = pack_tmp
33229 397520 : data_tmp = full_data(idata)
33230 397520 : pack_tmp = ISHFT(data_tmp, 51)
33231 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33232 397520 : idata = idata + 1
33233 397520 : data_tmp = full_data(idata)
33234 397520 : data_tmp = ISHFT(data_tmp, 21)
33235 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33236 397520 : pack_tmp = ISHFT(pack_tmp, -8)
33237 397520 : idata = idata + 1
33238 397520 : data_tmp = full_data(idata)
33239 397520 : data_tmp = ISHFT(data_tmp, 21)
33240 397520 : data_tmp = IAND(data_tmp, mask_left(8))
33241 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33242 397520 : ipack = ipack + 1
33243 397520 : packed_data(ipack) = pack_tmp
33244 397520 : data_tmp = full_data(idata)
33245 397520 : pack_tmp = ISHFT(data_tmp, 29)
33246 397520 : pack_tmp = ISHFT(pack_tmp, -29)
33247 397520 : idata = idata + 1
33248 397520 : data_tmp = full_data(idata)
33249 397520 : data_tmp = ISHFT(data_tmp, 21)
33250 397520 : data_tmp = IAND(data_tmp, mask_left(29))
33251 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33252 397520 : ipack = ipack + 1
33253 397520 : packed_data(ipack) = pack_tmp
33254 397520 : data_tmp = full_data(idata)
33255 397520 : pack_tmp = ISHFT(data_tmp, 50)
33256 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33257 397520 : idata = idata + 1
33258 397520 : data_tmp = full_data(idata)
33259 397520 : data_tmp = ISHFT(data_tmp, 21)
33260 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33261 397520 : pack_tmp = ISHFT(pack_tmp, -7)
33262 397520 : idata = idata + 1
33263 397520 : data_tmp = full_data(idata)
33264 397520 : data_tmp = ISHFT(data_tmp, 21)
33265 397520 : data_tmp = IAND(data_tmp, mask_left(7))
33266 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33267 397520 : ipack = ipack + 1
33268 397520 : packed_data(ipack) = pack_tmp
33269 397520 : data_tmp = full_data(idata)
33270 397520 : pack_tmp = ISHFT(data_tmp, 28)
33271 397520 : pack_tmp = ISHFT(pack_tmp, -28)
33272 397520 : idata = idata + 1
33273 397520 : data_tmp = full_data(idata)
33274 397520 : data_tmp = ISHFT(data_tmp, 21)
33275 397520 : data_tmp = IAND(data_tmp, mask_left(28))
33276 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33277 397520 : ipack = ipack + 1
33278 397520 : packed_data(ipack) = pack_tmp
33279 397520 : data_tmp = full_data(idata)
33280 397520 : pack_tmp = ISHFT(data_tmp, 49)
33281 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33282 397520 : idata = idata + 1
33283 397520 : data_tmp = full_data(idata)
33284 397520 : data_tmp = ISHFT(data_tmp, 21)
33285 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33286 397520 : pack_tmp = ISHFT(pack_tmp, -6)
33287 397520 : idata = idata + 1
33288 397520 : data_tmp = full_data(idata)
33289 397520 : data_tmp = ISHFT(data_tmp, 21)
33290 397520 : data_tmp = IAND(data_tmp, mask_left(6))
33291 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33292 397520 : ipack = ipack + 1
33293 397520 : packed_data(ipack) = pack_tmp
33294 397520 : data_tmp = full_data(idata)
33295 397520 : pack_tmp = ISHFT(data_tmp, 27)
33296 397520 : pack_tmp = ISHFT(pack_tmp, -27)
33297 397520 : idata = idata + 1
33298 397520 : data_tmp = full_data(idata)
33299 397520 : data_tmp = ISHFT(data_tmp, 21)
33300 397520 : data_tmp = IAND(data_tmp, mask_left(27))
33301 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33302 397520 : ipack = ipack + 1
33303 397520 : packed_data(ipack) = pack_tmp
33304 397520 : data_tmp = full_data(idata)
33305 397520 : pack_tmp = ISHFT(data_tmp, 48)
33306 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33307 397520 : idata = idata + 1
33308 397520 : data_tmp = full_data(idata)
33309 397520 : data_tmp = ISHFT(data_tmp, 21)
33310 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33311 397520 : pack_tmp = ISHFT(pack_tmp, -5)
33312 397520 : idata = idata + 1
33313 397520 : data_tmp = full_data(idata)
33314 397520 : data_tmp = ISHFT(data_tmp, 21)
33315 397520 : data_tmp = IAND(data_tmp, mask_left(5))
33316 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33317 397520 : ipack = ipack + 1
33318 397520 : packed_data(ipack) = pack_tmp
33319 397520 : data_tmp = full_data(idata)
33320 397520 : pack_tmp = ISHFT(data_tmp, 26)
33321 397520 : pack_tmp = ISHFT(pack_tmp, -26)
33322 397520 : idata = idata + 1
33323 397520 : data_tmp = full_data(idata)
33324 397520 : data_tmp = ISHFT(data_tmp, 21)
33325 397520 : data_tmp = IAND(data_tmp, mask_left(26))
33326 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33327 397520 : ipack = ipack + 1
33328 397520 : packed_data(ipack) = pack_tmp
33329 397520 : data_tmp = full_data(idata)
33330 397520 : pack_tmp = ISHFT(data_tmp, 47)
33331 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33332 397520 : idata = idata + 1
33333 397520 : data_tmp = full_data(idata)
33334 397520 : data_tmp = ISHFT(data_tmp, 21)
33335 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33336 397520 : pack_tmp = ISHFT(pack_tmp, -4)
33337 397520 : idata = idata + 1
33338 397520 : data_tmp = full_data(idata)
33339 397520 : data_tmp = ISHFT(data_tmp, 21)
33340 397520 : data_tmp = IAND(data_tmp, mask_left(4))
33341 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33342 397520 : ipack = ipack + 1
33343 397520 : packed_data(ipack) = pack_tmp
33344 397520 : data_tmp = full_data(idata)
33345 397520 : pack_tmp = ISHFT(data_tmp, 25)
33346 397520 : pack_tmp = ISHFT(pack_tmp, -25)
33347 397520 : idata = idata + 1
33348 397520 : data_tmp = full_data(idata)
33349 397520 : data_tmp = ISHFT(data_tmp, 21)
33350 397520 : data_tmp = IAND(data_tmp, mask_left(25))
33351 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33352 397520 : ipack = ipack + 1
33353 397520 : packed_data(ipack) = pack_tmp
33354 397520 : data_tmp = full_data(idata)
33355 397520 : pack_tmp = ISHFT(data_tmp, 46)
33356 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33357 397520 : idata = idata + 1
33358 397520 : data_tmp = full_data(idata)
33359 397520 : data_tmp = ISHFT(data_tmp, 21)
33360 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33361 397520 : pack_tmp = ISHFT(pack_tmp, -3)
33362 397520 : idata = idata + 1
33363 397520 : data_tmp = full_data(idata)
33364 397520 : data_tmp = ISHFT(data_tmp, 21)
33365 397520 : data_tmp = IAND(data_tmp, mask_left(3))
33366 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33367 397520 : ipack = ipack + 1
33368 397520 : packed_data(ipack) = pack_tmp
33369 397520 : data_tmp = full_data(idata)
33370 397520 : pack_tmp = ISHFT(data_tmp, 24)
33371 397520 : pack_tmp = ISHFT(pack_tmp, -24)
33372 397520 : idata = idata + 1
33373 397520 : data_tmp = full_data(idata)
33374 397520 : data_tmp = ISHFT(data_tmp, 21)
33375 397520 : data_tmp = IAND(data_tmp, mask_left(24))
33376 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33377 397520 : ipack = ipack + 1
33378 397520 : packed_data(ipack) = pack_tmp
33379 397520 : data_tmp = full_data(idata)
33380 397520 : pack_tmp = ISHFT(data_tmp, 45)
33381 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33382 397520 : idata = idata + 1
33383 397520 : data_tmp = full_data(idata)
33384 397520 : data_tmp = ISHFT(data_tmp, 21)
33385 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33386 397520 : pack_tmp = ISHFT(pack_tmp, -2)
33387 397520 : idata = idata + 1
33388 397520 : data_tmp = full_data(idata)
33389 397520 : data_tmp = ISHFT(data_tmp, 21)
33390 397520 : data_tmp = IAND(data_tmp, mask_left(2))
33391 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33392 397520 : ipack = ipack + 1
33393 397520 : packed_data(ipack) = pack_tmp
33394 397520 : data_tmp = full_data(idata)
33395 397520 : pack_tmp = ISHFT(data_tmp, 23)
33396 397520 : pack_tmp = ISHFT(pack_tmp, -23)
33397 397520 : idata = idata + 1
33398 397520 : data_tmp = full_data(idata)
33399 397520 : data_tmp = ISHFT(data_tmp, 21)
33400 397520 : data_tmp = IAND(data_tmp, mask_left(23))
33401 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33402 397520 : ipack = ipack + 1
33403 397520 : packed_data(ipack) = pack_tmp
33404 397520 : data_tmp = full_data(idata)
33405 397520 : pack_tmp = ISHFT(data_tmp, 44)
33406 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33407 397520 : idata = idata + 1
33408 397520 : data_tmp = full_data(idata)
33409 397520 : data_tmp = ISHFT(data_tmp, 21)
33410 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33411 397520 : pack_tmp = ISHFT(pack_tmp, -1)
33412 397520 : idata = idata + 1
33413 397520 : data_tmp = full_data(idata)
33414 397520 : data_tmp = ISHFT(data_tmp, 21)
33415 397520 : data_tmp = IAND(data_tmp, mask_left(1))
33416 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33417 397520 : ipack = ipack + 1
33418 397520 : packed_data(ipack) = pack_tmp
33419 397520 : data_tmp = full_data(idata)
33420 397520 : pack_tmp = ISHFT(data_tmp, 22)
33421 397520 : pack_tmp = ISHFT(pack_tmp, -22)
33422 397520 : idata = idata + 1
33423 397520 : data_tmp = full_data(idata)
33424 397520 : data_tmp = ISHFT(data_tmp, 21)
33425 397520 : data_tmp = IAND(data_tmp, mask_left(22))
33426 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33427 397520 : ipack = ipack + 1
33428 397520 : packed_data(ipack) = pack_tmp
33429 397520 : data_tmp = full_data(idata)
33430 397520 : pack_tmp = ISHFT(data_tmp, 43)
33431 397520 : pack_tmp = ISHFT(pack_tmp, -43)
33432 397520 : idata = idata + 1
33433 397520 : data_tmp = full_data(idata)
33434 397520 : data_tmp = ISHFT(data_tmp, 21)
33435 397520 : pack_tmp = IOR(pack_tmp, data_tmp)
33436 : pack_tmp = ISHFT(pack_tmp, 0)
33437 397520 : pack_tmp = ISHFT(pack_tmp, 0)
33438 397520 : ipack = ipack + 1
33439 397782 : packed_data(ipack) = pack_tmp
33440 : END DO
33441 26035 : IF (Ndata_rep < Ndata) THEN
33442 2240 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33443 : END IF
33444 26035 : END SUBROUTINE ints2bits_43
33445 :
33446 : ! **************************************************************************************************
33447 : !> \brief ...
33448 : !> \param Ndata ...
33449 : !> \param packed_data ...
33450 : !> \param full_data ...
33451 : ! **************************************************************************************************
33452 115831 : 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 115831 : ipack = 0
33463 115831 : idata = 0
33464 115831 : pack_tmp = 0
33465 115831 : Ndata_rep = (Ndata/64)*64
33466 115831 : DO kdata = 1, Ndata_rep, 64
33467 1699191 : idata = idata + 1
33468 1699191 : data_tmp = ISHFT(pack_tmp, 43)
33469 1699191 : ipack = ipack + 1
33470 1699191 : pack_tmp = packed_data(ipack)
33471 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
33472 1699191 : pack_tmp = ISHFT(pack_tmp, -43)
33473 1699191 : idata = idata + 1
33474 1699191 : data_tmp = ISHFT(pack_tmp, 22)
33475 1699191 : ipack = ipack + 1
33476 1699191 : pack_tmp = packed_data(ipack)
33477 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
33478 1699191 : pack_tmp = ISHFT(pack_tmp, -22)
33479 1699191 : idata = idata + 1
33480 1699191 : data_tmp = ISHFT(pack_tmp, 1)
33481 1699191 : ipack = ipack + 1
33482 1699191 : pack_tmp = packed_data(ipack)
33483 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
33484 1699191 : pack_tmp = ISHFT(pack_tmp, -1)
33485 1699191 : idata = idata + 1
33486 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33487 1699191 : full_data(idata) = data_tmp
33488 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33489 1699191 : idata = idata + 1
33490 1699191 : data_tmp = ISHFT(pack_tmp, 23)
33491 1699191 : ipack = ipack + 1
33492 1699191 : pack_tmp = packed_data(ipack)
33493 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
33494 1699191 : pack_tmp = ISHFT(pack_tmp, -23)
33495 1699191 : idata = idata + 1
33496 1699191 : data_tmp = ISHFT(pack_tmp, 2)
33497 1699191 : ipack = ipack + 1
33498 1699191 : pack_tmp = packed_data(ipack)
33499 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
33500 1699191 : pack_tmp = ISHFT(pack_tmp, -2)
33501 1699191 : idata = idata + 1
33502 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33503 1699191 : full_data(idata) = data_tmp
33504 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33505 1699191 : idata = idata + 1
33506 1699191 : data_tmp = ISHFT(pack_tmp, 24)
33507 1699191 : ipack = ipack + 1
33508 1699191 : pack_tmp = packed_data(ipack)
33509 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
33510 1699191 : pack_tmp = ISHFT(pack_tmp, -24)
33511 1699191 : idata = idata + 1
33512 1699191 : data_tmp = ISHFT(pack_tmp, 3)
33513 1699191 : ipack = ipack + 1
33514 1699191 : pack_tmp = packed_data(ipack)
33515 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
33516 1699191 : pack_tmp = ISHFT(pack_tmp, -3)
33517 1699191 : idata = idata + 1
33518 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33519 1699191 : full_data(idata) = data_tmp
33520 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33521 1699191 : idata = idata + 1
33522 1699191 : data_tmp = ISHFT(pack_tmp, 25)
33523 1699191 : ipack = ipack + 1
33524 1699191 : pack_tmp = packed_data(ipack)
33525 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
33526 1699191 : pack_tmp = ISHFT(pack_tmp, -25)
33527 1699191 : idata = idata + 1
33528 1699191 : data_tmp = ISHFT(pack_tmp, 4)
33529 1699191 : ipack = ipack + 1
33530 1699191 : pack_tmp = packed_data(ipack)
33531 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
33532 1699191 : pack_tmp = ISHFT(pack_tmp, -4)
33533 1699191 : idata = idata + 1
33534 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33535 1699191 : full_data(idata) = data_tmp
33536 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33537 1699191 : idata = idata + 1
33538 1699191 : data_tmp = ISHFT(pack_tmp, 26)
33539 1699191 : ipack = ipack + 1
33540 1699191 : pack_tmp = packed_data(ipack)
33541 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
33542 1699191 : pack_tmp = ISHFT(pack_tmp, -26)
33543 1699191 : idata = idata + 1
33544 1699191 : data_tmp = ISHFT(pack_tmp, 5)
33545 1699191 : ipack = ipack + 1
33546 1699191 : pack_tmp = packed_data(ipack)
33547 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
33548 1699191 : pack_tmp = ISHFT(pack_tmp, -5)
33549 1699191 : idata = idata + 1
33550 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33551 1699191 : full_data(idata) = data_tmp
33552 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33553 1699191 : idata = idata + 1
33554 1699191 : data_tmp = ISHFT(pack_tmp, 27)
33555 1699191 : ipack = ipack + 1
33556 1699191 : pack_tmp = packed_data(ipack)
33557 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
33558 1699191 : pack_tmp = ISHFT(pack_tmp, -27)
33559 1699191 : idata = idata + 1
33560 1699191 : data_tmp = ISHFT(pack_tmp, 6)
33561 1699191 : ipack = ipack + 1
33562 1699191 : pack_tmp = packed_data(ipack)
33563 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
33564 1699191 : pack_tmp = ISHFT(pack_tmp, -6)
33565 1699191 : idata = idata + 1
33566 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33567 1699191 : full_data(idata) = data_tmp
33568 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33569 1699191 : idata = idata + 1
33570 1699191 : data_tmp = ISHFT(pack_tmp, 28)
33571 1699191 : ipack = ipack + 1
33572 1699191 : pack_tmp = packed_data(ipack)
33573 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
33574 1699191 : pack_tmp = ISHFT(pack_tmp, -28)
33575 1699191 : idata = idata + 1
33576 1699191 : data_tmp = ISHFT(pack_tmp, 7)
33577 1699191 : ipack = ipack + 1
33578 1699191 : pack_tmp = packed_data(ipack)
33579 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
33580 1699191 : pack_tmp = ISHFT(pack_tmp, -7)
33581 1699191 : idata = idata + 1
33582 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33583 1699191 : full_data(idata) = data_tmp
33584 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33585 1699191 : idata = idata + 1
33586 1699191 : data_tmp = ISHFT(pack_tmp, 29)
33587 1699191 : ipack = ipack + 1
33588 1699191 : pack_tmp = packed_data(ipack)
33589 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
33590 1699191 : pack_tmp = ISHFT(pack_tmp, -29)
33591 1699191 : idata = idata + 1
33592 1699191 : data_tmp = ISHFT(pack_tmp, 8)
33593 1699191 : ipack = ipack + 1
33594 1699191 : pack_tmp = packed_data(ipack)
33595 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
33596 1699191 : pack_tmp = ISHFT(pack_tmp, -8)
33597 1699191 : idata = idata + 1
33598 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33599 1699191 : full_data(idata) = data_tmp
33600 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33601 1699191 : idata = idata + 1
33602 1699191 : data_tmp = ISHFT(pack_tmp, 30)
33603 1699191 : ipack = ipack + 1
33604 1699191 : pack_tmp = packed_data(ipack)
33605 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
33606 1699191 : pack_tmp = ISHFT(pack_tmp, -30)
33607 1699191 : idata = idata + 1
33608 1699191 : data_tmp = ISHFT(pack_tmp, 9)
33609 1699191 : ipack = ipack + 1
33610 1699191 : pack_tmp = packed_data(ipack)
33611 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
33612 1699191 : pack_tmp = ISHFT(pack_tmp, -9)
33613 1699191 : idata = idata + 1
33614 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33615 1699191 : full_data(idata) = data_tmp
33616 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33617 1699191 : idata = idata + 1
33618 1699191 : data_tmp = ISHFT(pack_tmp, 31)
33619 1699191 : ipack = ipack + 1
33620 1699191 : pack_tmp = packed_data(ipack)
33621 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
33622 1699191 : pack_tmp = ISHFT(pack_tmp, -31)
33623 1699191 : idata = idata + 1
33624 1699191 : data_tmp = ISHFT(pack_tmp, 10)
33625 1699191 : ipack = ipack + 1
33626 1699191 : pack_tmp = packed_data(ipack)
33627 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
33628 1699191 : pack_tmp = ISHFT(pack_tmp, -10)
33629 1699191 : idata = idata + 1
33630 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33631 1699191 : full_data(idata) = data_tmp
33632 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33633 1699191 : idata = idata + 1
33634 1699191 : data_tmp = ISHFT(pack_tmp, 32)
33635 1699191 : ipack = ipack + 1
33636 1699191 : pack_tmp = packed_data(ipack)
33637 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
33638 1699191 : pack_tmp = ISHFT(pack_tmp, -32)
33639 1699191 : idata = idata + 1
33640 1699191 : data_tmp = ISHFT(pack_tmp, 11)
33641 1699191 : ipack = ipack + 1
33642 1699191 : pack_tmp = packed_data(ipack)
33643 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
33644 1699191 : pack_tmp = ISHFT(pack_tmp, -11)
33645 1699191 : idata = idata + 1
33646 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33647 1699191 : full_data(idata) = data_tmp
33648 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33649 1699191 : idata = idata + 1
33650 1699191 : data_tmp = ISHFT(pack_tmp, 33)
33651 1699191 : ipack = ipack + 1
33652 1699191 : pack_tmp = packed_data(ipack)
33653 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
33654 1699191 : pack_tmp = ISHFT(pack_tmp, -33)
33655 1699191 : idata = idata + 1
33656 1699191 : data_tmp = ISHFT(pack_tmp, 12)
33657 1699191 : ipack = ipack + 1
33658 1699191 : pack_tmp = packed_data(ipack)
33659 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
33660 1699191 : pack_tmp = ISHFT(pack_tmp, -12)
33661 1699191 : idata = idata + 1
33662 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33663 1699191 : full_data(idata) = data_tmp
33664 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33665 1699191 : idata = idata + 1
33666 1699191 : data_tmp = ISHFT(pack_tmp, 34)
33667 1699191 : ipack = ipack + 1
33668 1699191 : pack_tmp = packed_data(ipack)
33669 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
33670 1699191 : pack_tmp = ISHFT(pack_tmp, -34)
33671 1699191 : idata = idata + 1
33672 1699191 : data_tmp = ISHFT(pack_tmp, 13)
33673 1699191 : ipack = ipack + 1
33674 1699191 : pack_tmp = packed_data(ipack)
33675 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
33676 1699191 : pack_tmp = ISHFT(pack_tmp, -13)
33677 1699191 : idata = idata + 1
33678 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33679 1699191 : full_data(idata) = data_tmp
33680 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33681 1699191 : idata = idata + 1
33682 1699191 : data_tmp = ISHFT(pack_tmp, 35)
33683 1699191 : ipack = ipack + 1
33684 1699191 : pack_tmp = packed_data(ipack)
33685 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
33686 1699191 : pack_tmp = ISHFT(pack_tmp, -35)
33687 1699191 : idata = idata + 1
33688 1699191 : data_tmp = ISHFT(pack_tmp, 14)
33689 1699191 : ipack = ipack + 1
33690 1699191 : pack_tmp = packed_data(ipack)
33691 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
33692 1699191 : pack_tmp = ISHFT(pack_tmp, -14)
33693 1699191 : idata = idata + 1
33694 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33695 1699191 : full_data(idata) = data_tmp
33696 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33697 1699191 : idata = idata + 1
33698 1699191 : data_tmp = ISHFT(pack_tmp, 36)
33699 1699191 : ipack = ipack + 1
33700 1699191 : pack_tmp = packed_data(ipack)
33701 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
33702 1699191 : pack_tmp = ISHFT(pack_tmp, -36)
33703 1699191 : idata = idata + 1
33704 1699191 : data_tmp = ISHFT(pack_tmp, 15)
33705 1699191 : ipack = ipack + 1
33706 1699191 : pack_tmp = packed_data(ipack)
33707 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
33708 1699191 : pack_tmp = ISHFT(pack_tmp, -15)
33709 1699191 : idata = idata + 1
33710 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33711 1699191 : full_data(idata) = data_tmp
33712 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33713 1699191 : idata = idata + 1
33714 1699191 : data_tmp = ISHFT(pack_tmp, 37)
33715 1699191 : ipack = ipack + 1
33716 1699191 : pack_tmp = packed_data(ipack)
33717 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
33718 1699191 : pack_tmp = ISHFT(pack_tmp, -37)
33719 1699191 : idata = idata + 1
33720 1699191 : data_tmp = ISHFT(pack_tmp, 16)
33721 1699191 : ipack = ipack + 1
33722 1699191 : pack_tmp = packed_data(ipack)
33723 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
33724 1699191 : pack_tmp = ISHFT(pack_tmp, -16)
33725 1699191 : idata = idata + 1
33726 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33727 1699191 : full_data(idata) = data_tmp
33728 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33729 1699191 : idata = idata + 1
33730 1699191 : data_tmp = ISHFT(pack_tmp, 38)
33731 1699191 : ipack = ipack + 1
33732 1699191 : pack_tmp = packed_data(ipack)
33733 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
33734 1699191 : pack_tmp = ISHFT(pack_tmp, -38)
33735 1699191 : idata = idata + 1
33736 1699191 : data_tmp = ISHFT(pack_tmp, 17)
33737 1699191 : ipack = ipack + 1
33738 1699191 : pack_tmp = packed_data(ipack)
33739 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
33740 1699191 : pack_tmp = ISHFT(pack_tmp, -17)
33741 1699191 : idata = idata + 1
33742 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33743 1699191 : full_data(idata) = data_tmp
33744 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33745 1699191 : idata = idata + 1
33746 1699191 : data_tmp = ISHFT(pack_tmp, 39)
33747 1699191 : ipack = ipack + 1
33748 1699191 : pack_tmp = packed_data(ipack)
33749 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
33750 1699191 : pack_tmp = ISHFT(pack_tmp, -39)
33751 1699191 : idata = idata + 1
33752 1699191 : data_tmp = ISHFT(pack_tmp, 18)
33753 1699191 : ipack = ipack + 1
33754 1699191 : pack_tmp = packed_data(ipack)
33755 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
33756 1699191 : pack_tmp = ISHFT(pack_tmp, -18)
33757 1699191 : idata = idata + 1
33758 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33759 1699191 : full_data(idata) = data_tmp
33760 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33761 1699191 : idata = idata + 1
33762 1699191 : data_tmp = ISHFT(pack_tmp, 40)
33763 1699191 : ipack = ipack + 1
33764 1699191 : pack_tmp = packed_data(ipack)
33765 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
33766 1699191 : pack_tmp = ISHFT(pack_tmp, -40)
33767 1699191 : idata = idata + 1
33768 1699191 : data_tmp = ISHFT(pack_tmp, 19)
33769 1699191 : ipack = ipack + 1
33770 1699191 : pack_tmp = packed_data(ipack)
33771 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
33772 1699191 : pack_tmp = ISHFT(pack_tmp, -19)
33773 1699191 : idata = idata + 1
33774 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33775 1699191 : full_data(idata) = data_tmp
33776 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33777 1699191 : idata = idata + 1
33778 1699191 : data_tmp = ISHFT(pack_tmp, 41)
33779 1699191 : ipack = ipack + 1
33780 1699191 : pack_tmp = packed_data(ipack)
33781 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
33782 1699191 : pack_tmp = ISHFT(pack_tmp, -41)
33783 1699191 : idata = idata + 1
33784 1699191 : data_tmp = ISHFT(pack_tmp, 20)
33785 1699191 : ipack = ipack + 1
33786 1699191 : pack_tmp = packed_data(ipack)
33787 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
33788 1699191 : pack_tmp = ISHFT(pack_tmp, -20)
33789 1699191 : idata = idata + 1
33790 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33791 1699191 : full_data(idata) = data_tmp
33792 1699191 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33793 1699191 : idata = idata + 1
33794 1699191 : data_tmp = ISHFT(pack_tmp, 42)
33795 1699191 : ipack = ipack + 1
33796 1699191 : pack_tmp = packed_data(ipack)
33797 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
33798 1699191 : pack_tmp = ISHFT(pack_tmp, -42)
33799 1699191 : idata = idata + 1
33800 1699191 : data_tmp = ISHFT(pack_tmp, 21)
33801 1699191 : ipack = ipack + 1
33802 1699191 : pack_tmp = packed_data(ipack)
33803 1699191 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
33804 1699191 : pack_tmp = ISHFT(pack_tmp, -21)
33805 1699191 : idata = idata + 1
33806 1699191 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33807 1699191 : full_data(idata) = data_tmp
33808 1701599 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33809 : END DO
33810 115831 : IF (Ndata_rep < Ndata) THEN
33811 18130 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33812 : END IF
33813 115831 : END SUBROUTINE bits2ints_43
33814 :
33815 : ! **************************************************************************************************
33816 : !> \brief ...
33817 : !> \param Ndata ...
33818 : !> \param packed_data ...
33819 : !> \param full_data ...
33820 : ! **************************************************************************************************
33821 27514 : 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 27514 : idata = 0
33832 27514 : ipack = 0
33833 27514 : Ndata_rep = (Ndata/64)*64
33834 27514 : DO kdata = 1, Ndata_rep, 64
33835 409556 : pack_tmp = 0
33836 409556 : idata = idata + 1
33837 409556 : data_tmp = full_data(idata)
33838 409556 : data_tmp = ISHFT(data_tmp, 20)
33839 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33840 409556 : pack_tmp = ISHFT(pack_tmp, -20)
33841 409556 : idata = idata + 1
33842 409556 : data_tmp = full_data(idata)
33843 409556 : data_tmp = ISHFT(data_tmp, 20)
33844 409556 : data_tmp = IAND(data_tmp, mask_left(20))
33845 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33846 409556 : ipack = ipack + 1
33847 409556 : packed_data(ipack) = pack_tmp
33848 409556 : data_tmp = full_data(idata)
33849 409556 : pack_tmp = ISHFT(data_tmp, 40)
33850 409556 : pack_tmp = ISHFT(pack_tmp, -40)
33851 409556 : idata = idata + 1
33852 409556 : data_tmp = full_data(idata)
33853 409556 : data_tmp = ISHFT(data_tmp, 20)
33854 409556 : data_tmp = IAND(data_tmp, mask_left(40))
33855 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33856 409556 : ipack = ipack + 1
33857 409556 : packed_data(ipack) = pack_tmp
33858 409556 : data_tmp = full_data(idata)
33859 409556 : pack_tmp = ISHFT(data_tmp, 60)
33860 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33861 409556 : idata = idata + 1
33862 409556 : data_tmp = full_data(idata)
33863 409556 : data_tmp = ISHFT(data_tmp, 20)
33864 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33865 409556 : pack_tmp = ISHFT(pack_tmp, -16)
33866 409556 : idata = idata + 1
33867 409556 : data_tmp = full_data(idata)
33868 409556 : data_tmp = ISHFT(data_tmp, 20)
33869 409556 : data_tmp = IAND(data_tmp, mask_left(16))
33870 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33871 409556 : ipack = ipack + 1
33872 409556 : packed_data(ipack) = pack_tmp
33873 409556 : data_tmp = full_data(idata)
33874 409556 : pack_tmp = ISHFT(data_tmp, 36)
33875 409556 : pack_tmp = ISHFT(pack_tmp, -36)
33876 409556 : idata = idata + 1
33877 409556 : data_tmp = full_data(idata)
33878 409556 : data_tmp = ISHFT(data_tmp, 20)
33879 409556 : data_tmp = IAND(data_tmp, mask_left(36))
33880 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33881 409556 : ipack = ipack + 1
33882 409556 : packed_data(ipack) = pack_tmp
33883 409556 : data_tmp = full_data(idata)
33884 409556 : pack_tmp = ISHFT(data_tmp, 56)
33885 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33886 409556 : idata = idata + 1
33887 409556 : data_tmp = full_data(idata)
33888 409556 : data_tmp = ISHFT(data_tmp, 20)
33889 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33890 409556 : pack_tmp = ISHFT(pack_tmp, -12)
33891 409556 : idata = idata + 1
33892 409556 : data_tmp = full_data(idata)
33893 409556 : data_tmp = ISHFT(data_tmp, 20)
33894 409556 : data_tmp = IAND(data_tmp, mask_left(12))
33895 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33896 409556 : ipack = ipack + 1
33897 409556 : packed_data(ipack) = pack_tmp
33898 409556 : data_tmp = full_data(idata)
33899 409556 : pack_tmp = ISHFT(data_tmp, 32)
33900 409556 : pack_tmp = ISHFT(pack_tmp, -32)
33901 409556 : idata = idata + 1
33902 409556 : data_tmp = full_data(idata)
33903 409556 : data_tmp = ISHFT(data_tmp, 20)
33904 409556 : data_tmp = IAND(data_tmp, mask_left(32))
33905 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33906 409556 : ipack = ipack + 1
33907 409556 : packed_data(ipack) = pack_tmp
33908 409556 : data_tmp = full_data(idata)
33909 409556 : pack_tmp = ISHFT(data_tmp, 52)
33910 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33911 409556 : idata = idata + 1
33912 409556 : data_tmp = full_data(idata)
33913 409556 : data_tmp = ISHFT(data_tmp, 20)
33914 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33915 409556 : pack_tmp = ISHFT(pack_tmp, -8)
33916 409556 : idata = idata + 1
33917 409556 : data_tmp = full_data(idata)
33918 409556 : data_tmp = ISHFT(data_tmp, 20)
33919 409556 : data_tmp = IAND(data_tmp, mask_left(8))
33920 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33921 409556 : ipack = ipack + 1
33922 409556 : packed_data(ipack) = pack_tmp
33923 409556 : data_tmp = full_data(idata)
33924 409556 : pack_tmp = ISHFT(data_tmp, 28)
33925 409556 : pack_tmp = ISHFT(pack_tmp, -28)
33926 409556 : idata = idata + 1
33927 409556 : data_tmp = full_data(idata)
33928 409556 : data_tmp = ISHFT(data_tmp, 20)
33929 409556 : data_tmp = IAND(data_tmp, mask_left(28))
33930 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33931 409556 : ipack = ipack + 1
33932 409556 : packed_data(ipack) = pack_tmp
33933 409556 : data_tmp = full_data(idata)
33934 409556 : pack_tmp = ISHFT(data_tmp, 48)
33935 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33936 409556 : idata = idata + 1
33937 409556 : data_tmp = full_data(idata)
33938 409556 : data_tmp = ISHFT(data_tmp, 20)
33939 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33940 409556 : pack_tmp = ISHFT(pack_tmp, -4)
33941 409556 : idata = idata + 1
33942 409556 : data_tmp = full_data(idata)
33943 409556 : data_tmp = ISHFT(data_tmp, 20)
33944 409556 : data_tmp = IAND(data_tmp, mask_left(4))
33945 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33946 409556 : ipack = ipack + 1
33947 409556 : packed_data(ipack) = pack_tmp
33948 409556 : data_tmp = full_data(idata)
33949 409556 : pack_tmp = ISHFT(data_tmp, 24)
33950 409556 : pack_tmp = ISHFT(pack_tmp, -24)
33951 409556 : idata = idata + 1
33952 409556 : data_tmp = full_data(idata)
33953 409556 : data_tmp = ISHFT(data_tmp, 20)
33954 409556 : data_tmp = IAND(data_tmp, mask_left(24))
33955 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33956 409556 : ipack = ipack + 1
33957 409556 : packed_data(ipack) = pack_tmp
33958 409556 : data_tmp = full_data(idata)
33959 409556 : pack_tmp = ISHFT(data_tmp, 44)
33960 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33961 409556 : idata = idata + 1
33962 409556 : data_tmp = full_data(idata)
33963 409556 : data_tmp = ISHFT(data_tmp, 20)
33964 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33965 409556 : pack_tmp = ISHFT(pack_tmp, 0)
33966 409556 : idata = idata + 1
33967 409556 : data_tmp = full_data(idata)
33968 : data_tmp = ISHFT(data_tmp, 20)
33969 409556 : data_tmp = IAND(data_tmp, mask_left(0))
33970 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33971 409556 : ipack = ipack + 1
33972 409556 : packed_data(ipack) = pack_tmp
33973 409556 : data_tmp = full_data(idata)
33974 409556 : pack_tmp = ISHFT(data_tmp, 20)
33975 409556 : pack_tmp = ISHFT(pack_tmp, -20)
33976 409556 : idata = idata + 1
33977 409556 : data_tmp = full_data(idata)
33978 409556 : data_tmp = ISHFT(data_tmp, 20)
33979 409556 : data_tmp = IAND(data_tmp, mask_left(20))
33980 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33981 409556 : ipack = ipack + 1
33982 409556 : packed_data(ipack) = pack_tmp
33983 409556 : data_tmp = full_data(idata)
33984 409556 : pack_tmp = ISHFT(data_tmp, 40)
33985 409556 : pack_tmp = ISHFT(pack_tmp, -40)
33986 409556 : idata = idata + 1
33987 409556 : data_tmp = full_data(idata)
33988 409556 : data_tmp = ISHFT(data_tmp, 20)
33989 409556 : data_tmp = IAND(data_tmp, mask_left(40))
33990 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
33991 409556 : ipack = ipack + 1
33992 409556 : packed_data(ipack) = pack_tmp
33993 409556 : data_tmp = full_data(idata)
33994 409556 : pack_tmp = ISHFT(data_tmp, 60)
33995 409556 : pack_tmp = ISHFT(pack_tmp, -44)
33996 409556 : idata = idata + 1
33997 409556 : data_tmp = full_data(idata)
33998 409556 : data_tmp = ISHFT(data_tmp, 20)
33999 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34000 409556 : pack_tmp = ISHFT(pack_tmp, -16)
34001 409556 : idata = idata + 1
34002 409556 : data_tmp = full_data(idata)
34003 409556 : data_tmp = ISHFT(data_tmp, 20)
34004 409556 : data_tmp = IAND(data_tmp, mask_left(16))
34005 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34006 409556 : ipack = ipack + 1
34007 409556 : packed_data(ipack) = pack_tmp
34008 409556 : data_tmp = full_data(idata)
34009 409556 : pack_tmp = ISHFT(data_tmp, 36)
34010 409556 : pack_tmp = ISHFT(pack_tmp, -36)
34011 409556 : idata = idata + 1
34012 409556 : data_tmp = full_data(idata)
34013 409556 : data_tmp = ISHFT(data_tmp, 20)
34014 409556 : data_tmp = IAND(data_tmp, mask_left(36))
34015 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34016 409556 : ipack = ipack + 1
34017 409556 : packed_data(ipack) = pack_tmp
34018 409556 : data_tmp = full_data(idata)
34019 409556 : pack_tmp = ISHFT(data_tmp, 56)
34020 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34021 409556 : idata = idata + 1
34022 409556 : data_tmp = full_data(idata)
34023 409556 : data_tmp = ISHFT(data_tmp, 20)
34024 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34025 409556 : pack_tmp = ISHFT(pack_tmp, -12)
34026 409556 : idata = idata + 1
34027 409556 : data_tmp = full_data(idata)
34028 409556 : data_tmp = ISHFT(data_tmp, 20)
34029 409556 : data_tmp = IAND(data_tmp, mask_left(12))
34030 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34031 409556 : ipack = ipack + 1
34032 409556 : packed_data(ipack) = pack_tmp
34033 409556 : data_tmp = full_data(idata)
34034 409556 : pack_tmp = ISHFT(data_tmp, 32)
34035 409556 : pack_tmp = ISHFT(pack_tmp, -32)
34036 409556 : idata = idata + 1
34037 409556 : data_tmp = full_data(idata)
34038 409556 : data_tmp = ISHFT(data_tmp, 20)
34039 409556 : data_tmp = IAND(data_tmp, mask_left(32))
34040 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34041 409556 : ipack = ipack + 1
34042 409556 : packed_data(ipack) = pack_tmp
34043 409556 : data_tmp = full_data(idata)
34044 409556 : pack_tmp = ISHFT(data_tmp, 52)
34045 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34046 409556 : idata = idata + 1
34047 409556 : data_tmp = full_data(idata)
34048 409556 : data_tmp = ISHFT(data_tmp, 20)
34049 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34050 409556 : pack_tmp = ISHFT(pack_tmp, -8)
34051 409556 : idata = idata + 1
34052 409556 : data_tmp = full_data(idata)
34053 409556 : data_tmp = ISHFT(data_tmp, 20)
34054 409556 : data_tmp = IAND(data_tmp, mask_left(8))
34055 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34056 409556 : ipack = ipack + 1
34057 409556 : packed_data(ipack) = pack_tmp
34058 409556 : data_tmp = full_data(idata)
34059 409556 : pack_tmp = ISHFT(data_tmp, 28)
34060 409556 : pack_tmp = ISHFT(pack_tmp, -28)
34061 409556 : idata = idata + 1
34062 409556 : data_tmp = full_data(idata)
34063 409556 : data_tmp = ISHFT(data_tmp, 20)
34064 409556 : data_tmp = IAND(data_tmp, mask_left(28))
34065 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34066 409556 : ipack = ipack + 1
34067 409556 : packed_data(ipack) = pack_tmp
34068 409556 : data_tmp = full_data(idata)
34069 409556 : pack_tmp = ISHFT(data_tmp, 48)
34070 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34071 409556 : idata = idata + 1
34072 409556 : data_tmp = full_data(idata)
34073 409556 : data_tmp = ISHFT(data_tmp, 20)
34074 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34075 409556 : pack_tmp = ISHFT(pack_tmp, -4)
34076 409556 : idata = idata + 1
34077 409556 : data_tmp = full_data(idata)
34078 409556 : data_tmp = ISHFT(data_tmp, 20)
34079 409556 : data_tmp = IAND(data_tmp, mask_left(4))
34080 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34081 409556 : ipack = ipack + 1
34082 409556 : packed_data(ipack) = pack_tmp
34083 409556 : data_tmp = full_data(idata)
34084 409556 : pack_tmp = ISHFT(data_tmp, 24)
34085 409556 : pack_tmp = ISHFT(pack_tmp, -24)
34086 409556 : idata = idata + 1
34087 409556 : data_tmp = full_data(idata)
34088 409556 : data_tmp = ISHFT(data_tmp, 20)
34089 409556 : data_tmp = IAND(data_tmp, mask_left(24))
34090 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34091 409556 : ipack = ipack + 1
34092 409556 : packed_data(ipack) = pack_tmp
34093 409556 : data_tmp = full_data(idata)
34094 409556 : pack_tmp = ISHFT(data_tmp, 44)
34095 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34096 409556 : idata = idata + 1
34097 409556 : data_tmp = full_data(idata)
34098 409556 : data_tmp = ISHFT(data_tmp, 20)
34099 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34100 409556 : pack_tmp = ISHFT(pack_tmp, 0)
34101 409556 : idata = idata + 1
34102 409556 : data_tmp = full_data(idata)
34103 : data_tmp = ISHFT(data_tmp, 20)
34104 409556 : data_tmp = IAND(data_tmp, mask_left(0))
34105 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34106 409556 : ipack = ipack + 1
34107 409556 : packed_data(ipack) = pack_tmp
34108 409556 : data_tmp = full_data(idata)
34109 409556 : pack_tmp = ISHFT(data_tmp, 20)
34110 409556 : pack_tmp = ISHFT(pack_tmp, -20)
34111 409556 : idata = idata + 1
34112 409556 : data_tmp = full_data(idata)
34113 409556 : data_tmp = ISHFT(data_tmp, 20)
34114 409556 : data_tmp = IAND(data_tmp, mask_left(20))
34115 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34116 409556 : ipack = ipack + 1
34117 409556 : packed_data(ipack) = pack_tmp
34118 409556 : data_tmp = full_data(idata)
34119 409556 : pack_tmp = ISHFT(data_tmp, 40)
34120 409556 : pack_tmp = ISHFT(pack_tmp, -40)
34121 409556 : idata = idata + 1
34122 409556 : data_tmp = full_data(idata)
34123 409556 : data_tmp = ISHFT(data_tmp, 20)
34124 409556 : data_tmp = IAND(data_tmp, mask_left(40))
34125 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34126 409556 : ipack = ipack + 1
34127 409556 : packed_data(ipack) = pack_tmp
34128 409556 : data_tmp = full_data(idata)
34129 409556 : pack_tmp = ISHFT(data_tmp, 60)
34130 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34131 409556 : idata = idata + 1
34132 409556 : data_tmp = full_data(idata)
34133 409556 : data_tmp = ISHFT(data_tmp, 20)
34134 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34135 409556 : pack_tmp = ISHFT(pack_tmp, -16)
34136 409556 : idata = idata + 1
34137 409556 : data_tmp = full_data(idata)
34138 409556 : data_tmp = ISHFT(data_tmp, 20)
34139 409556 : data_tmp = IAND(data_tmp, mask_left(16))
34140 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34141 409556 : ipack = ipack + 1
34142 409556 : packed_data(ipack) = pack_tmp
34143 409556 : data_tmp = full_data(idata)
34144 409556 : pack_tmp = ISHFT(data_tmp, 36)
34145 409556 : pack_tmp = ISHFT(pack_tmp, -36)
34146 409556 : idata = idata + 1
34147 409556 : data_tmp = full_data(idata)
34148 409556 : data_tmp = ISHFT(data_tmp, 20)
34149 409556 : data_tmp = IAND(data_tmp, mask_left(36))
34150 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34151 409556 : ipack = ipack + 1
34152 409556 : packed_data(ipack) = pack_tmp
34153 409556 : data_tmp = full_data(idata)
34154 409556 : pack_tmp = ISHFT(data_tmp, 56)
34155 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34156 409556 : idata = idata + 1
34157 409556 : data_tmp = full_data(idata)
34158 409556 : data_tmp = ISHFT(data_tmp, 20)
34159 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34160 409556 : pack_tmp = ISHFT(pack_tmp, -12)
34161 409556 : idata = idata + 1
34162 409556 : data_tmp = full_data(idata)
34163 409556 : data_tmp = ISHFT(data_tmp, 20)
34164 409556 : data_tmp = IAND(data_tmp, mask_left(12))
34165 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34166 409556 : ipack = ipack + 1
34167 409556 : packed_data(ipack) = pack_tmp
34168 409556 : data_tmp = full_data(idata)
34169 409556 : pack_tmp = ISHFT(data_tmp, 32)
34170 409556 : pack_tmp = ISHFT(pack_tmp, -32)
34171 409556 : idata = idata + 1
34172 409556 : data_tmp = full_data(idata)
34173 409556 : data_tmp = ISHFT(data_tmp, 20)
34174 409556 : data_tmp = IAND(data_tmp, mask_left(32))
34175 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34176 409556 : ipack = ipack + 1
34177 409556 : packed_data(ipack) = pack_tmp
34178 409556 : data_tmp = full_data(idata)
34179 409556 : pack_tmp = ISHFT(data_tmp, 52)
34180 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34181 409556 : idata = idata + 1
34182 409556 : data_tmp = full_data(idata)
34183 409556 : data_tmp = ISHFT(data_tmp, 20)
34184 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34185 409556 : pack_tmp = ISHFT(pack_tmp, -8)
34186 409556 : idata = idata + 1
34187 409556 : data_tmp = full_data(idata)
34188 409556 : data_tmp = ISHFT(data_tmp, 20)
34189 409556 : data_tmp = IAND(data_tmp, mask_left(8))
34190 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34191 409556 : ipack = ipack + 1
34192 409556 : packed_data(ipack) = pack_tmp
34193 409556 : data_tmp = full_data(idata)
34194 409556 : pack_tmp = ISHFT(data_tmp, 28)
34195 409556 : pack_tmp = ISHFT(pack_tmp, -28)
34196 409556 : idata = idata + 1
34197 409556 : data_tmp = full_data(idata)
34198 409556 : data_tmp = ISHFT(data_tmp, 20)
34199 409556 : data_tmp = IAND(data_tmp, mask_left(28))
34200 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34201 409556 : ipack = ipack + 1
34202 409556 : packed_data(ipack) = pack_tmp
34203 409556 : data_tmp = full_data(idata)
34204 409556 : pack_tmp = ISHFT(data_tmp, 48)
34205 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34206 409556 : idata = idata + 1
34207 409556 : data_tmp = full_data(idata)
34208 409556 : data_tmp = ISHFT(data_tmp, 20)
34209 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34210 409556 : pack_tmp = ISHFT(pack_tmp, -4)
34211 409556 : idata = idata + 1
34212 409556 : data_tmp = full_data(idata)
34213 409556 : data_tmp = ISHFT(data_tmp, 20)
34214 409556 : data_tmp = IAND(data_tmp, mask_left(4))
34215 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34216 409556 : ipack = ipack + 1
34217 409556 : packed_data(ipack) = pack_tmp
34218 409556 : data_tmp = full_data(idata)
34219 409556 : pack_tmp = ISHFT(data_tmp, 24)
34220 409556 : pack_tmp = ISHFT(pack_tmp, -24)
34221 409556 : idata = idata + 1
34222 409556 : data_tmp = full_data(idata)
34223 409556 : data_tmp = ISHFT(data_tmp, 20)
34224 409556 : data_tmp = IAND(data_tmp, mask_left(24))
34225 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34226 409556 : ipack = ipack + 1
34227 409556 : packed_data(ipack) = pack_tmp
34228 409556 : data_tmp = full_data(idata)
34229 409556 : pack_tmp = ISHFT(data_tmp, 44)
34230 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34231 409556 : idata = idata + 1
34232 409556 : data_tmp = full_data(idata)
34233 409556 : data_tmp = ISHFT(data_tmp, 20)
34234 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34235 409556 : pack_tmp = ISHFT(pack_tmp, 0)
34236 409556 : idata = idata + 1
34237 409556 : data_tmp = full_data(idata)
34238 : data_tmp = ISHFT(data_tmp, 20)
34239 409556 : data_tmp = IAND(data_tmp, mask_left(0))
34240 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34241 409556 : ipack = ipack + 1
34242 409556 : packed_data(ipack) = pack_tmp
34243 409556 : data_tmp = full_data(idata)
34244 409556 : pack_tmp = ISHFT(data_tmp, 20)
34245 409556 : pack_tmp = ISHFT(pack_tmp, -20)
34246 409556 : idata = idata + 1
34247 409556 : data_tmp = full_data(idata)
34248 409556 : data_tmp = ISHFT(data_tmp, 20)
34249 409556 : data_tmp = IAND(data_tmp, mask_left(20))
34250 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34251 409556 : ipack = ipack + 1
34252 409556 : packed_data(ipack) = pack_tmp
34253 409556 : data_tmp = full_data(idata)
34254 409556 : pack_tmp = ISHFT(data_tmp, 40)
34255 409556 : pack_tmp = ISHFT(pack_tmp, -40)
34256 409556 : idata = idata + 1
34257 409556 : data_tmp = full_data(idata)
34258 409556 : data_tmp = ISHFT(data_tmp, 20)
34259 409556 : data_tmp = IAND(data_tmp, mask_left(40))
34260 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34261 409556 : ipack = ipack + 1
34262 409556 : packed_data(ipack) = pack_tmp
34263 409556 : data_tmp = full_data(idata)
34264 409556 : pack_tmp = ISHFT(data_tmp, 60)
34265 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34266 409556 : idata = idata + 1
34267 409556 : data_tmp = full_data(idata)
34268 409556 : data_tmp = ISHFT(data_tmp, 20)
34269 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34270 409556 : pack_tmp = ISHFT(pack_tmp, -16)
34271 409556 : idata = idata + 1
34272 409556 : data_tmp = full_data(idata)
34273 409556 : data_tmp = ISHFT(data_tmp, 20)
34274 409556 : data_tmp = IAND(data_tmp, mask_left(16))
34275 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34276 409556 : ipack = ipack + 1
34277 409556 : packed_data(ipack) = pack_tmp
34278 409556 : data_tmp = full_data(idata)
34279 409556 : pack_tmp = ISHFT(data_tmp, 36)
34280 409556 : pack_tmp = ISHFT(pack_tmp, -36)
34281 409556 : idata = idata + 1
34282 409556 : data_tmp = full_data(idata)
34283 409556 : data_tmp = ISHFT(data_tmp, 20)
34284 409556 : data_tmp = IAND(data_tmp, mask_left(36))
34285 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34286 409556 : ipack = ipack + 1
34287 409556 : packed_data(ipack) = pack_tmp
34288 409556 : data_tmp = full_data(idata)
34289 409556 : pack_tmp = ISHFT(data_tmp, 56)
34290 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34291 409556 : idata = idata + 1
34292 409556 : data_tmp = full_data(idata)
34293 409556 : data_tmp = ISHFT(data_tmp, 20)
34294 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34295 409556 : pack_tmp = ISHFT(pack_tmp, -12)
34296 409556 : idata = idata + 1
34297 409556 : data_tmp = full_data(idata)
34298 409556 : data_tmp = ISHFT(data_tmp, 20)
34299 409556 : data_tmp = IAND(data_tmp, mask_left(12))
34300 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34301 409556 : ipack = ipack + 1
34302 409556 : packed_data(ipack) = pack_tmp
34303 409556 : data_tmp = full_data(idata)
34304 409556 : pack_tmp = ISHFT(data_tmp, 32)
34305 409556 : pack_tmp = ISHFT(pack_tmp, -32)
34306 409556 : idata = idata + 1
34307 409556 : data_tmp = full_data(idata)
34308 409556 : data_tmp = ISHFT(data_tmp, 20)
34309 409556 : data_tmp = IAND(data_tmp, mask_left(32))
34310 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34311 409556 : ipack = ipack + 1
34312 409556 : packed_data(ipack) = pack_tmp
34313 409556 : data_tmp = full_data(idata)
34314 409556 : pack_tmp = ISHFT(data_tmp, 52)
34315 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34316 409556 : idata = idata + 1
34317 409556 : data_tmp = full_data(idata)
34318 409556 : data_tmp = ISHFT(data_tmp, 20)
34319 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34320 409556 : pack_tmp = ISHFT(pack_tmp, -8)
34321 409556 : idata = idata + 1
34322 409556 : data_tmp = full_data(idata)
34323 409556 : data_tmp = ISHFT(data_tmp, 20)
34324 409556 : data_tmp = IAND(data_tmp, mask_left(8))
34325 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34326 409556 : ipack = ipack + 1
34327 409556 : packed_data(ipack) = pack_tmp
34328 409556 : data_tmp = full_data(idata)
34329 409556 : pack_tmp = ISHFT(data_tmp, 28)
34330 409556 : pack_tmp = ISHFT(pack_tmp, -28)
34331 409556 : idata = idata + 1
34332 409556 : data_tmp = full_data(idata)
34333 409556 : data_tmp = ISHFT(data_tmp, 20)
34334 409556 : data_tmp = IAND(data_tmp, mask_left(28))
34335 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34336 409556 : ipack = ipack + 1
34337 409556 : packed_data(ipack) = pack_tmp
34338 409556 : data_tmp = full_data(idata)
34339 409556 : pack_tmp = ISHFT(data_tmp, 48)
34340 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34341 409556 : idata = idata + 1
34342 409556 : data_tmp = full_data(idata)
34343 409556 : data_tmp = ISHFT(data_tmp, 20)
34344 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34345 409556 : pack_tmp = ISHFT(pack_tmp, -4)
34346 409556 : idata = idata + 1
34347 409556 : data_tmp = full_data(idata)
34348 409556 : data_tmp = ISHFT(data_tmp, 20)
34349 409556 : data_tmp = IAND(data_tmp, mask_left(4))
34350 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34351 409556 : ipack = ipack + 1
34352 409556 : packed_data(ipack) = pack_tmp
34353 409556 : data_tmp = full_data(idata)
34354 409556 : pack_tmp = ISHFT(data_tmp, 24)
34355 409556 : pack_tmp = ISHFT(pack_tmp, -24)
34356 409556 : idata = idata + 1
34357 409556 : data_tmp = full_data(idata)
34358 409556 : data_tmp = ISHFT(data_tmp, 20)
34359 409556 : data_tmp = IAND(data_tmp, mask_left(24))
34360 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34361 409556 : ipack = ipack + 1
34362 409556 : packed_data(ipack) = pack_tmp
34363 409556 : data_tmp = full_data(idata)
34364 409556 : pack_tmp = ISHFT(data_tmp, 44)
34365 409556 : pack_tmp = ISHFT(pack_tmp, -44)
34366 409556 : idata = idata + 1
34367 409556 : data_tmp = full_data(idata)
34368 409556 : data_tmp = ISHFT(data_tmp, 20)
34369 409556 : pack_tmp = IOR(pack_tmp, data_tmp)
34370 : pack_tmp = ISHFT(pack_tmp, 0)
34371 409556 : pack_tmp = ISHFT(pack_tmp, 0)
34372 409556 : ipack = ipack + 1
34373 409569 : packed_data(ipack) = pack_tmp
34374 : END DO
34375 27514 : IF (Ndata_rep < Ndata) THEN
34376 3608 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34377 : END IF
34378 27514 : END SUBROUTINE ints2bits_44
34379 :
34380 : ! **************************************************************************************************
34381 : !> \brief ...
34382 : !> \param Ndata ...
34383 : !> \param packed_data ...
34384 : !> \param full_data ...
34385 : ! **************************************************************************************************
34386 123361 : 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 123361 : ipack = 0
34397 123361 : idata = 0
34398 123361 : pack_tmp = 0
34399 123361 : Ndata_rep = (Ndata/64)*64
34400 123361 : DO kdata = 1, Ndata_rep, 64
34401 1766801 : idata = idata + 1
34402 1766801 : data_tmp = ISHFT(pack_tmp, 44)
34403 1766801 : ipack = ipack + 1
34404 1766801 : pack_tmp = packed_data(ipack)
34405 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34406 1766801 : pack_tmp = ISHFT(pack_tmp, -44)
34407 1766801 : idata = idata + 1
34408 1766801 : data_tmp = ISHFT(pack_tmp, 24)
34409 1766801 : ipack = ipack + 1
34410 1766801 : pack_tmp = packed_data(ipack)
34411 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34412 1766801 : pack_tmp = ISHFT(pack_tmp, -24)
34413 1766801 : idata = idata + 1
34414 1766801 : data_tmp = ISHFT(pack_tmp, 4)
34415 1766801 : ipack = ipack + 1
34416 1766801 : pack_tmp = packed_data(ipack)
34417 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34418 1766801 : pack_tmp = ISHFT(pack_tmp, -4)
34419 1766801 : idata = idata + 1
34420 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34421 1766801 : full_data(idata) = data_tmp
34422 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34423 1766801 : idata = idata + 1
34424 1766801 : data_tmp = ISHFT(pack_tmp, 28)
34425 1766801 : ipack = ipack + 1
34426 1766801 : pack_tmp = packed_data(ipack)
34427 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34428 1766801 : pack_tmp = ISHFT(pack_tmp, -28)
34429 1766801 : idata = idata + 1
34430 1766801 : data_tmp = ISHFT(pack_tmp, 8)
34431 1766801 : ipack = ipack + 1
34432 1766801 : pack_tmp = packed_data(ipack)
34433 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34434 1766801 : pack_tmp = ISHFT(pack_tmp, -8)
34435 1766801 : idata = idata + 1
34436 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34437 1766801 : full_data(idata) = data_tmp
34438 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34439 1766801 : idata = idata + 1
34440 1766801 : data_tmp = ISHFT(pack_tmp, 32)
34441 1766801 : ipack = ipack + 1
34442 1766801 : pack_tmp = packed_data(ipack)
34443 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34444 1766801 : pack_tmp = ISHFT(pack_tmp, -32)
34445 1766801 : idata = idata + 1
34446 1766801 : data_tmp = ISHFT(pack_tmp, 12)
34447 1766801 : ipack = ipack + 1
34448 1766801 : pack_tmp = packed_data(ipack)
34449 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34450 1766801 : pack_tmp = ISHFT(pack_tmp, -12)
34451 1766801 : idata = idata + 1
34452 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34453 1766801 : full_data(idata) = data_tmp
34454 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34455 1766801 : idata = idata + 1
34456 1766801 : data_tmp = ISHFT(pack_tmp, 36)
34457 1766801 : ipack = ipack + 1
34458 1766801 : pack_tmp = packed_data(ipack)
34459 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34460 1766801 : pack_tmp = ISHFT(pack_tmp, -36)
34461 1766801 : idata = idata + 1
34462 1766801 : data_tmp = ISHFT(pack_tmp, 16)
34463 1766801 : ipack = ipack + 1
34464 1766801 : pack_tmp = packed_data(ipack)
34465 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34466 1766801 : pack_tmp = ISHFT(pack_tmp, -16)
34467 1766801 : idata = idata + 1
34468 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34469 1766801 : full_data(idata) = data_tmp
34470 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34471 1766801 : idata = idata + 1
34472 1766801 : data_tmp = ISHFT(pack_tmp, 40)
34473 1766801 : ipack = ipack + 1
34474 1766801 : pack_tmp = packed_data(ipack)
34475 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34476 1766801 : pack_tmp = ISHFT(pack_tmp, -40)
34477 1766801 : idata = idata + 1
34478 1766801 : data_tmp = ISHFT(pack_tmp, 20)
34479 1766801 : ipack = ipack + 1
34480 1766801 : pack_tmp = packed_data(ipack)
34481 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34482 1766801 : pack_tmp = ISHFT(pack_tmp, -20)
34483 1766801 : idata = idata + 1
34484 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34485 1766801 : full_data(idata) = data_tmp
34486 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34487 1766801 : idata = idata + 1
34488 1766801 : data_tmp = ISHFT(pack_tmp, 44)
34489 1766801 : ipack = ipack + 1
34490 1766801 : pack_tmp = packed_data(ipack)
34491 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34492 1766801 : pack_tmp = ISHFT(pack_tmp, -44)
34493 1766801 : idata = idata + 1
34494 1766801 : data_tmp = ISHFT(pack_tmp, 24)
34495 1766801 : ipack = ipack + 1
34496 1766801 : pack_tmp = packed_data(ipack)
34497 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34498 1766801 : pack_tmp = ISHFT(pack_tmp, -24)
34499 1766801 : idata = idata + 1
34500 1766801 : data_tmp = ISHFT(pack_tmp, 4)
34501 1766801 : ipack = ipack + 1
34502 1766801 : pack_tmp = packed_data(ipack)
34503 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34504 1766801 : pack_tmp = ISHFT(pack_tmp, -4)
34505 1766801 : idata = idata + 1
34506 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34507 1766801 : full_data(idata) = data_tmp
34508 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34509 1766801 : idata = idata + 1
34510 1766801 : data_tmp = ISHFT(pack_tmp, 28)
34511 1766801 : ipack = ipack + 1
34512 1766801 : pack_tmp = packed_data(ipack)
34513 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34514 1766801 : pack_tmp = ISHFT(pack_tmp, -28)
34515 1766801 : idata = idata + 1
34516 1766801 : data_tmp = ISHFT(pack_tmp, 8)
34517 1766801 : ipack = ipack + 1
34518 1766801 : pack_tmp = packed_data(ipack)
34519 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34520 1766801 : pack_tmp = ISHFT(pack_tmp, -8)
34521 1766801 : idata = idata + 1
34522 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34523 1766801 : full_data(idata) = data_tmp
34524 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34525 1766801 : idata = idata + 1
34526 1766801 : data_tmp = ISHFT(pack_tmp, 32)
34527 1766801 : ipack = ipack + 1
34528 1766801 : pack_tmp = packed_data(ipack)
34529 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34530 1766801 : pack_tmp = ISHFT(pack_tmp, -32)
34531 1766801 : idata = idata + 1
34532 1766801 : data_tmp = ISHFT(pack_tmp, 12)
34533 1766801 : ipack = ipack + 1
34534 1766801 : pack_tmp = packed_data(ipack)
34535 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34536 1766801 : pack_tmp = ISHFT(pack_tmp, -12)
34537 1766801 : idata = idata + 1
34538 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34539 1766801 : full_data(idata) = data_tmp
34540 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34541 1766801 : idata = idata + 1
34542 1766801 : data_tmp = ISHFT(pack_tmp, 36)
34543 1766801 : ipack = ipack + 1
34544 1766801 : pack_tmp = packed_data(ipack)
34545 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34546 1766801 : pack_tmp = ISHFT(pack_tmp, -36)
34547 1766801 : idata = idata + 1
34548 1766801 : data_tmp = ISHFT(pack_tmp, 16)
34549 1766801 : ipack = ipack + 1
34550 1766801 : pack_tmp = packed_data(ipack)
34551 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34552 1766801 : pack_tmp = ISHFT(pack_tmp, -16)
34553 1766801 : idata = idata + 1
34554 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34555 1766801 : full_data(idata) = data_tmp
34556 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34557 1766801 : idata = idata + 1
34558 1766801 : data_tmp = ISHFT(pack_tmp, 40)
34559 1766801 : ipack = ipack + 1
34560 1766801 : pack_tmp = packed_data(ipack)
34561 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34562 1766801 : pack_tmp = ISHFT(pack_tmp, -40)
34563 1766801 : idata = idata + 1
34564 1766801 : data_tmp = ISHFT(pack_tmp, 20)
34565 1766801 : ipack = ipack + 1
34566 1766801 : pack_tmp = packed_data(ipack)
34567 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34568 1766801 : pack_tmp = ISHFT(pack_tmp, -20)
34569 1766801 : idata = idata + 1
34570 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34571 1766801 : full_data(idata) = data_tmp
34572 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34573 1766801 : idata = idata + 1
34574 1766801 : data_tmp = ISHFT(pack_tmp, 44)
34575 1766801 : ipack = ipack + 1
34576 1766801 : pack_tmp = packed_data(ipack)
34577 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34578 1766801 : pack_tmp = ISHFT(pack_tmp, -44)
34579 1766801 : idata = idata + 1
34580 1766801 : data_tmp = ISHFT(pack_tmp, 24)
34581 1766801 : ipack = ipack + 1
34582 1766801 : pack_tmp = packed_data(ipack)
34583 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34584 1766801 : pack_tmp = ISHFT(pack_tmp, -24)
34585 1766801 : idata = idata + 1
34586 1766801 : data_tmp = ISHFT(pack_tmp, 4)
34587 1766801 : ipack = ipack + 1
34588 1766801 : pack_tmp = packed_data(ipack)
34589 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34590 1766801 : pack_tmp = ISHFT(pack_tmp, -4)
34591 1766801 : idata = idata + 1
34592 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34593 1766801 : full_data(idata) = data_tmp
34594 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34595 1766801 : idata = idata + 1
34596 1766801 : data_tmp = ISHFT(pack_tmp, 28)
34597 1766801 : ipack = ipack + 1
34598 1766801 : pack_tmp = packed_data(ipack)
34599 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34600 1766801 : pack_tmp = ISHFT(pack_tmp, -28)
34601 1766801 : idata = idata + 1
34602 1766801 : data_tmp = ISHFT(pack_tmp, 8)
34603 1766801 : ipack = ipack + 1
34604 1766801 : pack_tmp = packed_data(ipack)
34605 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34606 1766801 : pack_tmp = ISHFT(pack_tmp, -8)
34607 1766801 : idata = idata + 1
34608 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34609 1766801 : full_data(idata) = data_tmp
34610 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34611 1766801 : idata = idata + 1
34612 1766801 : data_tmp = ISHFT(pack_tmp, 32)
34613 1766801 : ipack = ipack + 1
34614 1766801 : pack_tmp = packed_data(ipack)
34615 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34616 1766801 : pack_tmp = ISHFT(pack_tmp, -32)
34617 1766801 : idata = idata + 1
34618 1766801 : data_tmp = ISHFT(pack_tmp, 12)
34619 1766801 : ipack = ipack + 1
34620 1766801 : pack_tmp = packed_data(ipack)
34621 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34622 1766801 : pack_tmp = ISHFT(pack_tmp, -12)
34623 1766801 : idata = idata + 1
34624 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34625 1766801 : full_data(idata) = data_tmp
34626 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34627 1766801 : idata = idata + 1
34628 1766801 : data_tmp = ISHFT(pack_tmp, 36)
34629 1766801 : ipack = ipack + 1
34630 1766801 : pack_tmp = packed_data(ipack)
34631 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34632 1766801 : pack_tmp = ISHFT(pack_tmp, -36)
34633 1766801 : idata = idata + 1
34634 1766801 : data_tmp = ISHFT(pack_tmp, 16)
34635 1766801 : ipack = ipack + 1
34636 1766801 : pack_tmp = packed_data(ipack)
34637 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34638 1766801 : pack_tmp = ISHFT(pack_tmp, -16)
34639 1766801 : idata = idata + 1
34640 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34641 1766801 : full_data(idata) = data_tmp
34642 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34643 1766801 : idata = idata + 1
34644 1766801 : data_tmp = ISHFT(pack_tmp, 40)
34645 1766801 : ipack = ipack + 1
34646 1766801 : pack_tmp = packed_data(ipack)
34647 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34648 1766801 : pack_tmp = ISHFT(pack_tmp, -40)
34649 1766801 : idata = idata + 1
34650 1766801 : data_tmp = ISHFT(pack_tmp, 20)
34651 1766801 : ipack = ipack + 1
34652 1766801 : pack_tmp = packed_data(ipack)
34653 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34654 1766801 : pack_tmp = ISHFT(pack_tmp, -20)
34655 1766801 : idata = idata + 1
34656 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34657 1766801 : full_data(idata) = data_tmp
34658 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34659 1766801 : idata = idata + 1
34660 1766801 : data_tmp = ISHFT(pack_tmp, 44)
34661 1766801 : ipack = ipack + 1
34662 1766801 : pack_tmp = packed_data(ipack)
34663 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34664 1766801 : pack_tmp = ISHFT(pack_tmp, -44)
34665 1766801 : idata = idata + 1
34666 1766801 : data_tmp = ISHFT(pack_tmp, 24)
34667 1766801 : ipack = ipack + 1
34668 1766801 : pack_tmp = packed_data(ipack)
34669 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34670 1766801 : pack_tmp = ISHFT(pack_tmp, -24)
34671 1766801 : idata = idata + 1
34672 1766801 : data_tmp = ISHFT(pack_tmp, 4)
34673 1766801 : ipack = ipack + 1
34674 1766801 : pack_tmp = packed_data(ipack)
34675 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34676 1766801 : pack_tmp = ISHFT(pack_tmp, -4)
34677 1766801 : idata = idata + 1
34678 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34679 1766801 : full_data(idata) = data_tmp
34680 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34681 1766801 : idata = idata + 1
34682 1766801 : data_tmp = ISHFT(pack_tmp, 28)
34683 1766801 : ipack = ipack + 1
34684 1766801 : pack_tmp = packed_data(ipack)
34685 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34686 1766801 : pack_tmp = ISHFT(pack_tmp, -28)
34687 1766801 : idata = idata + 1
34688 1766801 : data_tmp = ISHFT(pack_tmp, 8)
34689 1766801 : ipack = ipack + 1
34690 1766801 : pack_tmp = packed_data(ipack)
34691 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34692 1766801 : pack_tmp = ISHFT(pack_tmp, -8)
34693 1766801 : idata = idata + 1
34694 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34695 1766801 : full_data(idata) = data_tmp
34696 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34697 1766801 : idata = idata + 1
34698 1766801 : data_tmp = ISHFT(pack_tmp, 32)
34699 1766801 : ipack = ipack + 1
34700 1766801 : pack_tmp = packed_data(ipack)
34701 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34702 1766801 : pack_tmp = ISHFT(pack_tmp, -32)
34703 1766801 : idata = idata + 1
34704 1766801 : data_tmp = ISHFT(pack_tmp, 12)
34705 1766801 : ipack = ipack + 1
34706 1766801 : pack_tmp = packed_data(ipack)
34707 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34708 1766801 : pack_tmp = ISHFT(pack_tmp, -12)
34709 1766801 : idata = idata + 1
34710 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34711 1766801 : full_data(idata) = data_tmp
34712 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34713 1766801 : idata = idata + 1
34714 1766801 : data_tmp = ISHFT(pack_tmp, 36)
34715 1766801 : ipack = ipack + 1
34716 1766801 : pack_tmp = packed_data(ipack)
34717 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34718 1766801 : pack_tmp = ISHFT(pack_tmp, -36)
34719 1766801 : idata = idata + 1
34720 1766801 : data_tmp = ISHFT(pack_tmp, 16)
34721 1766801 : ipack = ipack + 1
34722 1766801 : pack_tmp = packed_data(ipack)
34723 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34724 1766801 : pack_tmp = ISHFT(pack_tmp, -16)
34725 1766801 : idata = idata + 1
34726 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34727 1766801 : full_data(idata) = data_tmp
34728 1766801 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34729 1766801 : idata = idata + 1
34730 1766801 : data_tmp = ISHFT(pack_tmp, 40)
34731 1766801 : ipack = ipack + 1
34732 1766801 : pack_tmp = packed_data(ipack)
34733 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34734 1766801 : pack_tmp = ISHFT(pack_tmp, -40)
34735 1766801 : idata = idata + 1
34736 1766801 : data_tmp = ISHFT(pack_tmp, 20)
34737 1766801 : ipack = ipack + 1
34738 1766801 : pack_tmp = packed_data(ipack)
34739 1766801 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34740 1766801 : pack_tmp = ISHFT(pack_tmp, -20)
34741 1766801 : idata = idata + 1
34742 1766801 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34743 1766801 : full_data(idata) = data_tmp
34744 1767053 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34745 : END DO
34746 123361 : IF (Ndata_rep < Ndata) THEN
34747 24350 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34748 : END IF
34749 123361 : END SUBROUTINE bits2ints_44
34750 :
34751 : ! **************************************************************************************************
34752 : !> \brief ...
34753 : !> \param Ndata ...
34754 : !> \param packed_data ...
34755 : !> \param full_data ...
34756 : ! **************************************************************************************************
34757 29149 : 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 29149 : idata = 0
34768 29149 : ipack = 0
34769 29149 : Ndata_rep = (Ndata/64)*64
34770 29149 : DO kdata = 1, Ndata_rep, 64
34771 424003 : pack_tmp = 0
34772 424003 : idata = idata + 1
34773 424003 : data_tmp = full_data(idata)
34774 424003 : data_tmp = ISHFT(data_tmp, 19)
34775 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34776 424003 : pack_tmp = ISHFT(pack_tmp, -19)
34777 424003 : idata = idata + 1
34778 424003 : data_tmp = full_data(idata)
34779 424003 : data_tmp = ISHFT(data_tmp, 19)
34780 424003 : data_tmp = IAND(data_tmp, mask_left(19))
34781 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34782 424003 : ipack = ipack + 1
34783 424003 : packed_data(ipack) = pack_tmp
34784 424003 : data_tmp = full_data(idata)
34785 424003 : pack_tmp = ISHFT(data_tmp, 38)
34786 424003 : pack_tmp = ISHFT(pack_tmp, -38)
34787 424003 : idata = idata + 1
34788 424003 : data_tmp = full_data(idata)
34789 424003 : data_tmp = ISHFT(data_tmp, 19)
34790 424003 : data_tmp = IAND(data_tmp, mask_left(38))
34791 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34792 424003 : ipack = ipack + 1
34793 424003 : packed_data(ipack) = pack_tmp
34794 424003 : data_tmp = full_data(idata)
34795 424003 : pack_tmp = ISHFT(data_tmp, 57)
34796 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34797 424003 : idata = idata + 1
34798 424003 : data_tmp = full_data(idata)
34799 424003 : data_tmp = ISHFT(data_tmp, 19)
34800 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34801 424003 : pack_tmp = ISHFT(pack_tmp, -12)
34802 424003 : idata = idata + 1
34803 424003 : data_tmp = full_data(idata)
34804 424003 : data_tmp = ISHFT(data_tmp, 19)
34805 424003 : data_tmp = IAND(data_tmp, mask_left(12))
34806 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34807 424003 : ipack = ipack + 1
34808 424003 : packed_data(ipack) = pack_tmp
34809 424003 : data_tmp = full_data(idata)
34810 424003 : pack_tmp = ISHFT(data_tmp, 31)
34811 424003 : pack_tmp = ISHFT(pack_tmp, -31)
34812 424003 : idata = idata + 1
34813 424003 : data_tmp = full_data(idata)
34814 424003 : data_tmp = ISHFT(data_tmp, 19)
34815 424003 : data_tmp = IAND(data_tmp, mask_left(31))
34816 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34817 424003 : ipack = ipack + 1
34818 424003 : packed_data(ipack) = pack_tmp
34819 424003 : data_tmp = full_data(idata)
34820 424003 : pack_tmp = ISHFT(data_tmp, 50)
34821 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34822 424003 : idata = idata + 1
34823 424003 : data_tmp = full_data(idata)
34824 424003 : data_tmp = ISHFT(data_tmp, 19)
34825 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34826 424003 : pack_tmp = ISHFT(pack_tmp, -5)
34827 424003 : idata = idata + 1
34828 424003 : data_tmp = full_data(idata)
34829 424003 : data_tmp = ISHFT(data_tmp, 19)
34830 424003 : data_tmp = IAND(data_tmp, mask_left(5))
34831 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34832 424003 : ipack = ipack + 1
34833 424003 : packed_data(ipack) = pack_tmp
34834 424003 : data_tmp = full_data(idata)
34835 424003 : pack_tmp = ISHFT(data_tmp, 24)
34836 424003 : pack_tmp = ISHFT(pack_tmp, -24)
34837 424003 : idata = idata + 1
34838 424003 : data_tmp = full_data(idata)
34839 424003 : data_tmp = ISHFT(data_tmp, 19)
34840 424003 : data_tmp = IAND(data_tmp, mask_left(24))
34841 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34842 424003 : ipack = ipack + 1
34843 424003 : packed_data(ipack) = pack_tmp
34844 424003 : data_tmp = full_data(idata)
34845 424003 : pack_tmp = ISHFT(data_tmp, 43)
34846 424003 : pack_tmp = ISHFT(pack_tmp, -43)
34847 424003 : idata = idata + 1
34848 424003 : data_tmp = full_data(idata)
34849 424003 : data_tmp = ISHFT(data_tmp, 19)
34850 424003 : data_tmp = IAND(data_tmp, mask_left(43))
34851 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34852 424003 : ipack = ipack + 1
34853 424003 : packed_data(ipack) = pack_tmp
34854 424003 : data_tmp = full_data(idata)
34855 424003 : pack_tmp = ISHFT(data_tmp, 62)
34856 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34857 424003 : idata = idata + 1
34858 424003 : data_tmp = full_data(idata)
34859 424003 : data_tmp = ISHFT(data_tmp, 19)
34860 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34861 424003 : pack_tmp = ISHFT(pack_tmp, -17)
34862 424003 : idata = idata + 1
34863 424003 : data_tmp = full_data(idata)
34864 424003 : data_tmp = ISHFT(data_tmp, 19)
34865 424003 : data_tmp = IAND(data_tmp, mask_left(17))
34866 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34867 424003 : ipack = ipack + 1
34868 424003 : packed_data(ipack) = pack_tmp
34869 424003 : data_tmp = full_data(idata)
34870 424003 : pack_tmp = ISHFT(data_tmp, 36)
34871 424003 : pack_tmp = ISHFT(pack_tmp, -36)
34872 424003 : idata = idata + 1
34873 424003 : data_tmp = full_data(idata)
34874 424003 : data_tmp = ISHFT(data_tmp, 19)
34875 424003 : data_tmp = IAND(data_tmp, mask_left(36))
34876 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34877 424003 : ipack = ipack + 1
34878 424003 : packed_data(ipack) = pack_tmp
34879 424003 : data_tmp = full_data(idata)
34880 424003 : pack_tmp = ISHFT(data_tmp, 55)
34881 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34882 424003 : idata = idata + 1
34883 424003 : data_tmp = full_data(idata)
34884 424003 : data_tmp = ISHFT(data_tmp, 19)
34885 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34886 424003 : pack_tmp = ISHFT(pack_tmp, -10)
34887 424003 : idata = idata + 1
34888 424003 : data_tmp = full_data(idata)
34889 424003 : data_tmp = ISHFT(data_tmp, 19)
34890 424003 : data_tmp = IAND(data_tmp, mask_left(10))
34891 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34892 424003 : ipack = ipack + 1
34893 424003 : packed_data(ipack) = pack_tmp
34894 424003 : data_tmp = full_data(idata)
34895 424003 : pack_tmp = ISHFT(data_tmp, 29)
34896 424003 : pack_tmp = ISHFT(pack_tmp, -29)
34897 424003 : idata = idata + 1
34898 424003 : data_tmp = full_data(idata)
34899 424003 : data_tmp = ISHFT(data_tmp, 19)
34900 424003 : data_tmp = IAND(data_tmp, mask_left(29))
34901 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34902 424003 : ipack = ipack + 1
34903 424003 : packed_data(ipack) = pack_tmp
34904 424003 : data_tmp = full_data(idata)
34905 424003 : pack_tmp = ISHFT(data_tmp, 48)
34906 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34907 424003 : idata = idata + 1
34908 424003 : data_tmp = full_data(idata)
34909 424003 : data_tmp = ISHFT(data_tmp, 19)
34910 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34911 424003 : pack_tmp = ISHFT(pack_tmp, -3)
34912 424003 : idata = idata + 1
34913 424003 : data_tmp = full_data(idata)
34914 424003 : data_tmp = ISHFT(data_tmp, 19)
34915 424003 : data_tmp = IAND(data_tmp, mask_left(3))
34916 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34917 424003 : ipack = ipack + 1
34918 424003 : packed_data(ipack) = pack_tmp
34919 424003 : data_tmp = full_data(idata)
34920 424003 : pack_tmp = ISHFT(data_tmp, 22)
34921 424003 : pack_tmp = ISHFT(pack_tmp, -22)
34922 424003 : idata = idata + 1
34923 424003 : data_tmp = full_data(idata)
34924 424003 : data_tmp = ISHFT(data_tmp, 19)
34925 424003 : data_tmp = IAND(data_tmp, mask_left(22))
34926 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34927 424003 : ipack = ipack + 1
34928 424003 : packed_data(ipack) = pack_tmp
34929 424003 : data_tmp = full_data(idata)
34930 424003 : pack_tmp = ISHFT(data_tmp, 41)
34931 424003 : pack_tmp = ISHFT(pack_tmp, -41)
34932 424003 : idata = idata + 1
34933 424003 : data_tmp = full_data(idata)
34934 424003 : data_tmp = ISHFT(data_tmp, 19)
34935 424003 : data_tmp = IAND(data_tmp, mask_left(41))
34936 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34937 424003 : ipack = ipack + 1
34938 424003 : packed_data(ipack) = pack_tmp
34939 424003 : data_tmp = full_data(idata)
34940 424003 : pack_tmp = ISHFT(data_tmp, 60)
34941 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34942 424003 : idata = idata + 1
34943 424003 : data_tmp = full_data(idata)
34944 424003 : data_tmp = ISHFT(data_tmp, 19)
34945 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34946 424003 : pack_tmp = ISHFT(pack_tmp, -15)
34947 424003 : idata = idata + 1
34948 424003 : data_tmp = full_data(idata)
34949 424003 : data_tmp = ISHFT(data_tmp, 19)
34950 424003 : data_tmp = IAND(data_tmp, mask_left(15))
34951 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34952 424003 : ipack = ipack + 1
34953 424003 : packed_data(ipack) = pack_tmp
34954 424003 : data_tmp = full_data(idata)
34955 424003 : pack_tmp = ISHFT(data_tmp, 34)
34956 424003 : pack_tmp = ISHFT(pack_tmp, -34)
34957 424003 : idata = idata + 1
34958 424003 : data_tmp = full_data(idata)
34959 424003 : data_tmp = ISHFT(data_tmp, 19)
34960 424003 : data_tmp = IAND(data_tmp, mask_left(34))
34961 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34962 424003 : ipack = ipack + 1
34963 424003 : packed_data(ipack) = pack_tmp
34964 424003 : data_tmp = full_data(idata)
34965 424003 : pack_tmp = ISHFT(data_tmp, 53)
34966 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34967 424003 : idata = idata + 1
34968 424003 : data_tmp = full_data(idata)
34969 424003 : data_tmp = ISHFT(data_tmp, 19)
34970 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34971 424003 : pack_tmp = ISHFT(pack_tmp, -8)
34972 424003 : idata = idata + 1
34973 424003 : data_tmp = full_data(idata)
34974 424003 : data_tmp = ISHFT(data_tmp, 19)
34975 424003 : data_tmp = IAND(data_tmp, mask_left(8))
34976 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34977 424003 : ipack = ipack + 1
34978 424003 : packed_data(ipack) = pack_tmp
34979 424003 : data_tmp = full_data(idata)
34980 424003 : pack_tmp = ISHFT(data_tmp, 27)
34981 424003 : pack_tmp = ISHFT(pack_tmp, -27)
34982 424003 : idata = idata + 1
34983 424003 : data_tmp = full_data(idata)
34984 424003 : data_tmp = ISHFT(data_tmp, 19)
34985 424003 : data_tmp = IAND(data_tmp, mask_left(27))
34986 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34987 424003 : ipack = ipack + 1
34988 424003 : packed_data(ipack) = pack_tmp
34989 424003 : data_tmp = full_data(idata)
34990 424003 : pack_tmp = ISHFT(data_tmp, 46)
34991 424003 : pack_tmp = ISHFT(pack_tmp, -45)
34992 424003 : idata = idata + 1
34993 424003 : data_tmp = full_data(idata)
34994 424003 : data_tmp = ISHFT(data_tmp, 19)
34995 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
34996 424003 : pack_tmp = ISHFT(pack_tmp, -1)
34997 424003 : idata = idata + 1
34998 424003 : data_tmp = full_data(idata)
34999 424003 : data_tmp = ISHFT(data_tmp, 19)
35000 424003 : data_tmp = IAND(data_tmp, mask_left(1))
35001 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35002 424003 : ipack = ipack + 1
35003 424003 : packed_data(ipack) = pack_tmp
35004 424003 : data_tmp = full_data(idata)
35005 424003 : pack_tmp = ISHFT(data_tmp, 20)
35006 424003 : pack_tmp = ISHFT(pack_tmp, -20)
35007 424003 : idata = idata + 1
35008 424003 : data_tmp = full_data(idata)
35009 424003 : data_tmp = ISHFT(data_tmp, 19)
35010 424003 : data_tmp = IAND(data_tmp, mask_left(20))
35011 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35012 424003 : ipack = ipack + 1
35013 424003 : packed_data(ipack) = pack_tmp
35014 424003 : data_tmp = full_data(idata)
35015 424003 : pack_tmp = ISHFT(data_tmp, 39)
35016 424003 : pack_tmp = ISHFT(pack_tmp, -39)
35017 424003 : idata = idata + 1
35018 424003 : data_tmp = full_data(idata)
35019 424003 : data_tmp = ISHFT(data_tmp, 19)
35020 424003 : data_tmp = IAND(data_tmp, mask_left(39))
35021 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35022 424003 : ipack = ipack + 1
35023 424003 : packed_data(ipack) = pack_tmp
35024 424003 : data_tmp = full_data(idata)
35025 424003 : pack_tmp = ISHFT(data_tmp, 58)
35026 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35027 424003 : idata = idata + 1
35028 424003 : data_tmp = full_data(idata)
35029 424003 : data_tmp = ISHFT(data_tmp, 19)
35030 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35031 424003 : pack_tmp = ISHFT(pack_tmp, -13)
35032 424003 : idata = idata + 1
35033 424003 : data_tmp = full_data(idata)
35034 424003 : data_tmp = ISHFT(data_tmp, 19)
35035 424003 : data_tmp = IAND(data_tmp, mask_left(13))
35036 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35037 424003 : ipack = ipack + 1
35038 424003 : packed_data(ipack) = pack_tmp
35039 424003 : data_tmp = full_data(idata)
35040 424003 : pack_tmp = ISHFT(data_tmp, 32)
35041 424003 : pack_tmp = ISHFT(pack_tmp, -32)
35042 424003 : idata = idata + 1
35043 424003 : data_tmp = full_data(idata)
35044 424003 : data_tmp = ISHFT(data_tmp, 19)
35045 424003 : data_tmp = IAND(data_tmp, mask_left(32))
35046 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35047 424003 : ipack = ipack + 1
35048 424003 : packed_data(ipack) = pack_tmp
35049 424003 : data_tmp = full_data(idata)
35050 424003 : pack_tmp = ISHFT(data_tmp, 51)
35051 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35052 424003 : idata = idata + 1
35053 424003 : data_tmp = full_data(idata)
35054 424003 : data_tmp = ISHFT(data_tmp, 19)
35055 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35056 424003 : pack_tmp = ISHFT(pack_tmp, -6)
35057 424003 : idata = idata + 1
35058 424003 : data_tmp = full_data(idata)
35059 424003 : data_tmp = ISHFT(data_tmp, 19)
35060 424003 : data_tmp = IAND(data_tmp, mask_left(6))
35061 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35062 424003 : ipack = ipack + 1
35063 424003 : packed_data(ipack) = pack_tmp
35064 424003 : data_tmp = full_data(idata)
35065 424003 : pack_tmp = ISHFT(data_tmp, 25)
35066 424003 : pack_tmp = ISHFT(pack_tmp, -25)
35067 424003 : idata = idata + 1
35068 424003 : data_tmp = full_data(idata)
35069 424003 : data_tmp = ISHFT(data_tmp, 19)
35070 424003 : data_tmp = IAND(data_tmp, mask_left(25))
35071 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35072 424003 : ipack = ipack + 1
35073 424003 : packed_data(ipack) = pack_tmp
35074 424003 : data_tmp = full_data(idata)
35075 424003 : pack_tmp = ISHFT(data_tmp, 44)
35076 424003 : pack_tmp = ISHFT(pack_tmp, -44)
35077 424003 : idata = idata + 1
35078 424003 : data_tmp = full_data(idata)
35079 424003 : data_tmp = ISHFT(data_tmp, 19)
35080 424003 : data_tmp = IAND(data_tmp, mask_left(44))
35081 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35082 424003 : ipack = ipack + 1
35083 424003 : packed_data(ipack) = pack_tmp
35084 424003 : data_tmp = full_data(idata)
35085 424003 : pack_tmp = ISHFT(data_tmp, 63)
35086 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35087 424003 : idata = idata + 1
35088 424003 : data_tmp = full_data(idata)
35089 424003 : data_tmp = ISHFT(data_tmp, 19)
35090 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35091 424003 : pack_tmp = ISHFT(pack_tmp, -18)
35092 424003 : idata = idata + 1
35093 424003 : data_tmp = full_data(idata)
35094 424003 : data_tmp = ISHFT(data_tmp, 19)
35095 424003 : data_tmp = IAND(data_tmp, mask_left(18))
35096 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35097 424003 : ipack = ipack + 1
35098 424003 : packed_data(ipack) = pack_tmp
35099 424003 : data_tmp = full_data(idata)
35100 424003 : pack_tmp = ISHFT(data_tmp, 37)
35101 424003 : pack_tmp = ISHFT(pack_tmp, -37)
35102 424003 : idata = idata + 1
35103 424003 : data_tmp = full_data(idata)
35104 424003 : data_tmp = ISHFT(data_tmp, 19)
35105 424003 : data_tmp = IAND(data_tmp, mask_left(37))
35106 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35107 424003 : ipack = ipack + 1
35108 424003 : packed_data(ipack) = pack_tmp
35109 424003 : data_tmp = full_data(idata)
35110 424003 : pack_tmp = ISHFT(data_tmp, 56)
35111 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35112 424003 : idata = idata + 1
35113 424003 : data_tmp = full_data(idata)
35114 424003 : data_tmp = ISHFT(data_tmp, 19)
35115 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35116 424003 : pack_tmp = ISHFT(pack_tmp, -11)
35117 424003 : idata = idata + 1
35118 424003 : data_tmp = full_data(idata)
35119 424003 : data_tmp = ISHFT(data_tmp, 19)
35120 424003 : data_tmp = IAND(data_tmp, mask_left(11))
35121 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35122 424003 : ipack = ipack + 1
35123 424003 : packed_data(ipack) = pack_tmp
35124 424003 : data_tmp = full_data(idata)
35125 424003 : pack_tmp = ISHFT(data_tmp, 30)
35126 424003 : pack_tmp = ISHFT(pack_tmp, -30)
35127 424003 : idata = idata + 1
35128 424003 : data_tmp = full_data(idata)
35129 424003 : data_tmp = ISHFT(data_tmp, 19)
35130 424003 : data_tmp = IAND(data_tmp, mask_left(30))
35131 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35132 424003 : ipack = ipack + 1
35133 424003 : packed_data(ipack) = pack_tmp
35134 424003 : data_tmp = full_data(idata)
35135 424003 : pack_tmp = ISHFT(data_tmp, 49)
35136 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35137 424003 : idata = idata + 1
35138 424003 : data_tmp = full_data(idata)
35139 424003 : data_tmp = ISHFT(data_tmp, 19)
35140 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35141 424003 : pack_tmp = ISHFT(pack_tmp, -4)
35142 424003 : idata = idata + 1
35143 424003 : data_tmp = full_data(idata)
35144 424003 : data_tmp = ISHFT(data_tmp, 19)
35145 424003 : data_tmp = IAND(data_tmp, mask_left(4))
35146 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35147 424003 : ipack = ipack + 1
35148 424003 : packed_data(ipack) = pack_tmp
35149 424003 : data_tmp = full_data(idata)
35150 424003 : pack_tmp = ISHFT(data_tmp, 23)
35151 424003 : pack_tmp = ISHFT(pack_tmp, -23)
35152 424003 : idata = idata + 1
35153 424003 : data_tmp = full_data(idata)
35154 424003 : data_tmp = ISHFT(data_tmp, 19)
35155 424003 : data_tmp = IAND(data_tmp, mask_left(23))
35156 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35157 424003 : ipack = ipack + 1
35158 424003 : packed_data(ipack) = pack_tmp
35159 424003 : data_tmp = full_data(idata)
35160 424003 : pack_tmp = ISHFT(data_tmp, 42)
35161 424003 : pack_tmp = ISHFT(pack_tmp, -42)
35162 424003 : idata = idata + 1
35163 424003 : data_tmp = full_data(idata)
35164 424003 : data_tmp = ISHFT(data_tmp, 19)
35165 424003 : data_tmp = IAND(data_tmp, mask_left(42))
35166 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35167 424003 : ipack = ipack + 1
35168 424003 : packed_data(ipack) = pack_tmp
35169 424003 : data_tmp = full_data(idata)
35170 424003 : pack_tmp = ISHFT(data_tmp, 61)
35171 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35172 424003 : idata = idata + 1
35173 424003 : data_tmp = full_data(idata)
35174 424003 : data_tmp = ISHFT(data_tmp, 19)
35175 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35176 424003 : pack_tmp = ISHFT(pack_tmp, -16)
35177 424003 : idata = idata + 1
35178 424003 : data_tmp = full_data(idata)
35179 424003 : data_tmp = ISHFT(data_tmp, 19)
35180 424003 : data_tmp = IAND(data_tmp, mask_left(16))
35181 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35182 424003 : ipack = ipack + 1
35183 424003 : packed_data(ipack) = pack_tmp
35184 424003 : data_tmp = full_data(idata)
35185 424003 : pack_tmp = ISHFT(data_tmp, 35)
35186 424003 : pack_tmp = ISHFT(pack_tmp, -35)
35187 424003 : idata = idata + 1
35188 424003 : data_tmp = full_data(idata)
35189 424003 : data_tmp = ISHFT(data_tmp, 19)
35190 424003 : data_tmp = IAND(data_tmp, mask_left(35))
35191 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35192 424003 : ipack = ipack + 1
35193 424003 : packed_data(ipack) = pack_tmp
35194 424003 : data_tmp = full_data(idata)
35195 424003 : pack_tmp = ISHFT(data_tmp, 54)
35196 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35197 424003 : idata = idata + 1
35198 424003 : data_tmp = full_data(idata)
35199 424003 : data_tmp = ISHFT(data_tmp, 19)
35200 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35201 424003 : pack_tmp = ISHFT(pack_tmp, -9)
35202 424003 : idata = idata + 1
35203 424003 : data_tmp = full_data(idata)
35204 424003 : data_tmp = ISHFT(data_tmp, 19)
35205 424003 : data_tmp = IAND(data_tmp, mask_left(9))
35206 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35207 424003 : ipack = ipack + 1
35208 424003 : packed_data(ipack) = pack_tmp
35209 424003 : data_tmp = full_data(idata)
35210 424003 : pack_tmp = ISHFT(data_tmp, 28)
35211 424003 : pack_tmp = ISHFT(pack_tmp, -28)
35212 424003 : idata = idata + 1
35213 424003 : data_tmp = full_data(idata)
35214 424003 : data_tmp = ISHFT(data_tmp, 19)
35215 424003 : data_tmp = IAND(data_tmp, mask_left(28))
35216 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35217 424003 : ipack = ipack + 1
35218 424003 : packed_data(ipack) = pack_tmp
35219 424003 : data_tmp = full_data(idata)
35220 424003 : pack_tmp = ISHFT(data_tmp, 47)
35221 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35222 424003 : idata = idata + 1
35223 424003 : data_tmp = full_data(idata)
35224 424003 : data_tmp = ISHFT(data_tmp, 19)
35225 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35226 424003 : pack_tmp = ISHFT(pack_tmp, -2)
35227 424003 : idata = idata + 1
35228 424003 : data_tmp = full_data(idata)
35229 424003 : data_tmp = ISHFT(data_tmp, 19)
35230 424003 : data_tmp = IAND(data_tmp, mask_left(2))
35231 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35232 424003 : ipack = ipack + 1
35233 424003 : packed_data(ipack) = pack_tmp
35234 424003 : data_tmp = full_data(idata)
35235 424003 : pack_tmp = ISHFT(data_tmp, 21)
35236 424003 : pack_tmp = ISHFT(pack_tmp, -21)
35237 424003 : idata = idata + 1
35238 424003 : data_tmp = full_data(idata)
35239 424003 : data_tmp = ISHFT(data_tmp, 19)
35240 424003 : data_tmp = IAND(data_tmp, mask_left(21))
35241 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35242 424003 : ipack = ipack + 1
35243 424003 : packed_data(ipack) = pack_tmp
35244 424003 : data_tmp = full_data(idata)
35245 424003 : pack_tmp = ISHFT(data_tmp, 40)
35246 424003 : pack_tmp = ISHFT(pack_tmp, -40)
35247 424003 : idata = idata + 1
35248 424003 : data_tmp = full_data(idata)
35249 424003 : data_tmp = ISHFT(data_tmp, 19)
35250 424003 : data_tmp = IAND(data_tmp, mask_left(40))
35251 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35252 424003 : ipack = ipack + 1
35253 424003 : packed_data(ipack) = pack_tmp
35254 424003 : data_tmp = full_data(idata)
35255 424003 : pack_tmp = ISHFT(data_tmp, 59)
35256 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35257 424003 : idata = idata + 1
35258 424003 : data_tmp = full_data(idata)
35259 424003 : data_tmp = ISHFT(data_tmp, 19)
35260 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35261 424003 : pack_tmp = ISHFT(pack_tmp, -14)
35262 424003 : idata = idata + 1
35263 424003 : data_tmp = full_data(idata)
35264 424003 : data_tmp = ISHFT(data_tmp, 19)
35265 424003 : data_tmp = IAND(data_tmp, mask_left(14))
35266 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35267 424003 : ipack = ipack + 1
35268 424003 : packed_data(ipack) = pack_tmp
35269 424003 : data_tmp = full_data(idata)
35270 424003 : pack_tmp = ISHFT(data_tmp, 33)
35271 424003 : pack_tmp = ISHFT(pack_tmp, -33)
35272 424003 : idata = idata + 1
35273 424003 : data_tmp = full_data(idata)
35274 424003 : data_tmp = ISHFT(data_tmp, 19)
35275 424003 : data_tmp = IAND(data_tmp, mask_left(33))
35276 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35277 424003 : ipack = ipack + 1
35278 424003 : packed_data(ipack) = pack_tmp
35279 424003 : data_tmp = full_data(idata)
35280 424003 : pack_tmp = ISHFT(data_tmp, 52)
35281 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35282 424003 : idata = idata + 1
35283 424003 : data_tmp = full_data(idata)
35284 424003 : data_tmp = ISHFT(data_tmp, 19)
35285 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35286 424003 : pack_tmp = ISHFT(pack_tmp, -7)
35287 424003 : idata = idata + 1
35288 424003 : data_tmp = full_data(idata)
35289 424003 : data_tmp = ISHFT(data_tmp, 19)
35290 424003 : data_tmp = IAND(data_tmp, mask_left(7))
35291 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35292 424003 : ipack = ipack + 1
35293 424003 : packed_data(ipack) = pack_tmp
35294 424003 : data_tmp = full_data(idata)
35295 424003 : pack_tmp = ISHFT(data_tmp, 26)
35296 424003 : pack_tmp = ISHFT(pack_tmp, -26)
35297 424003 : idata = idata + 1
35298 424003 : data_tmp = full_data(idata)
35299 424003 : data_tmp = ISHFT(data_tmp, 19)
35300 424003 : data_tmp = IAND(data_tmp, mask_left(26))
35301 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35302 424003 : ipack = ipack + 1
35303 424003 : packed_data(ipack) = pack_tmp
35304 424003 : data_tmp = full_data(idata)
35305 424003 : pack_tmp = ISHFT(data_tmp, 45)
35306 424003 : pack_tmp = ISHFT(pack_tmp, -45)
35307 424003 : idata = idata + 1
35308 424003 : data_tmp = full_data(idata)
35309 424003 : data_tmp = ISHFT(data_tmp, 19)
35310 424003 : pack_tmp = IOR(pack_tmp, data_tmp)
35311 : pack_tmp = ISHFT(pack_tmp, 0)
35312 424003 : pack_tmp = ISHFT(pack_tmp, 0)
35313 424003 : ipack = ipack + 1
35314 424054 : packed_data(ipack) = pack_tmp
35315 : END DO
35316 29149 : IF (Ndata_rep < Ndata) THEN
35317 4986 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35318 : END IF
35319 29149 : END SUBROUTINE ints2bits_45
35320 :
35321 : ! **************************************************************************************************
35322 : !> \brief ...
35323 : !> \param Ndata ...
35324 : !> \param packed_data ...
35325 : !> \param full_data ...
35326 : ! **************************************************************************************************
35327 132071 : 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 132071 : ipack = 0
35338 132071 : idata = 0
35339 132071 : pack_tmp = 0
35340 132071 : Ndata_rep = (Ndata/64)*64
35341 132071 : DO kdata = 1, Ndata_rep, 64
35342 1845658 : idata = idata + 1
35343 1845658 : data_tmp = ISHFT(pack_tmp, 45)
35344 1845658 : ipack = ipack + 1
35345 1845658 : pack_tmp = packed_data(ipack)
35346 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
35347 1845658 : pack_tmp = ISHFT(pack_tmp, -45)
35348 1845658 : idata = idata + 1
35349 1845658 : data_tmp = ISHFT(pack_tmp, 26)
35350 1845658 : ipack = ipack + 1
35351 1845658 : pack_tmp = packed_data(ipack)
35352 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
35353 1845658 : pack_tmp = ISHFT(pack_tmp, -26)
35354 1845658 : idata = idata + 1
35355 1845658 : data_tmp = ISHFT(pack_tmp, 7)
35356 1845658 : ipack = ipack + 1
35357 1845658 : pack_tmp = packed_data(ipack)
35358 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
35359 1845658 : pack_tmp = ISHFT(pack_tmp, -7)
35360 1845658 : idata = idata + 1
35361 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35362 1845658 : full_data(idata) = data_tmp
35363 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35364 1845658 : idata = idata + 1
35365 1845658 : data_tmp = ISHFT(pack_tmp, 33)
35366 1845658 : ipack = ipack + 1
35367 1845658 : pack_tmp = packed_data(ipack)
35368 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
35369 1845658 : pack_tmp = ISHFT(pack_tmp, -33)
35370 1845658 : idata = idata + 1
35371 1845658 : data_tmp = ISHFT(pack_tmp, 14)
35372 1845658 : ipack = ipack + 1
35373 1845658 : pack_tmp = packed_data(ipack)
35374 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
35375 1845658 : pack_tmp = ISHFT(pack_tmp, -14)
35376 1845658 : idata = idata + 1
35377 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35378 1845658 : full_data(idata) = data_tmp
35379 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35380 1845658 : idata = idata + 1
35381 1845658 : data_tmp = ISHFT(pack_tmp, 40)
35382 1845658 : ipack = ipack + 1
35383 1845658 : pack_tmp = packed_data(ipack)
35384 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
35385 1845658 : pack_tmp = ISHFT(pack_tmp, -40)
35386 1845658 : idata = idata + 1
35387 1845658 : data_tmp = ISHFT(pack_tmp, 21)
35388 1845658 : ipack = ipack + 1
35389 1845658 : pack_tmp = packed_data(ipack)
35390 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
35391 1845658 : pack_tmp = ISHFT(pack_tmp, -21)
35392 1845658 : idata = idata + 1
35393 1845658 : data_tmp = ISHFT(pack_tmp, 2)
35394 1845658 : ipack = ipack + 1
35395 1845658 : pack_tmp = packed_data(ipack)
35396 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
35397 1845658 : pack_tmp = ISHFT(pack_tmp, -2)
35398 1845658 : idata = idata + 1
35399 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35400 1845658 : full_data(idata) = data_tmp
35401 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35402 1845658 : idata = idata + 1
35403 1845658 : data_tmp = ISHFT(pack_tmp, 28)
35404 1845658 : ipack = ipack + 1
35405 1845658 : pack_tmp = packed_data(ipack)
35406 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
35407 1845658 : pack_tmp = ISHFT(pack_tmp, -28)
35408 1845658 : idata = idata + 1
35409 1845658 : data_tmp = ISHFT(pack_tmp, 9)
35410 1845658 : ipack = ipack + 1
35411 1845658 : pack_tmp = packed_data(ipack)
35412 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
35413 1845658 : pack_tmp = ISHFT(pack_tmp, -9)
35414 1845658 : idata = idata + 1
35415 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35416 1845658 : full_data(idata) = data_tmp
35417 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35418 1845658 : idata = idata + 1
35419 1845658 : data_tmp = ISHFT(pack_tmp, 35)
35420 1845658 : ipack = ipack + 1
35421 1845658 : pack_tmp = packed_data(ipack)
35422 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
35423 1845658 : pack_tmp = ISHFT(pack_tmp, -35)
35424 1845658 : idata = idata + 1
35425 1845658 : data_tmp = ISHFT(pack_tmp, 16)
35426 1845658 : ipack = ipack + 1
35427 1845658 : pack_tmp = packed_data(ipack)
35428 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
35429 1845658 : pack_tmp = ISHFT(pack_tmp, -16)
35430 1845658 : idata = idata + 1
35431 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35432 1845658 : full_data(idata) = data_tmp
35433 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35434 1845658 : idata = idata + 1
35435 1845658 : data_tmp = ISHFT(pack_tmp, 42)
35436 1845658 : ipack = ipack + 1
35437 1845658 : pack_tmp = packed_data(ipack)
35438 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
35439 1845658 : pack_tmp = ISHFT(pack_tmp, -42)
35440 1845658 : idata = idata + 1
35441 1845658 : data_tmp = ISHFT(pack_tmp, 23)
35442 1845658 : ipack = ipack + 1
35443 1845658 : pack_tmp = packed_data(ipack)
35444 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
35445 1845658 : pack_tmp = ISHFT(pack_tmp, -23)
35446 1845658 : idata = idata + 1
35447 1845658 : data_tmp = ISHFT(pack_tmp, 4)
35448 1845658 : ipack = ipack + 1
35449 1845658 : pack_tmp = packed_data(ipack)
35450 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
35451 1845658 : pack_tmp = ISHFT(pack_tmp, -4)
35452 1845658 : idata = idata + 1
35453 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35454 1845658 : full_data(idata) = data_tmp
35455 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35456 1845658 : idata = idata + 1
35457 1845658 : data_tmp = ISHFT(pack_tmp, 30)
35458 1845658 : ipack = ipack + 1
35459 1845658 : pack_tmp = packed_data(ipack)
35460 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
35461 1845658 : pack_tmp = ISHFT(pack_tmp, -30)
35462 1845658 : idata = idata + 1
35463 1845658 : data_tmp = ISHFT(pack_tmp, 11)
35464 1845658 : ipack = ipack + 1
35465 1845658 : pack_tmp = packed_data(ipack)
35466 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
35467 1845658 : pack_tmp = ISHFT(pack_tmp, -11)
35468 1845658 : idata = idata + 1
35469 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35470 1845658 : full_data(idata) = data_tmp
35471 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35472 1845658 : idata = idata + 1
35473 1845658 : data_tmp = ISHFT(pack_tmp, 37)
35474 1845658 : ipack = ipack + 1
35475 1845658 : pack_tmp = packed_data(ipack)
35476 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
35477 1845658 : pack_tmp = ISHFT(pack_tmp, -37)
35478 1845658 : idata = idata + 1
35479 1845658 : data_tmp = ISHFT(pack_tmp, 18)
35480 1845658 : ipack = ipack + 1
35481 1845658 : pack_tmp = packed_data(ipack)
35482 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
35483 1845658 : pack_tmp = ISHFT(pack_tmp, -18)
35484 1845658 : idata = idata + 1
35485 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35486 1845658 : full_data(idata) = data_tmp
35487 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35488 1845658 : idata = idata + 1
35489 1845658 : data_tmp = ISHFT(pack_tmp, 44)
35490 1845658 : ipack = ipack + 1
35491 1845658 : pack_tmp = packed_data(ipack)
35492 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
35493 1845658 : pack_tmp = ISHFT(pack_tmp, -44)
35494 1845658 : idata = idata + 1
35495 1845658 : data_tmp = ISHFT(pack_tmp, 25)
35496 1845658 : ipack = ipack + 1
35497 1845658 : pack_tmp = packed_data(ipack)
35498 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
35499 1845658 : pack_tmp = ISHFT(pack_tmp, -25)
35500 1845658 : idata = idata + 1
35501 1845658 : data_tmp = ISHFT(pack_tmp, 6)
35502 1845658 : ipack = ipack + 1
35503 1845658 : pack_tmp = packed_data(ipack)
35504 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
35505 1845658 : pack_tmp = ISHFT(pack_tmp, -6)
35506 1845658 : idata = idata + 1
35507 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35508 1845658 : full_data(idata) = data_tmp
35509 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35510 1845658 : idata = idata + 1
35511 1845658 : data_tmp = ISHFT(pack_tmp, 32)
35512 1845658 : ipack = ipack + 1
35513 1845658 : pack_tmp = packed_data(ipack)
35514 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
35515 1845658 : pack_tmp = ISHFT(pack_tmp, -32)
35516 1845658 : idata = idata + 1
35517 1845658 : data_tmp = ISHFT(pack_tmp, 13)
35518 1845658 : ipack = ipack + 1
35519 1845658 : pack_tmp = packed_data(ipack)
35520 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
35521 1845658 : pack_tmp = ISHFT(pack_tmp, -13)
35522 1845658 : idata = idata + 1
35523 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35524 1845658 : full_data(idata) = data_tmp
35525 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35526 1845658 : idata = idata + 1
35527 1845658 : data_tmp = ISHFT(pack_tmp, 39)
35528 1845658 : ipack = ipack + 1
35529 1845658 : pack_tmp = packed_data(ipack)
35530 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
35531 1845658 : pack_tmp = ISHFT(pack_tmp, -39)
35532 1845658 : idata = idata + 1
35533 1845658 : data_tmp = ISHFT(pack_tmp, 20)
35534 1845658 : ipack = ipack + 1
35535 1845658 : pack_tmp = packed_data(ipack)
35536 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
35537 1845658 : pack_tmp = ISHFT(pack_tmp, -20)
35538 1845658 : idata = idata + 1
35539 1845658 : data_tmp = ISHFT(pack_tmp, 1)
35540 1845658 : ipack = ipack + 1
35541 1845658 : pack_tmp = packed_data(ipack)
35542 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
35543 1845658 : pack_tmp = ISHFT(pack_tmp, -1)
35544 1845658 : idata = idata + 1
35545 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35546 1845658 : full_data(idata) = data_tmp
35547 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35548 1845658 : idata = idata + 1
35549 1845658 : data_tmp = ISHFT(pack_tmp, 27)
35550 1845658 : ipack = ipack + 1
35551 1845658 : pack_tmp = packed_data(ipack)
35552 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
35553 1845658 : pack_tmp = ISHFT(pack_tmp, -27)
35554 1845658 : idata = idata + 1
35555 1845658 : data_tmp = ISHFT(pack_tmp, 8)
35556 1845658 : ipack = ipack + 1
35557 1845658 : pack_tmp = packed_data(ipack)
35558 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
35559 1845658 : pack_tmp = ISHFT(pack_tmp, -8)
35560 1845658 : idata = idata + 1
35561 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35562 1845658 : full_data(idata) = data_tmp
35563 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35564 1845658 : idata = idata + 1
35565 1845658 : data_tmp = ISHFT(pack_tmp, 34)
35566 1845658 : ipack = ipack + 1
35567 1845658 : pack_tmp = packed_data(ipack)
35568 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
35569 1845658 : pack_tmp = ISHFT(pack_tmp, -34)
35570 1845658 : idata = idata + 1
35571 1845658 : data_tmp = ISHFT(pack_tmp, 15)
35572 1845658 : ipack = ipack + 1
35573 1845658 : pack_tmp = packed_data(ipack)
35574 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
35575 1845658 : pack_tmp = ISHFT(pack_tmp, -15)
35576 1845658 : idata = idata + 1
35577 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35578 1845658 : full_data(idata) = data_tmp
35579 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35580 1845658 : idata = idata + 1
35581 1845658 : data_tmp = ISHFT(pack_tmp, 41)
35582 1845658 : ipack = ipack + 1
35583 1845658 : pack_tmp = packed_data(ipack)
35584 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
35585 1845658 : pack_tmp = ISHFT(pack_tmp, -41)
35586 1845658 : idata = idata + 1
35587 1845658 : data_tmp = ISHFT(pack_tmp, 22)
35588 1845658 : ipack = ipack + 1
35589 1845658 : pack_tmp = packed_data(ipack)
35590 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
35591 1845658 : pack_tmp = ISHFT(pack_tmp, -22)
35592 1845658 : idata = idata + 1
35593 1845658 : data_tmp = ISHFT(pack_tmp, 3)
35594 1845658 : ipack = ipack + 1
35595 1845658 : pack_tmp = packed_data(ipack)
35596 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
35597 1845658 : pack_tmp = ISHFT(pack_tmp, -3)
35598 1845658 : idata = idata + 1
35599 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35600 1845658 : full_data(idata) = data_tmp
35601 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35602 1845658 : idata = idata + 1
35603 1845658 : data_tmp = ISHFT(pack_tmp, 29)
35604 1845658 : ipack = ipack + 1
35605 1845658 : pack_tmp = packed_data(ipack)
35606 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
35607 1845658 : pack_tmp = ISHFT(pack_tmp, -29)
35608 1845658 : idata = idata + 1
35609 1845658 : data_tmp = ISHFT(pack_tmp, 10)
35610 1845658 : ipack = ipack + 1
35611 1845658 : pack_tmp = packed_data(ipack)
35612 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
35613 1845658 : pack_tmp = ISHFT(pack_tmp, -10)
35614 1845658 : idata = idata + 1
35615 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35616 1845658 : full_data(idata) = data_tmp
35617 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35618 1845658 : idata = idata + 1
35619 1845658 : data_tmp = ISHFT(pack_tmp, 36)
35620 1845658 : ipack = ipack + 1
35621 1845658 : pack_tmp = packed_data(ipack)
35622 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
35623 1845658 : pack_tmp = ISHFT(pack_tmp, -36)
35624 1845658 : idata = idata + 1
35625 1845658 : data_tmp = ISHFT(pack_tmp, 17)
35626 1845658 : ipack = ipack + 1
35627 1845658 : pack_tmp = packed_data(ipack)
35628 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
35629 1845658 : pack_tmp = ISHFT(pack_tmp, -17)
35630 1845658 : idata = idata + 1
35631 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35632 1845658 : full_data(idata) = data_tmp
35633 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35634 1845658 : idata = idata + 1
35635 1845658 : data_tmp = ISHFT(pack_tmp, 43)
35636 1845658 : ipack = ipack + 1
35637 1845658 : pack_tmp = packed_data(ipack)
35638 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
35639 1845658 : pack_tmp = ISHFT(pack_tmp, -43)
35640 1845658 : idata = idata + 1
35641 1845658 : data_tmp = ISHFT(pack_tmp, 24)
35642 1845658 : ipack = ipack + 1
35643 1845658 : pack_tmp = packed_data(ipack)
35644 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
35645 1845658 : pack_tmp = ISHFT(pack_tmp, -24)
35646 1845658 : idata = idata + 1
35647 1845658 : data_tmp = ISHFT(pack_tmp, 5)
35648 1845658 : ipack = ipack + 1
35649 1845658 : pack_tmp = packed_data(ipack)
35650 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
35651 1845658 : pack_tmp = ISHFT(pack_tmp, -5)
35652 1845658 : idata = idata + 1
35653 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35654 1845658 : full_data(idata) = data_tmp
35655 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35656 1845658 : idata = idata + 1
35657 1845658 : data_tmp = ISHFT(pack_tmp, 31)
35658 1845658 : ipack = ipack + 1
35659 1845658 : pack_tmp = packed_data(ipack)
35660 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
35661 1845658 : pack_tmp = ISHFT(pack_tmp, -31)
35662 1845658 : idata = idata + 1
35663 1845658 : data_tmp = ISHFT(pack_tmp, 12)
35664 1845658 : ipack = ipack + 1
35665 1845658 : pack_tmp = packed_data(ipack)
35666 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
35667 1845658 : pack_tmp = ISHFT(pack_tmp, -12)
35668 1845658 : idata = idata + 1
35669 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35670 1845658 : full_data(idata) = data_tmp
35671 1845658 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35672 1845658 : idata = idata + 1
35673 1845658 : data_tmp = ISHFT(pack_tmp, 38)
35674 1845658 : ipack = ipack + 1
35675 1845658 : pack_tmp = packed_data(ipack)
35676 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
35677 1845658 : pack_tmp = ISHFT(pack_tmp, -38)
35678 1845658 : idata = idata + 1
35679 1845658 : data_tmp = ISHFT(pack_tmp, 19)
35680 1845658 : ipack = ipack + 1
35681 1845658 : pack_tmp = packed_data(ipack)
35682 1845658 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
35683 1845658 : pack_tmp = ISHFT(pack_tmp, -19)
35684 1845658 : idata = idata + 1
35685 1845658 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35686 1845658 : full_data(idata) = data_tmp
35687 1846634 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35688 : END DO
35689 132071 : IF (Ndata_rep < Ndata) THEN
35690 31468 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35691 : END IF
35692 132071 : END SUBROUTINE bits2ints_45
35693 :
35694 : ! **************************************************************************************************
35695 : !> \brief ...
35696 : !> \param Ndata ...
35697 : !> \param packed_data ...
35698 : !> \param full_data ...
35699 : ! **************************************************************************************************
35700 28680 : 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 28680 : idata = 0
35711 28680 : ipack = 0
35712 28680 : Ndata_rep = (Ndata/64)*64
35713 28680 : DO kdata = 1, Ndata_rep, 64
35714 419167 : pack_tmp = 0
35715 419167 : idata = idata + 1
35716 419167 : data_tmp = full_data(idata)
35717 419167 : data_tmp = ISHFT(data_tmp, 18)
35718 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35719 419167 : pack_tmp = ISHFT(pack_tmp, -18)
35720 419167 : idata = idata + 1
35721 419167 : data_tmp = full_data(idata)
35722 419167 : data_tmp = ISHFT(data_tmp, 18)
35723 419167 : data_tmp = IAND(data_tmp, mask_left(18))
35724 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35725 419167 : ipack = ipack + 1
35726 419167 : packed_data(ipack) = pack_tmp
35727 419167 : data_tmp = full_data(idata)
35728 419167 : pack_tmp = ISHFT(data_tmp, 36)
35729 419167 : pack_tmp = ISHFT(pack_tmp, -36)
35730 419167 : idata = idata + 1
35731 419167 : data_tmp = full_data(idata)
35732 419167 : data_tmp = ISHFT(data_tmp, 18)
35733 419167 : data_tmp = IAND(data_tmp, mask_left(36))
35734 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35735 419167 : ipack = ipack + 1
35736 419167 : packed_data(ipack) = pack_tmp
35737 419167 : data_tmp = full_data(idata)
35738 419167 : pack_tmp = ISHFT(data_tmp, 54)
35739 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35740 419167 : idata = idata + 1
35741 419167 : data_tmp = full_data(idata)
35742 419167 : data_tmp = ISHFT(data_tmp, 18)
35743 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35744 419167 : pack_tmp = ISHFT(pack_tmp, -8)
35745 419167 : idata = idata + 1
35746 419167 : data_tmp = full_data(idata)
35747 419167 : data_tmp = ISHFT(data_tmp, 18)
35748 419167 : data_tmp = IAND(data_tmp, mask_left(8))
35749 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35750 419167 : ipack = ipack + 1
35751 419167 : packed_data(ipack) = pack_tmp
35752 419167 : data_tmp = full_data(idata)
35753 419167 : pack_tmp = ISHFT(data_tmp, 26)
35754 419167 : pack_tmp = ISHFT(pack_tmp, -26)
35755 419167 : idata = idata + 1
35756 419167 : data_tmp = full_data(idata)
35757 419167 : data_tmp = ISHFT(data_tmp, 18)
35758 419167 : data_tmp = IAND(data_tmp, mask_left(26))
35759 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35760 419167 : ipack = ipack + 1
35761 419167 : packed_data(ipack) = pack_tmp
35762 419167 : data_tmp = full_data(idata)
35763 419167 : pack_tmp = ISHFT(data_tmp, 44)
35764 419167 : pack_tmp = ISHFT(pack_tmp, -44)
35765 419167 : idata = idata + 1
35766 419167 : data_tmp = full_data(idata)
35767 419167 : data_tmp = ISHFT(data_tmp, 18)
35768 419167 : data_tmp = IAND(data_tmp, mask_left(44))
35769 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35770 419167 : ipack = ipack + 1
35771 419167 : packed_data(ipack) = pack_tmp
35772 419167 : data_tmp = full_data(idata)
35773 419167 : pack_tmp = ISHFT(data_tmp, 62)
35774 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35775 419167 : idata = idata + 1
35776 419167 : data_tmp = full_data(idata)
35777 419167 : data_tmp = ISHFT(data_tmp, 18)
35778 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35779 419167 : pack_tmp = ISHFT(pack_tmp, -16)
35780 419167 : idata = idata + 1
35781 419167 : data_tmp = full_data(idata)
35782 419167 : data_tmp = ISHFT(data_tmp, 18)
35783 419167 : data_tmp = IAND(data_tmp, mask_left(16))
35784 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35785 419167 : ipack = ipack + 1
35786 419167 : packed_data(ipack) = pack_tmp
35787 419167 : data_tmp = full_data(idata)
35788 419167 : pack_tmp = ISHFT(data_tmp, 34)
35789 419167 : pack_tmp = ISHFT(pack_tmp, -34)
35790 419167 : idata = idata + 1
35791 419167 : data_tmp = full_data(idata)
35792 419167 : data_tmp = ISHFT(data_tmp, 18)
35793 419167 : data_tmp = IAND(data_tmp, mask_left(34))
35794 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35795 419167 : ipack = ipack + 1
35796 419167 : packed_data(ipack) = pack_tmp
35797 419167 : data_tmp = full_data(idata)
35798 419167 : pack_tmp = ISHFT(data_tmp, 52)
35799 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35800 419167 : idata = idata + 1
35801 419167 : data_tmp = full_data(idata)
35802 419167 : data_tmp = ISHFT(data_tmp, 18)
35803 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35804 419167 : pack_tmp = ISHFT(pack_tmp, -6)
35805 419167 : idata = idata + 1
35806 419167 : data_tmp = full_data(idata)
35807 419167 : data_tmp = ISHFT(data_tmp, 18)
35808 419167 : data_tmp = IAND(data_tmp, mask_left(6))
35809 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35810 419167 : ipack = ipack + 1
35811 419167 : packed_data(ipack) = pack_tmp
35812 419167 : data_tmp = full_data(idata)
35813 419167 : pack_tmp = ISHFT(data_tmp, 24)
35814 419167 : pack_tmp = ISHFT(pack_tmp, -24)
35815 419167 : idata = idata + 1
35816 419167 : data_tmp = full_data(idata)
35817 419167 : data_tmp = ISHFT(data_tmp, 18)
35818 419167 : data_tmp = IAND(data_tmp, mask_left(24))
35819 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35820 419167 : ipack = ipack + 1
35821 419167 : packed_data(ipack) = pack_tmp
35822 419167 : data_tmp = full_data(idata)
35823 419167 : pack_tmp = ISHFT(data_tmp, 42)
35824 419167 : pack_tmp = ISHFT(pack_tmp, -42)
35825 419167 : idata = idata + 1
35826 419167 : data_tmp = full_data(idata)
35827 419167 : data_tmp = ISHFT(data_tmp, 18)
35828 419167 : data_tmp = IAND(data_tmp, mask_left(42))
35829 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35830 419167 : ipack = ipack + 1
35831 419167 : packed_data(ipack) = pack_tmp
35832 419167 : data_tmp = full_data(idata)
35833 419167 : pack_tmp = ISHFT(data_tmp, 60)
35834 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35835 419167 : idata = idata + 1
35836 419167 : data_tmp = full_data(idata)
35837 419167 : data_tmp = ISHFT(data_tmp, 18)
35838 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35839 419167 : pack_tmp = ISHFT(pack_tmp, -14)
35840 419167 : idata = idata + 1
35841 419167 : data_tmp = full_data(idata)
35842 419167 : data_tmp = ISHFT(data_tmp, 18)
35843 419167 : data_tmp = IAND(data_tmp, mask_left(14))
35844 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35845 419167 : ipack = ipack + 1
35846 419167 : packed_data(ipack) = pack_tmp
35847 419167 : data_tmp = full_data(idata)
35848 419167 : pack_tmp = ISHFT(data_tmp, 32)
35849 419167 : pack_tmp = ISHFT(pack_tmp, -32)
35850 419167 : idata = idata + 1
35851 419167 : data_tmp = full_data(idata)
35852 419167 : data_tmp = ISHFT(data_tmp, 18)
35853 419167 : data_tmp = IAND(data_tmp, mask_left(32))
35854 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35855 419167 : ipack = ipack + 1
35856 419167 : packed_data(ipack) = pack_tmp
35857 419167 : data_tmp = full_data(idata)
35858 419167 : pack_tmp = ISHFT(data_tmp, 50)
35859 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35860 419167 : idata = idata + 1
35861 419167 : data_tmp = full_data(idata)
35862 419167 : data_tmp = ISHFT(data_tmp, 18)
35863 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35864 419167 : pack_tmp = ISHFT(pack_tmp, -4)
35865 419167 : idata = idata + 1
35866 419167 : data_tmp = full_data(idata)
35867 419167 : data_tmp = ISHFT(data_tmp, 18)
35868 419167 : data_tmp = IAND(data_tmp, mask_left(4))
35869 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35870 419167 : ipack = ipack + 1
35871 419167 : packed_data(ipack) = pack_tmp
35872 419167 : data_tmp = full_data(idata)
35873 419167 : pack_tmp = ISHFT(data_tmp, 22)
35874 419167 : pack_tmp = ISHFT(pack_tmp, -22)
35875 419167 : idata = idata + 1
35876 419167 : data_tmp = full_data(idata)
35877 419167 : data_tmp = ISHFT(data_tmp, 18)
35878 419167 : data_tmp = IAND(data_tmp, mask_left(22))
35879 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35880 419167 : ipack = ipack + 1
35881 419167 : packed_data(ipack) = pack_tmp
35882 419167 : data_tmp = full_data(idata)
35883 419167 : pack_tmp = ISHFT(data_tmp, 40)
35884 419167 : pack_tmp = ISHFT(pack_tmp, -40)
35885 419167 : idata = idata + 1
35886 419167 : data_tmp = full_data(idata)
35887 419167 : data_tmp = ISHFT(data_tmp, 18)
35888 419167 : data_tmp = IAND(data_tmp, mask_left(40))
35889 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35890 419167 : ipack = ipack + 1
35891 419167 : packed_data(ipack) = pack_tmp
35892 419167 : data_tmp = full_data(idata)
35893 419167 : pack_tmp = ISHFT(data_tmp, 58)
35894 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35895 419167 : idata = idata + 1
35896 419167 : data_tmp = full_data(idata)
35897 419167 : data_tmp = ISHFT(data_tmp, 18)
35898 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35899 419167 : pack_tmp = ISHFT(pack_tmp, -12)
35900 419167 : idata = idata + 1
35901 419167 : data_tmp = full_data(idata)
35902 419167 : data_tmp = ISHFT(data_tmp, 18)
35903 419167 : data_tmp = IAND(data_tmp, mask_left(12))
35904 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35905 419167 : ipack = ipack + 1
35906 419167 : packed_data(ipack) = pack_tmp
35907 419167 : data_tmp = full_data(idata)
35908 419167 : pack_tmp = ISHFT(data_tmp, 30)
35909 419167 : pack_tmp = ISHFT(pack_tmp, -30)
35910 419167 : idata = idata + 1
35911 419167 : data_tmp = full_data(idata)
35912 419167 : data_tmp = ISHFT(data_tmp, 18)
35913 419167 : data_tmp = IAND(data_tmp, mask_left(30))
35914 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35915 419167 : ipack = ipack + 1
35916 419167 : packed_data(ipack) = pack_tmp
35917 419167 : data_tmp = full_data(idata)
35918 419167 : pack_tmp = ISHFT(data_tmp, 48)
35919 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35920 419167 : idata = idata + 1
35921 419167 : data_tmp = full_data(idata)
35922 419167 : data_tmp = ISHFT(data_tmp, 18)
35923 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35924 419167 : pack_tmp = ISHFT(pack_tmp, -2)
35925 419167 : idata = idata + 1
35926 419167 : data_tmp = full_data(idata)
35927 419167 : data_tmp = ISHFT(data_tmp, 18)
35928 419167 : data_tmp = IAND(data_tmp, mask_left(2))
35929 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35930 419167 : ipack = ipack + 1
35931 419167 : packed_data(ipack) = pack_tmp
35932 419167 : data_tmp = full_data(idata)
35933 419167 : pack_tmp = ISHFT(data_tmp, 20)
35934 419167 : pack_tmp = ISHFT(pack_tmp, -20)
35935 419167 : idata = idata + 1
35936 419167 : data_tmp = full_data(idata)
35937 419167 : data_tmp = ISHFT(data_tmp, 18)
35938 419167 : data_tmp = IAND(data_tmp, mask_left(20))
35939 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35940 419167 : ipack = ipack + 1
35941 419167 : packed_data(ipack) = pack_tmp
35942 419167 : data_tmp = full_data(idata)
35943 419167 : pack_tmp = ISHFT(data_tmp, 38)
35944 419167 : pack_tmp = ISHFT(pack_tmp, -38)
35945 419167 : idata = idata + 1
35946 419167 : data_tmp = full_data(idata)
35947 419167 : data_tmp = ISHFT(data_tmp, 18)
35948 419167 : data_tmp = IAND(data_tmp, mask_left(38))
35949 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35950 419167 : ipack = ipack + 1
35951 419167 : packed_data(ipack) = pack_tmp
35952 419167 : data_tmp = full_data(idata)
35953 419167 : pack_tmp = ISHFT(data_tmp, 56)
35954 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35955 419167 : idata = idata + 1
35956 419167 : data_tmp = full_data(idata)
35957 419167 : data_tmp = ISHFT(data_tmp, 18)
35958 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35959 419167 : pack_tmp = ISHFT(pack_tmp, -10)
35960 419167 : idata = idata + 1
35961 419167 : data_tmp = full_data(idata)
35962 419167 : data_tmp = ISHFT(data_tmp, 18)
35963 419167 : data_tmp = IAND(data_tmp, mask_left(10))
35964 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35965 419167 : ipack = ipack + 1
35966 419167 : packed_data(ipack) = pack_tmp
35967 419167 : data_tmp = full_data(idata)
35968 419167 : pack_tmp = ISHFT(data_tmp, 28)
35969 419167 : pack_tmp = ISHFT(pack_tmp, -28)
35970 419167 : idata = idata + 1
35971 419167 : data_tmp = full_data(idata)
35972 419167 : data_tmp = ISHFT(data_tmp, 18)
35973 419167 : data_tmp = IAND(data_tmp, mask_left(28))
35974 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35975 419167 : ipack = ipack + 1
35976 419167 : packed_data(ipack) = pack_tmp
35977 419167 : data_tmp = full_data(idata)
35978 419167 : pack_tmp = ISHFT(data_tmp, 46)
35979 419167 : pack_tmp = ISHFT(pack_tmp, -46)
35980 419167 : idata = idata + 1
35981 419167 : data_tmp = full_data(idata)
35982 419167 : data_tmp = ISHFT(data_tmp, 18)
35983 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35984 419167 : pack_tmp = ISHFT(pack_tmp, 0)
35985 419167 : idata = idata + 1
35986 419167 : data_tmp = full_data(idata)
35987 : data_tmp = ISHFT(data_tmp, 18)
35988 419167 : data_tmp = IAND(data_tmp, mask_left(0))
35989 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
35990 419167 : ipack = ipack + 1
35991 419167 : packed_data(ipack) = pack_tmp
35992 419167 : data_tmp = full_data(idata)
35993 419167 : pack_tmp = ISHFT(data_tmp, 18)
35994 419167 : pack_tmp = ISHFT(pack_tmp, -18)
35995 419167 : idata = idata + 1
35996 419167 : data_tmp = full_data(idata)
35997 419167 : data_tmp = ISHFT(data_tmp, 18)
35998 419167 : data_tmp = IAND(data_tmp, mask_left(18))
35999 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36000 419167 : ipack = ipack + 1
36001 419167 : packed_data(ipack) = pack_tmp
36002 419167 : data_tmp = full_data(idata)
36003 419167 : pack_tmp = ISHFT(data_tmp, 36)
36004 419167 : pack_tmp = ISHFT(pack_tmp, -36)
36005 419167 : idata = idata + 1
36006 419167 : data_tmp = full_data(idata)
36007 419167 : data_tmp = ISHFT(data_tmp, 18)
36008 419167 : data_tmp = IAND(data_tmp, mask_left(36))
36009 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36010 419167 : ipack = ipack + 1
36011 419167 : packed_data(ipack) = pack_tmp
36012 419167 : data_tmp = full_data(idata)
36013 419167 : pack_tmp = ISHFT(data_tmp, 54)
36014 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36015 419167 : idata = idata + 1
36016 419167 : data_tmp = full_data(idata)
36017 419167 : data_tmp = ISHFT(data_tmp, 18)
36018 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36019 419167 : pack_tmp = ISHFT(pack_tmp, -8)
36020 419167 : idata = idata + 1
36021 419167 : data_tmp = full_data(idata)
36022 419167 : data_tmp = ISHFT(data_tmp, 18)
36023 419167 : data_tmp = IAND(data_tmp, mask_left(8))
36024 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36025 419167 : ipack = ipack + 1
36026 419167 : packed_data(ipack) = pack_tmp
36027 419167 : data_tmp = full_data(idata)
36028 419167 : pack_tmp = ISHFT(data_tmp, 26)
36029 419167 : pack_tmp = ISHFT(pack_tmp, -26)
36030 419167 : idata = idata + 1
36031 419167 : data_tmp = full_data(idata)
36032 419167 : data_tmp = ISHFT(data_tmp, 18)
36033 419167 : data_tmp = IAND(data_tmp, mask_left(26))
36034 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36035 419167 : ipack = ipack + 1
36036 419167 : packed_data(ipack) = pack_tmp
36037 419167 : data_tmp = full_data(idata)
36038 419167 : pack_tmp = ISHFT(data_tmp, 44)
36039 419167 : pack_tmp = ISHFT(pack_tmp, -44)
36040 419167 : idata = idata + 1
36041 419167 : data_tmp = full_data(idata)
36042 419167 : data_tmp = ISHFT(data_tmp, 18)
36043 419167 : data_tmp = IAND(data_tmp, mask_left(44))
36044 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36045 419167 : ipack = ipack + 1
36046 419167 : packed_data(ipack) = pack_tmp
36047 419167 : data_tmp = full_data(idata)
36048 419167 : pack_tmp = ISHFT(data_tmp, 62)
36049 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36050 419167 : idata = idata + 1
36051 419167 : data_tmp = full_data(idata)
36052 419167 : data_tmp = ISHFT(data_tmp, 18)
36053 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36054 419167 : pack_tmp = ISHFT(pack_tmp, -16)
36055 419167 : idata = idata + 1
36056 419167 : data_tmp = full_data(idata)
36057 419167 : data_tmp = ISHFT(data_tmp, 18)
36058 419167 : data_tmp = IAND(data_tmp, mask_left(16))
36059 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36060 419167 : ipack = ipack + 1
36061 419167 : packed_data(ipack) = pack_tmp
36062 419167 : data_tmp = full_data(idata)
36063 419167 : pack_tmp = ISHFT(data_tmp, 34)
36064 419167 : pack_tmp = ISHFT(pack_tmp, -34)
36065 419167 : idata = idata + 1
36066 419167 : data_tmp = full_data(idata)
36067 419167 : data_tmp = ISHFT(data_tmp, 18)
36068 419167 : data_tmp = IAND(data_tmp, mask_left(34))
36069 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36070 419167 : ipack = ipack + 1
36071 419167 : packed_data(ipack) = pack_tmp
36072 419167 : data_tmp = full_data(idata)
36073 419167 : pack_tmp = ISHFT(data_tmp, 52)
36074 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36075 419167 : idata = idata + 1
36076 419167 : data_tmp = full_data(idata)
36077 419167 : data_tmp = ISHFT(data_tmp, 18)
36078 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36079 419167 : pack_tmp = ISHFT(pack_tmp, -6)
36080 419167 : idata = idata + 1
36081 419167 : data_tmp = full_data(idata)
36082 419167 : data_tmp = ISHFT(data_tmp, 18)
36083 419167 : data_tmp = IAND(data_tmp, mask_left(6))
36084 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36085 419167 : ipack = ipack + 1
36086 419167 : packed_data(ipack) = pack_tmp
36087 419167 : data_tmp = full_data(idata)
36088 419167 : pack_tmp = ISHFT(data_tmp, 24)
36089 419167 : pack_tmp = ISHFT(pack_tmp, -24)
36090 419167 : idata = idata + 1
36091 419167 : data_tmp = full_data(idata)
36092 419167 : data_tmp = ISHFT(data_tmp, 18)
36093 419167 : data_tmp = IAND(data_tmp, mask_left(24))
36094 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36095 419167 : ipack = ipack + 1
36096 419167 : packed_data(ipack) = pack_tmp
36097 419167 : data_tmp = full_data(idata)
36098 419167 : pack_tmp = ISHFT(data_tmp, 42)
36099 419167 : pack_tmp = ISHFT(pack_tmp, -42)
36100 419167 : idata = idata + 1
36101 419167 : data_tmp = full_data(idata)
36102 419167 : data_tmp = ISHFT(data_tmp, 18)
36103 419167 : data_tmp = IAND(data_tmp, mask_left(42))
36104 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36105 419167 : ipack = ipack + 1
36106 419167 : packed_data(ipack) = pack_tmp
36107 419167 : data_tmp = full_data(idata)
36108 419167 : pack_tmp = ISHFT(data_tmp, 60)
36109 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36110 419167 : idata = idata + 1
36111 419167 : data_tmp = full_data(idata)
36112 419167 : data_tmp = ISHFT(data_tmp, 18)
36113 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36114 419167 : pack_tmp = ISHFT(pack_tmp, -14)
36115 419167 : idata = idata + 1
36116 419167 : data_tmp = full_data(idata)
36117 419167 : data_tmp = ISHFT(data_tmp, 18)
36118 419167 : data_tmp = IAND(data_tmp, mask_left(14))
36119 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36120 419167 : ipack = ipack + 1
36121 419167 : packed_data(ipack) = pack_tmp
36122 419167 : data_tmp = full_data(idata)
36123 419167 : pack_tmp = ISHFT(data_tmp, 32)
36124 419167 : pack_tmp = ISHFT(pack_tmp, -32)
36125 419167 : idata = idata + 1
36126 419167 : data_tmp = full_data(idata)
36127 419167 : data_tmp = ISHFT(data_tmp, 18)
36128 419167 : data_tmp = IAND(data_tmp, mask_left(32))
36129 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36130 419167 : ipack = ipack + 1
36131 419167 : packed_data(ipack) = pack_tmp
36132 419167 : data_tmp = full_data(idata)
36133 419167 : pack_tmp = ISHFT(data_tmp, 50)
36134 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36135 419167 : idata = idata + 1
36136 419167 : data_tmp = full_data(idata)
36137 419167 : data_tmp = ISHFT(data_tmp, 18)
36138 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36139 419167 : pack_tmp = ISHFT(pack_tmp, -4)
36140 419167 : idata = idata + 1
36141 419167 : data_tmp = full_data(idata)
36142 419167 : data_tmp = ISHFT(data_tmp, 18)
36143 419167 : data_tmp = IAND(data_tmp, mask_left(4))
36144 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36145 419167 : ipack = ipack + 1
36146 419167 : packed_data(ipack) = pack_tmp
36147 419167 : data_tmp = full_data(idata)
36148 419167 : pack_tmp = ISHFT(data_tmp, 22)
36149 419167 : pack_tmp = ISHFT(pack_tmp, -22)
36150 419167 : idata = idata + 1
36151 419167 : data_tmp = full_data(idata)
36152 419167 : data_tmp = ISHFT(data_tmp, 18)
36153 419167 : data_tmp = IAND(data_tmp, mask_left(22))
36154 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36155 419167 : ipack = ipack + 1
36156 419167 : packed_data(ipack) = pack_tmp
36157 419167 : data_tmp = full_data(idata)
36158 419167 : pack_tmp = ISHFT(data_tmp, 40)
36159 419167 : pack_tmp = ISHFT(pack_tmp, -40)
36160 419167 : idata = idata + 1
36161 419167 : data_tmp = full_data(idata)
36162 419167 : data_tmp = ISHFT(data_tmp, 18)
36163 419167 : data_tmp = IAND(data_tmp, mask_left(40))
36164 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36165 419167 : ipack = ipack + 1
36166 419167 : packed_data(ipack) = pack_tmp
36167 419167 : data_tmp = full_data(idata)
36168 419167 : pack_tmp = ISHFT(data_tmp, 58)
36169 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36170 419167 : idata = idata + 1
36171 419167 : data_tmp = full_data(idata)
36172 419167 : data_tmp = ISHFT(data_tmp, 18)
36173 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36174 419167 : pack_tmp = ISHFT(pack_tmp, -12)
36175 419167 : idata = idata + 1
36176 419167 : data_tmp = full_data(idata)
36177 419167 : data_tmp = ISHFT(data_tmp, 18)
36178 419167 : data_tmp = IAND(data_tmp, mask_left(12))
36179 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36180 419167 : ipack = ipack + 1
36181 419167 : packed_data(ipack) = pack_tmp
36182 419167 : data_tmp = full_data(idata)
36183 419167 : pack_tmp = ISHFT(data_tmp, 30)
36184 419167 : pack_tmp = ISHFT(pack_tmp, -30)
36185 419167 : idata = idata + 1
36186 419167 : data_tmp = full_data(idata)
36187 419167 : data_tmp = ISHFT(data_tmp, 18)
36188 419167 : data_tmp = IAND(data_tmp, mask_left(30))
36189 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36190 419167 : ipack = ipack + 1
36191 419167 : packed_data(ipack) = pack_tmp
36192 419167 : data_tmp = full_data(idata)
36193 419167 : pack_tmp = ISHFT(data_tmp, 48)
36194 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36195 419167 : idata = idata + 1
36196 419167 : data_tmp = full_data(idata)
36197 419167 : data_tmp = ISHFT(data_tmp, 18)
36198 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36199 419167 : pack_tmp = ISHFT(pack_tmp, -2)
36200 419167 : idata = idata + 1
36201 419167 : data_tmp = full_data(idata)
36202 419167 : data_tmp = ISHFT(data_tmp, 18)
36203 419167 : data_tmp = IAND(data_tmp, mask_left(2))
36204 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36205 419167 : ipack = ipack + 1
36206 419167 : packed_data(ipack) = pack_tmp
36207 419167 : data_tmp = full_data(idata)
36208 419167 : pack_tmp = ISHFT(data_tmp, 20)
36209 419167 : pack_tmp = ISHFT(pack_tmp, -20)
36210 419167 : idata = idata + 1
36211 419167 : data_tmp = full_data(idata)
36212 419167 : data_tmp = ISHFT(data_tmp, 18)
36213 419167 : data_tmp = IAND(data_tmp, mask_left(20))
36214 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36215 419167 : ipack = ipack + 1
36216 419167 : packed_data(ipack) = pack_tmp
36217 419167 : data_tmp = full_data(idata)
36218 419167 : pack_tmp = ISHFT(data_tmp, 38)
36219 419167 : pack_tmp = ISHFT(pack_tmp, -38)
36220 419167 : idata = idata + 1
36221 419167 : data_tmp = full_data(idata)
36222 419167 : data_tmp = ISHFT(data_tmp, 18)
36223 419167 : data_tmp = IAND(data_tmp, mask_left(38))
36224 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36225 419167 : ipack = ipack + 1
36226 419167 : packed_data(ipack) = pack_tmp
36227 419167 : data_tmp = full_data(idata)
36228 419167 : pack_tmp = ISHFT(data_tmp, 56)
36229 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36230 419167 : idata = idata + 1
36231 419167 : data_tmp = full_data(idata)
36232 419167 : data_tmp = ISHFT(data_tmp, 18)
36233 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36234 419167 : pack_tmp = ISHFT(pack_tmp, -10)
36235 419167 : idata = idata + 1
36236 419167 : data_tmp = full_data(idata)
36237 419167 : data_tmp = ISHFT(data_tmp, 18)
36238 419167 : data_tmp = IAND(data_tmp, mask_left(10))
36239 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36240 419167 : ipack = ipack + 1
36241 419167 : packed_data(ipack) = pack_tmp
36242 419167 : data_tmp = full_data(idata)
36243 419167 : pack_tmp = ISHFT(data_tmp, 28)
36244 419167 : pack_tmp = ISHFT(pack_tmp, -28)
36245 419167 : idata = idata + 1
36246 419167 : data_tmp = full_data(idata)
36247 419167 : data_tmp = ISHFT(data_tmp, 18)
36248 419167 : data_tmp = IAND(data_tmp, mask_left(28))
36249 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36250 419167 : ipack = ipack + 1
36251 419167 : packed_data(ipack) = pack_tmp
36252 419167 : data_tmp = full_data(idata)
36253 419167 : pack_tmp = ISHFT(data_tmp, 46)
36254 419167 : pack_tmp = ISHFT(pack_tmp, -46)
36255 419167 : idata = idata + 1
36256 419167 : data_tmp = full_data(idata)
36257 419167 : data_tmp = ISHFT(data_tmp, 18)
36258 419167 : pack_tmp = IOR(pack_tmp, data_tmp)
36259 : pack_tmp = ISHFT(pack_tmp, 0)
36260 419167 : pack_tmp = ISHFT(pack_tmp, 0)
36261 419167 : ipack = ipack + 1
36262 419212 : packed_data(ipack) = pack_tmp
36263 : END DO
36264 28680 : 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 28680 : END SUBROUTINE ints2bits_46
36268 :
36269 : ! **************************************************************************************************
36270 : !> \brief ...
36271 : !> \param Ndata ...
36272 : !> \param packed_data ...
36273 : !> \param full_data ...
36274 : ! **************************************************************************************************
36275 120083 : 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 120083 : ipack = 0
36286 120083 : idata = 0
36287 120083 : pack_tmp = 0
36288 120083 : Ndata_rep = (Ndata/64)*64
36289 120083 : DO kdata = 1, Ndata_rep, 64
36290 1734403 : idata = idata + 1
36291 1734403 : data_tmp = ISHFT(pack_tmp, 46)
36292 1734403 : ipack = ipack + 1
36293 1734403 : pack_tmp = packed_data(ipack)
36294 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36295 1734403 : pack_tmp = ISHFT(pack_tmp, -46)
36296 1734403 : idata = idata + 1
36297 1734403 : data_tmp = ISHFT(pack_tmp, 28)
36298 1734403 : ipack = ipack + 1
36299 1734403 : pack_tmp = packed_data(ipack)
36300 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36301 1734403 : pack_tmp = ISHFT(pack_tmp, -28)
36302 1734403 : idata = idata + 1
36303 1734403 : data_tmp = ISHFT(pack_tmp, 10)
36304 1734403 : ipack = ipack + 1
36305 1734403 : pack_tmp = packed_data(ipack)
36306 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36307 1734403 : pack_tmp = ISHFT(pack_tmp, -10)
36308 1734403 : idata = idata + 1
36309 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36310 1734403 : full_data(idata) = data_tmp
36311 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36312 1734403 : idata = idata + 1
36313 1734403 : data_tmp = ISHFT(pack_tmp, 38)
36314 1734403 : ipack = ipack + 1
36315 1734403 : pack_tmp = packed_data(ipack)
36316 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36317 1734403 : pack_tmp = ISHFT(pack_tmp, -38)
36318 1734403 : idata = idata + 1
36319 1734403 : data_tmp = ISHFT(pack_tmp, 20)
36320 1734403 : ipack = ipack + 1
36321 1734403 : pack_tmp = packed_data(ipack)
36322 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36323 1734403 : pack_tmp = ISHFT(pack_tmp, -20)
36324 1734403 : idata = idata + 1
36325 1734403 : data_tmp = ISHFT(pack_tmp, 2)
36326 1734403 : ipack = ipack + 1
36327 1734403 : pack_tmp = packed_data(ipack)
36328 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36329 1734403 : pack_tmp = ISHFT(pack_tmp, -2)
36330 1734403 : idata = idata + 1
36331 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36332 1734403 : full_data(idata) = data_tmp
36333 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36334 1734403 : idata = idata + 1
36335 1734403 : data_tmp = ISHFT(pack_tmp, 30)
36336 1734403 : ipack = ipack + 1
36337 1734403 : pack_tmp = packed_data(ipack)
36338 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36339 1734403 : pack_tmp = ISHFT(pack_tmp, -30)
36340 1734403 : idata = idata + 1
36341 1734403 : data_tmp = ISHFT(pack_tmp, 12)
36342 1734403 : ipack = ipack + 1
36343 1734403 : pack_tmp = packed_data(ipack)
36344 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36345 1734403 : pack_tmp = ISHFT(pack_tmp, -12)
36346 1734403 : idata = idata + 1
36347 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36348 1734403 : full_data(idata) = data_tmp
36349 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36350 1734403 : idata = idata + 1
36351 1734403 : data_tmp = ISHFT(pack_tmp, 40)
36352 1734403 : ipack = ipack + 1
36353 1734403 : pack_tmp = packed_data(ipack)
36354 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36355 1734403 : pack_tmp = ISHFT(pack_tmp, -40)
36356 1734403 : idata = idata + 1
36357 1734403 : data_tmp = ISHFT(pack_tmp, 22)
36358 1734403 : ipack = ipack + 1
36359 1734403 : pack_tmp = packed_data(ipack)
36360 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36361 1734403 : pack_tmp = ISHFT(pack_tmp, -22)
36362 1734403 : idata = idata + 1
36363 1734403 : data_tmp = ISHFT(pack_tmp, 4)
36364 1734403 : ipack = ipack + 1
36365 1734403 : pack_tmp = packed_data(ipack)
36366 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36367 1734403 : pack_tmp = ISHFT(pack_tmp, -4)
36368 1734403 : idata = idata + 1
36369 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36370 1734403 : full_data(idata) = data_tmp
36371 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36372 1734403 : idata = idata + 1
36373 1734403 : data_tmp = ISHFT(pack_tmp, 32)
36374 1734403 : ipack = ipack + 1
36375 1734403 : pack_tmp = packed_data(ipack)
36376 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36377 1734403 : pack_tmp = ISHFT(pack_tmp, -32)
36378 1734403 : idata = idata + 1
36379 1734403 : data_tmp = ISHFT(pack_tmp, 14)
36380 1734403 : ipack = ipack + 1
36381 1734403 : pack_tmp = packed_data(ipack)
36382 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36383 1734403 : pack_tmp = ISHFT(pack_tmp, -14)
36384 1734403 : idata = idata + 1
36385 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36386 1734403 : full_data(idata) = data_tmp
36387 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36388 1734403 : idata = idata + 1
36389 1734403 : data_tmp = ISHFT(pack_tmp, 42)
36390 1734403 : ipack = ipack + 1
36391 1734403 : pack_tmp = packed_data(ipack)
36392 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36393 1734403 : pack_tmp = ISHFT(pack_tmp, -42)
36394 1734403 : idata = idata + 1
36395 1734403 : data_tmp = ISHFT(pack_tmp, 24)
36396 1734403 : ipack = ipack + 1
36397 1734403 : pack_tmp = packed_data(ipack)
36398 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36399 1734403 : pack_tmp = ISHFT(pack_tmp, -24)
36400 1734403 : idata = idata + 1
36401 1734403 : data_tmp = ISHFT(pack_tmp, 6)
36402 1734403 : ipack = ipack + 1
36403 1734403 : pack_tmp = packed_data(ipack)
36404 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36405 1734403 : pack_tmp = ISHFT(pack_tmp, -6)
36406 1734403 : idata = idata + 1
36407 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36408 1734403 : full_data(idata) = data_tmp
36409 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36410 1734403 : idata = idata + 1
36411 1734403 : data_tmp = ISHFT(pack_tmp, 34)
36412 1734403 : ipack = ipack + 1
36413 1734403 : pack_tmp = packed_data(ipack)
36414 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36415 1734403 : pack_tmp = ISHFT(pack_tmp, -34)
36416 1734403 : idata = idata + 1
36417 1734403 : data_tmp = ISHFT(pack_tmp, 16)
36418 1734403 : ipack = ipack + 1
36419 1734403 : pack_tmp = packed_data(ipack)
36420 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36421 1734403 : pack_tmp = ISHFT(pack_tmp, -16)
36422 1734403 : idata = idata + 1
36423 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36424 1734403 : full_data(idata) = data_tmp
36425 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36426 1734403 : idata = idata + 1
36427 1734403 : data_tmp = ISHFT(pack_tmp, 44)
36428 1734403 : ipack = ipack + 1
36429 1734403 : pack_tmp = packed_data(ipack)
36430 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36431 1734403 : pack_tmp = ISHFT(pack_tmp, -44)
36432 1734403 : idata = idata + 1
36433 1734403 : data_tmp = ISHFT(pack_tmp, 26)
36434 1734403 : ipack = ipack + 1
36435 1734403 : pack_tmp = packed_data(ipack)
36436 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36437 1734403 : pack_tmp = ISHFT(pack_tmp, -26)
36438 1734403 : idata = idata + 1
36439 1734403 : data_tmp = ISHFT(pack_tmp, 8)
36440 1734403 : ipack = ipack + 1
36441 1734403 : pack_tmp = packed_data(ipack)
36442 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36443 1734403 : pack_tmp = ISHFT(pack_tmp, -8)
36444 1734403 : idata = idata + 1
36445 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36446 1734403 : full_data(idata) = data_tmp
36447 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36448 1734403 : idata = idata + 1
36449 1734403 : data_tmp = ISHFT(pack_tmp, 36)
36450 1734403 : ipack = ipack + 1
36451 1734403 : pack_tmp = packed_data(ipack)
36452 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36453 1734403 : pack_tmp = ISHFT(pack_tmp, -36)
36454 1734403 : idata = idata + 1
36455 1734403 : data_tmp = ISHFT(pack_tmp, 18)
36456 1734403 : ipack = ipack + 1
36457 1734403 : pack_tmp = packed_data(ipack)
36458 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36459 1734403 : pack_tmp = ISHFT(pack_tmp, -18)
36460 1734403 : idata = idata + 1
36461 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36462 1734403 : full_data(idata) = data_tmp
36463 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36464 1734403 : idata = idata + 1
36465 1734403 : data_tmp = ISHFT(pack_tmp, 46)
36466 1734403 : ipack = ipack + 1
36467 1734403 : pack_tmp = packed_data(ipack)
36468 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36469 1734403 : pack_tmp = ISHFT(pack_tmp, -46)
36470 1734403 : idata = idata + 1
36471 1734403 : data_tmp = ISHFT(pack_tmp, 28)
36472 1734403 : ipack = ipack + 1
36473 1734403 : pack_tmp = packed_data(ipack)
36474 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36475 1734403 : pack_tmp = ISHFT(pack_tmp, -28)
36476 1734403 : idata = idata + 1
36477 1734403 : data_tmp = ISHFT(pack_tmp, 10)
36478 1734403 : ipack = ipack + 1
36479 1734403 : pack_tmp = packed_data(ipack)
36480 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36481 1734403 : pack_tmp = ISHFT(pack_tmp, -10)
36482 1734403 : idata = idata + 1
36483 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36484 1734403 : full_data(idata) = data_tmp
36485 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36486 1734403 : idata = idata + 1
36487 1734403 : data_tmp = ISHFT(pack_tmp, 38)
36488 1734403 : ipack = ipack + 1
36489 1734403 : pack_tmp = packed_data(ipack)
36490 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36491 1734403 : pack_tmp = ISHFT(pack_tmp, -38)
36492 1734403 : idata = idata + 1
36493 1734403 : data_tmp = ISHFT(pack_tmp, 20)
36494 1734403 : ipack = ipack + 1
36495 1734403 : pack_tmp = packed_data(ipack)
36496 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36497 1734403 : pack_tmp = ISHFT(pack_tmp, -20)
36498 1734403 : idata = idata + 1
36499 1734403 : data_tmp = ISHFT(pack_tmp, 2)
36500 1734403 : ipack = ipack + 1
36501 1734403 : pack_tmp = packed_data(ipack)
36502 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36503 1734403 : pack_tmp = ISHFT(pack_tmp, -2)
36504 1734403 : idata = idata + 1
36505 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36506 1734403 : full_data(idata) = data_tmp
36507 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36508 1734403 : idata = idata + 1
36509 1734403 : data_tmp = ISHFT(pack_tmp, 30)
36510 1734403 : ipack = ipack + 1
36511 1734403 : pack_tmp = packed_data(ipack)
36512 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36513 1734403 : pack_tmp = ISHFT(pack_tmp, -30)
36514 1734403 : idata = idata + 1
36515 1734403 : data_tmp = ISHFT(pack_tmp, 12)
36516 1734403 : ipack = ipack + 1
36517 1734403 : pack_tmp = packed_data(ipack)
36518 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36519 1734403 : pack_tmp = ISHFT(pack_tmp, -12)
36520 1734403 : idata = idata + 1
36521 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36522 1734403 : full_data(idata) = data_tmp
36523 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36524 1734403 : idata = idata + 1
36525 1734403 : data_tmp = ISHFT(pack_tmp, 40)
36526 1734403 : ipack = ipack + 1
36527 1734403 : pack_tmp = packed_data(ipack)
36528 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36529 1734403 : pack_tmp = ISHFT(pack_tmp, -40)
36530 1734403 : idata = idata + 1
36531 1734403 : data_tmp = ISHFT(pack_tmp, 22)
36532 1734403 : ipack = ipack + 1
36533 1734403 : pack_tmp = packed_data(ipack)
36534 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36535 1734403 : pack_tmp = ISHFT(pack_tmp, -22)
36536 1734403 : idata = idata + 1
36537 1734403 : data_tmp = ISHFT(pack_tmp, 4)
36538 1734403 : ipack = ipack + 1
36539 1734403 : pack_tmp = packed_data(ipack)
36540 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36541 1734403 : pack_tmp = ISHFT(pack_tmp, -4)
36542 1734403 : idata = idata + 1
36543 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36544 1734403 : full_data(idata) = data_tmp
36545 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36546 1734403 : idata = idata + 1
36547 1734403 : data_tmp = ISHFT(pack_tmp, 32)
36548 1734403 : ipack = ipack + 1
36549 1734403 : pack_tmp = packed_data(ipack)
36550 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36551 1734403 : pack_tmp = ISHFT(pack_tmp, -32)
36552 1734403 : idata = idata + 1
36553 1734403 : data_tmp = ISHFT(pack_tmp, 14)
36554 1734403 : ipack = ipack + 1
36555 1734403 : pack_tmp = packed_data(ipack)
36556 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36557 1734403 : pack_tmp = ISHFT(pack_tmp, -14)
36558 1734403 : idata = idata + 1
36559 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36560 1734403 : full_data(idata) = data_tmp
36561 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36562 1734403 : idata = idata + 1
36563 1734403 : data_tmp = ISHFT(pack_tmp, 42)
36564 1734403 : ipack = ipack + 1
36565 1734403 : pack_tmp = packed_data(ipack)
36566 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36567 1734403 : pack_tmp = ISHFT(pack_tmp, -42)
36568 1734403 : idata = idata + 1
36569 1734403 : data_tmp = ISHFT(pack_tmp, 24)
36570 1734403 : ipack = ipack + 1
36571 1734403 : pack_tmp = packed_data(ipack)
36572 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36573 1734403 : pack_tmp = ISHFT(pack_tmp, -24)
36574 1734403 : idata = idata + 1
36575 1734403 : data_tmp = ISHFT(pack_tmp, 6)
36576 1734403 : ipack = ipack + 1
36577 1734403 : pack_tmp = packed_data(ipack)
36578 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36579 1734403 : pack_tmp = ISHFT(pack_tmp, -6)
36580 1734403 : idata = idata + 1
36581 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36582 1734403 : full_data(idata) = data_tmp
36583 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36584 1734403 : idata = idata + 1
36585 1734403 : data_tmp = ISHFT(pack_tmp, 34)
36586 1734403 : ipack = ipack + 1
36587 1734403 : pack_tmp = packed_data(ipack)
36588 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36589 1734403 : pack_tmp = ISHFT(pack_tmp, -34)
36590 1734403 : idata = idata + 1
36591 1734403 : data_tmp = ISHFT(pack_tmp, 16)
36592 1734403 : ipack = ipack + 1
36593 1734403 : pack_tmp = packed_data(ipack)
36594 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36595 1734403 : pack_tmp = ISHFT(pack_tmp, -16)
36596 1734403 : idata = idata + 1
36597 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36598 1734403 : full_data(idata) = data_tmp
36599 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36600 1734403 : idata = idata + 1
36601 1734403 : data_tmp = ISHFT(pack_tmp, 44)
36602 1734403 : ipack = ipack + 1
36603 1734403 : pack_tmp = packed_data(ipack)
36604 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36605 1734403 : pack_tmp = ISHFT(pack_tmp, -44)
36606 1734403 : idata = idata + 1
36607 1734403 : data_tmp = ISHFT(pack_tmp, 26)
36608 1734403 : ipack = ipack + 1
36609 1734403 : pack_tmp = packed_data(ipack)
36610 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36611 1734403 : pack_tmp = ISHFT(pack_tmp, -26)
36612 1734403 : idata = idata + 1
36613 1734403 : data_tmp = ISHFT(pack_tmp, 8)
36614 1734403 : ipack = ipack + 1
36615 1734403 : pack_tmp = packed_data(ipack)
36616 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36617 1734403 : pack_tmp = ISHFT(pack_tmp, -8)
36618 1734403 : idata = idata + 1
36619 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36620 1734403 : full_data(idata) = data_tmp
36621 1734403 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36622 1734403 : idata = idata + 1
36623 1734403 : data_tmp = ISHFT(pack_tmp, 36)
36624 1734403 : ipack = ipack + 1
36625 1734403 : pack_tmp = packed_data(ipack)
36626 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36627 1734403 : pack_tmp = ISHFT(pack_tmp, -36)
36628 1734403 : idata = idata + 1
36629 1734403 : data_tmp = ISHFT(pack_tmp, 18)
36630 1734403 : ipack = ipack + 1
36631 1734403 : pack_tmp = packed_data(ipack)
36632 1734403 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36633 1734403 : pack_tmp = ISHFT(pack_tmp, -18)
36634 1734403 : idata = idata + 1
36635 1734403 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36636 1734403 : full_data(idata) = data_tmp
36637 1734849 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36638 : END DO
36639 120083 : 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 120083 : 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 398633 : pack_tmp = 0
36665 398633 : idata = idata + 1
36666 398633 : data_tmp = full_data(idata)
36667 398633 : data_tmp = ISHFT(data_tmp, 17)
36668 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36669 398633 : pack_tmp = ISHFT(pack_tmp, -17)
36670 398633 : idata = idata + 1
36671 398633 : data_tmp = full_data(idata)
36672 398633 : data_tmp = ISHFT(data_tmp, 17)
36673 398633 : data_tmp = IAND(data_tmp, mask_left(17))
36674 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36675 398633 : ipack = ipack + 1
36676 398633 : packed_data(ipack) = pack_tmp
36677 398633 : data_tmp = full_data(idata)
36678 398633 : pack_tmp = ISHFT(data_tmp, 34)
36679 398633 : pack_tmp = ISHFT(pack_tmp, -34)
36680 398633 : idata = idata + 1
36681 398633 : data_tmp = full_data(idata)
36682 398633 : data_tmp = ISHFT(data_tmp, 17)
36683 398633 : data_tmp = IAND(data_tmp, mask_left(34))
36684 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36685 398633 : ipack = ipack + 1
36686 398633 : packed_data(ipack) = pack_tmp
36687 398633 : data_tmp = full_data(idata)
36688 398633 : pack_tmp = ISHFT(data_tmp, 51)
36689 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36690 398633 : idata = idata + 1
36691 398633 : data_tmp = full_data(idata)
36692 398633 : data_tmp = ISHFT(data_tmp, 17)
36693 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36694 398633 : pack_tmp = ISHFT(pack_tmp, -4)
36695 398633 : idata = idata + 1
36696 398633 : data_tmp = full_data(idata)
36697 398633 : data_tmp = ISHFT(data_tmp, 17)
36698 398633 : data_tmp = IAND(data_tmp, mask_left(4))
36699 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36700 398633 : ipack = ipack + 1
36701 398633 : packed_data(ipack) = pack_tmp
36702 398633 : data_tmp = full_data(idata)
36703 398633 : pack_tmp = ISHFT(data_tmp, 21)
36704 398633 : pack_tmp = ISHFT(pack_tmp, -21)
36705 398633 : idata = idata + 1
36706 398633 : data_tmp = full_data(idata)
36707 398633 : data_tmp = ISHFT(data_tmp, 17)
36708 398633 : data_tmp = IAND(data_tmp, mask_left(21))
36709 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36710 398633 : ipack = ipack + 1
36711 398633 : packed_data(ipack) = pack_tmp
36712 398633 : data_tmp = full_data(idata)
36713 398633 : pack_tmp = ISHFT(data_tmp, 38)
36714 398633 : pack_tmp = ISHFT(pack_tmp, -38)
36715 398633 : idata = idata + 1
36716 398633 : data_tmp = full_data(idata)
36717 398633 : data_tmp = ISHFT(data_tmp, 17)
36718 398633 : data_tmp = IAND(data_tmp, mask_left(38))
36719 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36720 398633 : ipack = ipack + 1
36721 398633 : packed_data(ipack) = pack_tmp
36722 398633 : data_tmp = full_data(idata)
36723 398633 : pack_tmp = ISHFT(data_tmp, 55)
36724 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36725 398633 : idata = idata + 1
36726 398633 : data_tmp = full_data(idata)
36727 398633 : data_tmp = ISHFT(data_tmp, 17)
36728 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36729 398633 : pack_tmp = ISHFT(pack_tmp, -8)
36730 398633 : idata = idata + 1
36731 398633 : data_tmp = full_data(idata)
36732 398633 : data_tmp = ISHFT(data_tmp, 17)
36733 398633 : data_tmp = IAND(data_tmp, mask_left(8))
36734 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36735 398633 : ipack = ipack + 1
36736 398633 : packed_data(ipack) = pack_tmp
36737 398633 : data_tmp = full_data(idata)
36738 398633 : pack_tmp = ISHFT(data_tmp, 25)
36739 398633 : pack_tmp = ISHFT(pack_tmp, -25)
36740 398633 : idata = idata + 1
36741 398633 : data_tmp = full_data(idata)
36742 398633 : data_tmp = ISHFT(data_tmp, 17)
36743 398633 : data_tmp = IAND(data_tmp, mask_left(25))
36744 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36745 398633 : ipack = ipack + 1
36746 398633 : packed_data(ipack) = pack_tmp
36747 398633 : data_tmp = full_data(idata)
36748 398633 : pack_tmp = ISHFT(data_tmp, 42)
36749 398633 : pack_tmp = ISHFT(pack_tmp, -42)
36750 398633 : idata = idata + 1
36751 398633 : data_tmp = full_data(idata)
36752 398633 : data_tmp = ISHFT(data_tmp, 17)
36753 398633 : data_tmp = IAND(data_tmp, mask_left(42))
36754 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36755 398633 : ipack = ipack + 1
36756 398633 : packed_data(ipack) = pack_tmp
36757 398633 : data_tmp = full_data(idata)
36758 398633 : pack_tmp = ISHFT(data_tmp, 59)
36759 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36760 398633 : idata = idata + 1
36761 398633 : data_tmp = full_data(idata)
36762 398633 : data_tmp = ISHFT(data_tmp, 17)
36763 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36764 398633 : pack_tmp = ISHFT(pack_tmp, -12)
36765 398633 : idata = idata + 1
36766 398633 : data_tmp = full_data(idata)
36767 398633 : data_tmp = ISHFT(data_tmp, 17)
36768 398633 : data_tmp = IAND(data_tmp, mask_left(12))
36769 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36770 398633 : ipack = ipack + 1
36771 398633 : packed_data(ipack) = pack_tmp
36772 398633 : data_tmp = full_data(idata)
36773 398633 : pack_tmp = ISHFT(data_tmp, 29)
36774 398633 : pack_tmp = ISHFT(pack_tmp, -29)
36775 398633 : idata = idata + 1
36776 398633 : data_tmp = full_data(idata)
36777 398633 : data_tmp = ISHFT(data_tmp, 17)
36778 398633 : data_tmp = IAND(data_tmp, mask_left(29))
36779 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36780 398633 : ipack = ipack + 1
36781 398633 : packed_data(ipack) = pack_tmp
36782 398633 : data_tmp = full_data(idata)
36783 398633 : pack_tmp = ISHFT(data_tmp, 46)
36784 398633 : pack_tmp = ISHFT(pack_tmp, -46)
36785 398633 : idata = idata + 1
36786 398633 : data_tmp = full_data(idata)
36787 398633 : data_tmp = ISHFT(data_tmp, 17)
36788 398633 : data_tmp = IAND(data_tmp, mask_left(46))
36789 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36790 398633 : ipack = ipack + 1
36791 398633 : packed_data(ipack) = pack_tmp
36792 398633 : data_tmp = full_data(idata)
36793 398633 : pack_tmp = ISHFT(data_tmp, 63)
36794 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36795 398633 : idata = idata + 1
36796 398633 : data_tmp = full_data(idata)
36797 398633 : data_tmp = ISHFT(data_tmp, 17)
36798 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36799 398633 : pack_tmp = ISHFT(pack_tmp, -16)
36800 398633 : idata = idata + 1
36801 398633 : data_tmp = full_data(idata)
36802 398633 : data_tmp = ISHFT(data_tmp, 17)
36803 398633 : data_tmp = IAND(data_tmp, mask_left(16))
36804 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36805 398633 : ipack = ipack + 1
36806 398633 : packed_data(ipack) = pack_tmp
36807 398633 : data_tmp = full_data(idata)
36808 398633 : pack_tmp = ISHFT(data_tmp, 33)
36809 398633 : pack_tmp = ISHFT(pack_tmp, -33)
36810 398633 : idata = idata + 1
36811 398633 : data_tmp = full_data(idata)
36812 398633 : data_tmp = ISHFT(data_tmp, 17)
36813 398633 : data_tmp = IAND(data_tmp, mask_left(33))
36814 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36815 398633 : ipack = ipack + 1
36816 398633 : packed_data(ipack) = pack_tmp
36817 398633 : data_tmp = full_data(idata)
36818 398633 : pack_tmp = ISHFT(data_tmp, 50)
36819 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36820 398633 : idata = idata + 1
36821 398633 : data_tmp = full_data(idata)
36822 398633 : data_tmp = ISHFT(data_tmp, 17)
36823 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36824 398633 : pack_tmp = ISHFT(pack_tmp, -3)
36825 398633 : idata = idata + 1
36826 398633 : data_tmp = full_data(idata)
36827 398633 : data_tmp = ISHFT(data_tmp, 17)
36828 398633 : data_tmp = IAND(data_tmp, mask_left(3))
36829 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36830 398633 : ipack = ipack + 1
36831 398633 : packed_data(ipack) = pack_tmp
36832 398633 : data_tmp = full_data(idata)
36833 398633 : pack_tmp = ISHFT(data_tmp, 20)
36834 398633 : pack_tmp = ISHFT(pack_tmp, -20)
36835 398633 : idata = idata + 1
36836 398633 : data_tmp = full_data(idata)
36837 398633 : data_tmp = ISHFT(data_tmp, 17)
36838 398633 : data_tmp = IAND(data_tmp, mask_left(20))
36839 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36840 398633 : ipack = ipack + 1
36841 398633 : packed_data(ipack) = pack_tmp
36842 398633 : data_tmp = full_data(idata)
36843 398633 : pack_tmp = ISHFT(data_tmp, 37)
36844 398633 : pack_tmp = ISHFT(pack_tmp, -37)
36845 398633 : idata = idata + 1
36846 398633 : data_tmp = full_data(idata)
36847 398633 : data_tmp = ISHFT(data_tmp, 17)
36848 398633 : data_tmp = IAND(data_tmp, mask_left(37))
36849 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36850 398633 : ipack = ipack + 1
36851 398633 : packed_data(ipack) = pack_tmp
36852 398633 : data_tmp = full_data(idata)
36853 398633 : pack_tmp = ISHFT(data_tmp, 54)
36854 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36855 398633 : idata = idata + 1
36856 398633 : data_tmp = full_data(idata)
36857 398633 : data_tmp = ISHFT(data_tmp, 17)
36858 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36859 398633 : pack_tmp = ISHFT(pack_tmp, -7)
36860 398633 : idata = idata + 1
36861 398633 : data_tmp = full_data(idata)
36862 398633 : data_tmp = ISHFT(data_tmp, 17)
36863 398633 : data_tmp = IAND(data_tmp, mask_left(7))
36864 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36865 398633 : ipack = ipack + 1
36866 398633 : packed_data(ipack) = pack_tmp
36867 398633 : data_tmp = full_data(idata)
36868 398633 : pack_tmp = ISHFT(data_tmp, 24)
36869 398633 : pack_tmp = ISHFT(pack_tmp, -24)
36870 398633 : idata = idata + 1
36871 398633 : data_tmp = full_data(idata)
36872 398633 : data_tmp = ISHFT(data_tmp, 17)
36873 398633 : data_tmp = IAND(data_tmp, mask_left(24))
36874 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36875 398633 : ipack = ipack + 1
36876 398633 : packed_data(ipack) = pack_tmp
36877 398633 : data_tmp = full_data(idata)
36878 398633 : pack_tmp = ISHFT(data_tmp, 41)
36879 398633 : pack_tmp = ISHFT(pack_tmp, -41)
36880 398633 : idata = idata + 1
36881 398633 : data_tmp = full_data(idata)
36882 398633 : data_tmp = ISHFT(data_tmp, 17)
36883 398633 : data_tmp = IAND(data_tmp, mask_left(41))
36884 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36885 398633 : ipack = ipack + 1
36886 398633 : packed_data(ipack) = pack_tmp
36887 398633 : data_tmp = full_data(idata)
36888 398633 : pack_tmp = ISHFT(data_tmp, 58)
36889 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36890 398633 : idata = idata + 1
36891 398633 : data_tmp = full_data(idata)
36892 398633 : data_tmp = ISHFT(data_tmp, 17)
36893 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36894 398633 : pack_tmp = ISHFT(pack_tmp, -11)
36895 398633 : idata = idata + 1
36896 398633 : data_tmp = full_data(idata)
36897 398633 : data_tmp = ISHFT(data_tmp, 17)
36898 398633 : data_tmp = IAND(data_tmp, mask_left(11))
36899 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36900 398633 : ipack = ipack + 1
36901 398633 : packed_data(ipack) = pack_tmp
36902 398633 : data_tmp = full_data(idata)
36903 398633 : pack_tmp = ISHFT(data_tmp, 28)
36904 398633 : pack_tmp = ISHFT(pack_tmp, -28)
36905 398633 : idata = idata + 1
36906 398633 : data_tmp = full_data(idata)
36907 398633 : data_tmp = ISHFT(data_tmp, 17)
36908 398633 : data_tmp = IAND(data_tmp, mask_left(28))
36909 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36910 398633 : ipack = ipack + 1
36911 398633 : packed_data(ipack) = pack_tmp
36912 398633 : data_tmp = full_data(idata)
36913 398633 : pack_tmp = ISHFT(data_tmp, 45)
36914 398633 : pack_tmp = ISHFT(pack_tmp, -45)
36915 398633 : idata = idata + 1
36916 398633 : data_tmp = full_data(idata)
36917 398633 : data_tmp = ISHFT(data_tmp, 17)
36918 398633 : data_tmp = IAND(data_tmp, mask_left(45))
36919 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36920 398633 : ipack = ipack + 1
36921 398633 : packed_data(ipack) = pack_tmp
36922 398633 : data_tmp = full_data(idata)
36923 398633 : pack_tmp = ISHFT(data_tmp, 62)
36924 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36925 398633 : idata = idata + 1
36926 398633 : data_tmp = full_data(idata)
36927 398633 : data_tmp = ISHFT(data_tmp, 17)
36928 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36929 398633 : pack_tmp = ISHFT(pack_tmp, -15)
36930 398633 : idata = idata + 1
36931 398633 : data_tmp = full_data(idata)
36932 398633 : data_tmp = ISHFT(data_tmp, 17)
36933 398633 : data_tmp = IAND(data_tmp, mask_left(15))
36934 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36935 398633 : ipack = ipack + 1
36936 398633 : packed_data(ipack) = pack_tmp
36937 398633 : data_tmp = full_data(idata)
36938 398633 : pack_tmp = ISHFT(data_tmp, 32)
36939 398633 : pack_tmp = ISHFT(pack_tmp, -32)
36940 398633 : idata = idata + 1
36941 398633 : data_tmp = full_data(idata)
36942 398633 : data_tmp = ISHFT(data_tmp, 17)
36943 398633 : data_tmp = IAND(data_tmp, mask_left(32))
36944 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36945 398633 : ipack = ipack + 1
36946 398633 : packed_data(ipack) = pack_tmp
36947 398633 : data_tmp = full_data(idata)
36948 398633 : pack_tmp = ISHFT(data_tmp, 49)
36949 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36950 398633 : idata = idata + 1
36951 398633 : data_tmp = full_data(idata)
36952 398633 : data_tmp = ISHFT(data_tmp, 17)
36953 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36954 398633 : pack_tmp = ISHFT(pack_tmp, -2)
36955 398633 : idata = idata + 1
36956 398633 : data_tmp = full_data(idata)
36957 398633 : data_tmp = ISHFT(data_tmp, 17)
36958 398633 : data_tmp = IAND(data_tmp, mask_left(2))
36959 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36960 398633 : ipack = ipack + 1
36961 398633 : packed_data(ipack) = pack_tmp
36962 398633 : data_tmp = full_data(idata)
36963 398633 : pack_tmp = ISHFT(data_tmp, 19)
36964 398633 : pack_tmp = ISHFT(pack_tmp, -19)
36965 398633 : idata = idata + 1
36966 398633 : data_tmp = full_data(idata)
36967 398633 : data_tmp = ISHFT(data_tmp, 17)
36968 398633 : data_tmp = IAND(data_tmp, mask_left(19))
36969 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36970 398633 : ipack = ipack + 1
36971 398633 : packed_data(ipack) = pack_tmp
36972 398633 : data_tmp = full_data(idata)
36973 398633 : pack_tmp = ISHFT(data_tmp, 36)
36974 398633 : pack_tmp = ISHFT(pack_tmp, -36)
36975 398633 : idata = idata + 1
36976 398633 : data_tmp = full_data(idata)
36977 398633 : data_tmp = ISHFT(data_tmp, 17)
36978 398633 : data_tmp = IAND(data_tmp, mask_left(36))
36979 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36980 398633 : ipack = ipack + 1
36981 398633 : packed_data(ipack) = pack_tmp
36982 398633 : data_tmp = full_data(idata)
36983 398633 : pack_tmp = ISHFT(data_tmp, 53)
36984 398633 : pack_tmp = ISHFT(pack_tmp, -47)
36985 398633 : idata = idata + 1
36986 398633 : data_tmp = full_data(idata)
36987 398633 : data_tmp = ISHFT(data_tmp, 17)
36988 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36989 398633 : pack_tmp = ISHFT(pack_tmp, -6)
36990 398633 : idata = idata + 1
36991 398633 : data_tmp = full_data(idata)
36992 398633 : data_tmp = ISHFT(data_tmp, 17)
36993 398633 : data_tmp = IAND(data_tmp, mask_left(6))
36994 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
36995 398633 : ipack = ipack + 1
36996 398633 : packed_data(ipack) = pack_tmp
36997 398633 : data_tmp = full_data(idata)
36998 398633 : pack_tmp = ISHFT(data_tmp, 23)
36999 398633 : pack_tmp = ISHFT(pack_tmp, -23)
37000 398633 : idata = idata + 1
37001 398633 : data_tmp = full_data(idata)
37002 398633 : data_tmp = ISHFT(data_tmp, 17)
37003 398633 : data_tmp = IAND(data_tmp, mask_left(23))
37004 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37005 398633 : ipack = ipack + 1
37006 398633 : packed_data(ipack) = pack_tmp
37007 398633 : data_tmp = full_data(idata)
37008 398633 : pack_tmp = ISHFT(data_tmp, 40)
37009 398633 : pack_tmp = ISHFT(pack_tmp, -40)
37010 398633 : idata = idata + 1
37011 398633 : data_tmp = full_data(idata)
37012 398633 : data_tmp = ISHFT(data_tmp, 17)
37013 398633 : data_tmp = IAND(data_tmp, mask_left(40))
37014 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37015 398633 : ipack = ipack + 1
37016 398633 : packed_data(ipack) = pack_tmp
37017 398633 : data_tmp = full_data(idata)
37018 398633 : pack_tmp = ISHFT(data_tmp, 57)
37019 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37020 398633 : idata = idata + 1
37021 398633 : data_tmp = full_data(idata)
37022 398633 : data_tmp = ISHFT(data_tmp, 17)
37023 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37024 398633 : pack_tmp = ISHFT(pack_tmp, -10)
37025 398633 : idata = idata + 1
37026 398633 : data_tmp = full_data(idata)
37027 398633 : data_tmp = ISHFT(data_tmp, 17)
37028 398633 : data_tmp = IAND(data_tmp, mask_left(10))
37029 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37030 398633 : ipack = ipack + 1
37031 398633 : packed_data(ipack) = pack_tmp
37032 398633 : data_tmp = full_data(idata)
37033 398633 : pack_tmp = ISHFT(data_tmp, 27)
37034 398633 : pack_tmp = ISHFT(pack_tmp, -27)
37035 398633 : idata = idata + 1
37036 398633 : data_tmp = full_data(idata)
37037 398633 : data_tmp = ISHFT(data_tmp, 17)
37038 398633 : data_tmp = IAND(data_tmp, mask_left(27))
37039 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37040 398633 : ipack = ipack + 1
37041 398633 : packed_data(ipack) = pack_tmp
37042 398633 : data_tmp = full_data(idata)
37043 398633 : pack_tmp = ISHFT(data_tmp, 44)
37044 398633 : pack_tmp = ISHFT(pack_tmp, -44)
37045 398633 : idata = idata + 1
37046 398633 : data_tmp = full_data(idata)
37047 398633 : data_tmp = ISHFT(data_tmp, 17)
37048 398633 : data_tmp = IAND(data_tmp, mask_left(44))
37049 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37050 398633 : ipack = ipack + 1
37051 398633 : packed_data(ipack) = pack_tmp
37052 398633 : data_tmp = full_data(idata)
37053 398633 : pack_tmp = ISHFT(data_tmp, 61)
37054 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37055 398633 : idata = idata + 1
37056 398633 : data_tmp = full_data(idata)
37057 398633 : data_tmp = ISHFT(data_tmp, 17)
37058 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37059 398633 : pack_tmp = ISHFT(pack_tmp, -14)
37060 398633 : idata = idata + 1
37061 398633 : data_tmp = full_data(idata)
37062 398633 : data_tmp = ISHFT(data_tmp, 17)
37063 398633 : data_tmp = IAND(data_tmp, mask_left(14))
37064 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37065 398633 : ipack = ipack + 1
37066 398633 : packed_data(ipack) = pack_tmp
37067 398633 : data_tmp = full_data(idata)
37068 398633 : pack_tmp = ISHFT(data_tmp, 31)
37069 398633 : pack_tmp = ISHFT(pack_tmp, -31)
37070 398633 : idata = idata + 1
37071 398633 : data_tmp = full_data(idata)
37072 398633 : data_tmp = ISHFT(data_tmp, 17)
37073 398633 : data_tmp = IAND(data_tmp, mask_left(31))
37074 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37075 398633 : ipack = ipack + 1
37076 398633 : packed_data(ipack) = pack_tmp
37077 398633 : data_tmp = full_data(idata)
37078 398633 : pack_tmp = ISHFT(data_tmp, 48)
37079 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37080 398633 : idata = idata + 1
37081 398633 : data_tmp = full_data(idata)
37082 398633 : data_tmp = ISHFT(data_tmp, 17)
37083 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37084 398633 : pack_tmp = ISHFT(pack_tmp, -1)
37085 398633 : idata = idata + 1
37086 398633 : data_tmp = full_data(idata)
37087 398633 : data_tmp = ISHFT(data_tmp, 17)
37088 398633 : data_tmp = IAND(data_tmp, mask_left(1))
37089 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37090 398633 : ipack = ipack + 1
37091 398633 : packed_data(ipack) = pack_tmp
37092 398633 : data_tmp = full_data(idata)
37093 398633 : pack_tmp = ISHFT(data_tmp, 18)
37094 398633 : pack_tmp = ISHFT(pack_tmp, -18)
37095 398633 : idata = idata + 1
37096 398633 : data_tmp = full_data(idata)
37097 398633 : data_tmp = ISHFT(data_tmp, 17)
37098 398633 : data_tmp = IAND(data_tmp, mask_left(18))
37099 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37100 398633 : ipack = ipack + 1
37101 398633 : packed_data(ipack) = pack_tmp
37102 398633 : data_tmp = full_data(idata)
37103 398633 : pack_tmp = ISHFT(data_tmp, 35)
37104 398633 : pack_tmp = ISHFT(pack_tmp, -35)
37105 398633 : idata = idata + 1
37106 398633 : data_tmp = full_data(idata)
37107 398633 : data_tmp = ISHFT(data_tmp, 17)
37108 398633 : data_tmp = IAND(data_tmp, mask_left(35))
37109 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37110 398633 : ipack = ipack + 1
37111 398633 : packed_data(ipack) = pack_tmp
37112 398633 : data_tmp = full_data(idata)
37113 398633 : pack_tmp = ISHFT(data_tmp, 52)
37114 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37115 398633 : idata = idata + 1
37116 398633 : data_tmp = full_data(idata)
37117 398633 : data_tmp = ISHFT(data_tmp, 17)
37118 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37119 398633 : pack_tmp = ISHFT(pack_tmp, -5)
37120 398633 : idata = idata + 1
37121 398633 : data_tmp = full_data(idata)
37122 398633 : data_tmp = ISHFT(data_tmp, 17)
37123 398633 : data_tmp = IAND(data_tmp, mask_left(5))
37124 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37125 398633 : ipack = ipack + 1
37126 398633 : packed_data(ipack) = pack_tmp
37127 398633 : data_tmp = full_data(idata)
37128 398633 : pack_tmp = ISHFT(data_tmp, 22)
37129 398633 : pack_tmp = ISHFT(pack_tmp, -22)
37130 398633 : idata = idata + 1
37131 398633 : data_tmp = full_data(idata)
37132 398633 : data_tmp = ISHFT(data_tmp, 17)
37133 398633 : data_tmp = IAND(data_tmp, mask_left(22))
37134 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37135 398633 : ipack = ipack + 1
37136 398633 : packed_data(ipack) = pack_tmp
37137 398633 : data_tmp = full_data(idata)
37138 398633 : pack_tmp = ISHFT(data_tmp, 39)
37139 398633 : pack_tmp = ISHFT(pack_tmp, -39)
37140 398633 : idata = idata + 1
37141 398633 : data_tmp = full_data(idata)
37142 398633 : data_tmp = ISHFT(data_tmp, 17)
37143 398633 : data_tmp = IAND(data_tmp, mask_left(39))
37144 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37145 398633 : ipack = ipack + 1
37146 398633 : packed_data(ipack) = pack_tmp
37147 398633 : data_tmp = full_data(idata)
37148 398633 : pack_tmp = ISHFT(data_tmp, 56)
37149 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37150 398633 : idata = idata + 1
37151 398633 : data_tmp = full_data(idata)
37152 398633 : data_tmp = ISHFT(data_tmp, 17)
37153 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37154 398633 : pack_tmp = ISHFT(pack_tmp, -9)
37155 398633 : idata = idata + 1
37156 398633 : data_tmp = full_data(idata)
37157 398633 : data_tmp = ISHFT(data_tmp, 17)
37158 398633 : data_tmp = IAND(data_tmp, mask_left(9))
37159 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37160 398633 : ipack = ipack + 1
37161 398633 : packed_data(ipack) = pack_tmp
37162 398633 : data_tmp = full_data(idata)
37163 398633 : pack_tmp = ISHFT(data_tmp, 26)
37164 398633 : pack_tmp = ISHFT(pack_tmp, -26)
37165 398633 : idata = idata + 1
37166 398633 : data_tmp = full_data(idata)
37167 398633 : data_tmp = ISHFT(data_tmp, 17)
37168 398633 : data_tmp = IAND(data_tmp, mask_left(26))
37169 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37170 398633 : ipack = ipack + 1
37171 398633 : packed_data(ipack) = pack_tmp
37172 398633 : data_tmp = full_data(idata)
37173 398633 : pack_tmp = ISHFT(data_tmp, 43)
37174 398633 : pack_tmp = ISHFT(pack_tmp, -43)
37175 398633 : idata = idata + 1
37176 398633 : data_tmp = full_data(idata)
37177 398633 : data_tmp = ISHFT(data_tmp, 17)
37178 398633 : data_tmp = IAND(data_tmp, mask_left(43))
37179 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37180 398633 : ipack = ipack + 1
37181 398633 : packed_data(ipack) = pack_tmp
37182 398633 : data_tmp = full_data(idata)
37183 398633 : pack_tmp = ISHFT(data_tmp, 60)
37184 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37185 398633 : idata = idata + 1
37186 398633 : data_tmp = full_data(idata)
37187 398633 : data_tmp = ISHFT(data_tmp, 17)
37188 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37189 398633 : pack_tmp = ISHFT(pack_tmp, -13)
37190 398633 : idata = idata + 1
37191 398633 : data_tmp = full_data(idata)
37192 398633 : data_tmp = ISHFT(data_tmp, 17)
37193 398633 : data_tmp = IAND(data_tmp, mask_left(13))
37194 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37195 398633 : ipack = ipack + 1
37196 398633 : packed_data(ipack) = pack_tmp
37197 398633 : data_tmp = full_data(idata)
37198 398633 : pack_tmp = ISHFT(data_tmp, 30)
37199 398633 : pack_tmp = ISHFT(pack_tmp, -30)
37200 398633 : idata = idata + 1
37201 398633 : data_tmp = full_data(idata)
37202 398633 : data_tmp = ISHFT(data_tmp, 17)
37203 398633 : data_tmp = IAND(data_tmp, mask_left(30))
37204 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37205 398633 : ipack = ipack + 1
37206 398633 : packed_data(ipack) = pack_tmp
37207 398633 : data_tmp = full_data(idata)
37208 398633 : pack_tmp = ISHFT(data_tmp, 47)
37209 398633 : pack_tmp = ISHFT(pack_tmp, -47)
37210 398633 : idata = idata + 1
37211 398633 : data_tmp = full_data(idata)
37212 398633 : data_tmp = ISHFT(data_tmp, 17)
37213 398633 : pack_tmp = IOR(pack_tmp, data_tmp)
37214 : pack_tmp = ISHFT(pack_tmp, 0)
37215 398633 : pack_tmp = ISHFT(pack_tmp, 0)
37216 398633 : ipack = ipack + 1
37217 398637 : packed_data(ipack) = pack_tmp
37218 : END DO
37219 26112 : IF (Ndata_rep < Ndata) THEN
37220 2254 : 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 114725 : 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 114725 : ipack = 0
37241 114725 : idata = 0
37242 114725 : pack_tmp = 0
37243 114725 : Ndata_rep = (Ndata/64)*64
37244 114725 : DO kdata = 1, Ndata_rep, 64
37245 1689366 : idata = idata + 1
37246 1689366 : data_tmp = ISHFT(pack_tmp, 47)
37247 1689366 : ipack = ipack + 1
37248 1689366 : pack_tmp = packed_data(ipack)
37249 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
37250 1689366 : pack_tmp = ISHFT(pack_tmp, -47)
37251 1689366 : idata = idata + 1
37252 1689366 : data_tmp = ISHFT(pack_tmp, 30)
37253 1689366 : ipack = ipack + 1
37254 1689366 : pack_tmp = packed_data(ipack)
37255 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
37256 1689366 : pack_tmp = ISHFT(pack_tmp, -30)
37257 1689366 : idata = idata + 1
37258 1689366 : data_tmp = ISHFT(pack_tmp, 13)
37259 1689366 : ipack = ipack + 1
37260 1689366 : pack_tmp = packed_data(ipack)
37261 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
37262 1689366 : pack_tmp = ISHFT(pack_tmp, -13)
37263 1689366 : idata = idata + 1
37264 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37265 1689366 : full_data(idata) = data_tmp
37266 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37267 1689366 : idata = idata + 1
37268 1689366 : data_tmp = ISHFT(pack_tmp, 43)
37269 1689366 : ipack = ipack + 1
37270 1689366 : pack_tmp = packed_data(ipack)
37271 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
37272 1689366 : pack_tmp = ISHFT(pack_tmp, -43)
37273 1689366 : idata = idata + 1
37274 1689366 : data_tmp = ISHFT(pack_tmp, 26)
37275 1689366 : ipack = ipack + 1
37276 1689366 : pack_tmp = packed_data(ipack)
37277 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
37278 1689366 : pack_tmp = ISHFT(pack_tmp, -26)
37279 1689366 : idata = idata + 1
37280 1689366 : data_tmp = ISHFT(pack_tmp, 9)
37281 1689366 : ipack = ipack + 1
37282 1689366 : pack_tmp = packed_data(ipack)
37283 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
37284 1689366 : pack_tmp = ISHFT(pack_tmp, -9)
37285 1689366 : idata = idata + 1
37286 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37287 1689366 : full_data(idata) = data_tmp
37288 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37289 1689366 : idata = idata + 1
37290 1689366 : data_tmp = ISHFT(pack_tmp, 39)
37291 1689366 : ipack = ipack + 1
37292 1689366 : pack_tmp = packed_data(ipack)
37293 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
37294 1689366 : pack_tmp = ISHFT(pack_tmp, -39)
37295 1689366 : idata = idata + 1
37296 1689366 : data_tmp = ISHFT(pack_tmp, 22)
37297 1689366 : ipack = ipack + 1
37298 1689366 : pack_tmp = packed_data(ipack)
37299 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
37300 1689366 : pack_tmp = ISHFT(pack_tmp, -22)
37301 1689366 : idata = idata + 1
37302 1689366 : data_tmp = ISHFT(pack_tmp, 5)
37303 1689366 : ipack = ipack + 1
37304 1689366 : pack_tmp = packed_data(ipack)
37305 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
37306 1689366 : pack_tmp = ISHFT(pack_tmp, -5)
37307 1689366 : idata = idata + 1
37308 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37309 1689366 : full_data(idata) = data_tmp
37310 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37311 1689366 : idata = idata + 1
37312 1689366 : data_tmp = ISHFT(pack_tmp, 35)
37313 1689366 : ipack = ipack + 1
37314 1689366 : pack_tmp = packed_data(ipack)
37315 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
37316 1689366 : pack_tmp = ISHFT(pack_tmp, -35)
37317 1689366 : idata = idata + 1
37318 1689366 : data_tmp = ISHFT(pack_tmp, 18)
37319 1689366 : ipack = ipack + 1
37320 1689366 : pack_tmp = packed_data(ipack)
37321 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
37322 1689366 : pack_tmp = ISHFT(pack_tmp, -18)
37323 1689366 : idata = idata + 1
37324 1689366 : data_tmp = ISHFT(pack_tmp, 1)
37325 1689366 : ipack = ipack + 1
37326 1689366 : pack_tmp = packed_data(ipack)
37327 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
37328 1689366 : pack_tmp = ISHFT(pack_tmp, -1)
37329 1689366 : idata = idata + 1
37330 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37331 1689366 : full_data(idata) = data_tmp
37332 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37333 1689366 : idata = idata + 1
37334 1689366 : data_tmp = ISHFT(pack_tmp, 31)
37335 1689366 : ipack = ipack + 1
37336 1689366 : pack_tmp = packed_data(ipack)
37337 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
37338 1689366 : pack_tmp = ISHFT(pack_tmp, -31)
37339 1689366 : idata = idata + 1
37340 1689366 : data_tmp = ISHFT(pack_tmp, 14)
37341 1689366 : ipack = ipack + 1
37342 1689366 : pack_tmp = packed_data(ipack)
37343 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
37344 1689366 : pack_tmp = ISHFT(pack_tmp, -14)
37345 1689366 : idata = idata + 1
37346 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37347 1689366 : full_data(idata) = data_tmp
37348 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37349 1689366 : idata = idata + 1
37350 1689366 : data_tmp = ISHFT(pack_tmp, 44)
37351 1689366 : ipack = ipack + 1
37352 1689366 : pack_tmp = packed_data(ipack)
37353 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
37354 1689366 : pack_tmp = ISHFT(pack_tmp, -44)
37355 1689366 : idata = idata + 1
37356 1689366 : data_tmp = ISHFT(pack_tmp, 27)
37357 1689366 : ipack = ipack + 1
37358 1689366 : pack_tmp = packed_data(ipack)
37359 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
37360 1689366 : pack_tmp = ISHFT(pack_tmp, -27)
37361 1689366 : idata = idata + 1
37362 1689366 : data_tmp = ISHFT(pack_tmp, 10)
37363 1689366 : ipack = ipack + 1
37364 1689366 : pack_tmp = packed_data(ipack)
37365 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
37366 1689366 : pack_tmp = ISHFT(pack_tmp, -10)
37367 1689366 : idata = idata + 1
37368 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37369 1689366 : full_data(idata) = data_tmp
37370 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37371 1689366 : idata = idata + 1
37372 1689366 : data_tmp = ISHFT(pack_tmp, 40)
37373 1689366 : ipack = ipack + 1
37374 1689366 : pack_tmp = packed_data(ipack)
37375 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
37376 1689366 : pack_tmp = ISHFT(pack_tmp, -40)
37377 1689366 : idata = idata + 1
37378 1689366 : data_tmp = ISHFT(pack_tmp, 23)
37379 1689366 : ipack = ipack + 1
37380 1689366 : pack_tmp = packed_data(ipack)
37381 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
37382 1689366 : pack_tmp = ISHFT(pack_tmp, -23)
37383 1689366 : idata = idata + 1
37384 1689366 : data_tmp = ISHFT(pack_tmp, 6)
37385 1689366 : ipack = ipack + 1
37386 1689366 : pack_tmp = packed_data(ipack)
37387 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
37388 1689366 : pack_tmp = ISHFT(pack_tmp, -6)
37389 1689366 : idata = idata + 1
37390 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37391 1689366 : full_data(idata) = data_tmp
37392 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37393 1689366 : idata = idata + 1
37394 1689366 : data_tmp = ISHFT(pack_tmp, 36)
37395 1689366 : ipack = ipack + 1
37396 1689366 : pack_tmp = packed_data(ipack)
37397 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
37398 1689366 : pack_tmp = ISHFT(pack_tmp, -36)
37399 1689366 : idata = idata + 1
37400 1689366 : data_tmp = ISHFT(pack_tmp, 19)
37401 1689366 : ipack = ipack + 1
37402 1689366 : pack_tmp = packed_data(ipack)
37403 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
37404 1689366 : pack_tmp = ISHFT(pack_tmp, -19)
37405 1689366 : idata = idata + 1
37406 1689366 : data_tmp = ISHFT(pack_tmp, 2)
37407 1689366 : ipack = ipack + 1
37408 1689366 : pack_tmp = packed_data(ipack)
37409 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
37410 1689366 : pack_tmp = ISHFT(pack_tmp, -2)
37411 1689366 : idata = idata + 1
37412 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37413 1689366 : full_data(idata) = data_tmp
37414 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37415 1689366 : idata = idata + 1
37416 1689366 : data_tmp = ISHFT(pack_tmp, 32)
37417 1689366 : ipack = ipack + 1
37418 1689366 : pack_tmp = packed_data(ipack)
37419 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
37420 1689366 : pack_tmp = ISHFT(pack_tmp, -32)
37421 1689366 : idata = idata + 1
37422 1689366 : data_tmp = ISHFT(pack_tmp, 15)
37423 1689366 : ipack = ipack + 1
37424 1689366 : pack_tmp = packed_data(ipack)
37425 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
37426 1689366 : pack_tmp = ISHFT(pack_tmp, -15)
37427 1689366 : idata = idata + 1
37428 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37429 1689366 : full_data(idata) = data_tmp
37430 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37431 1689366 : idata = idata + 1
37432 1689366 : data_tmp = ISHFT(pack_tmp, 45)
37433 1689366 : ipack = ipack + 1
37434 1689366 : pack_tmp = packed_data(ipack)
37435 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
37436 1689366 : pack_tmp = ISHFT(pack_tmp, -45)
37437 1689366 : idata = idata + 1
37438 1689366 : data_tmp = ISHFT(pack_tmp, 28)
37439 1689366 : ipack = ipack + 1
37440 1689366 : pack_tmp = packed_data(ipack)
37441 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
37442 1689366 : pack_tmp = ISHFT(pack_tmp, -28)
37443 1689366 : idata = idata + 1
37444 1689366 : data_tmp = ISHFT(pack_tmp, 11)
37445 1689366 : ipack = ipack + 1
37446 1689366 : pack_tmp = packed_data(ipack)
37447 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
37448 1689366 : pack_tmp = ISHFT(pack_tmp, -11)
37449 1689366 : idata = idata + 1
37450 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37451 1689366 : full_data(idata) = data_tmp
37452 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37453 1689366 : idata = idata + 1
37454 1689366 : data_tmp = ISHFT(pack_tmp, 41)
37455 1689366 : ipack = ipack + 1
37456 1689366 : pack_tmp = packed_data(ipack)
37457 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
37458 1689366 : pack_tmp = ISHFT(pack_tmp, -41)
37459 1689366 : idata = idata + 1
37460 1689366 : data_tmp = ISHFT(pack_tmp, 24)
37461 1689366 : ipack = ipack + 1
37462 1689366 : pack_tmp = packed_data(ipack)
37463 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
37464 1689366 : pack_tmp = ISHFT(pack_tmp, -24)
37465 1689366 : idata = idata + 1
37466 1689366 : data_tmp = ISHFT(pack_tmp, 7)
37467 1689366 : ipack = ipack + 1
37468 1689366 : pack_tmp = packed_data(ipack)
37469 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
37470 1689366 : pack_tmp = ISHFT(pack_tmp, -7)
37471 1689366 : idata = idata + 1
37472 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37473 1689366 : full_data(idata) = data_tmp
37474 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37475 1689366 : idata = idata + 1
37476 1689366 : data_tmp = ISHFT(pack_tmp, 37)
37477 1689366 : ipack = ipack + 1
37478 1689366 : pack_tmp = packed_data(ipack)
37479 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
37480 1689366 : pack_tmp = ISHFT(pack_tmp, -37)
37481 1689366 : idata = idata + 1
37482 1689366 : data_tmp = ISHFT(pack_tmp, 20)
37483 1689366 : ipack = ipack + 1
37484 1689366 : pack_tmp = packed_data(ipack)
37485 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
37486 1689366 : pack_tmp = ISHFT(pack_tmp, -20)
37487 1689366 : idata = idata + 1
37488 1689366 : data_tmp = ISHFT(pack_tmp, 3)
37489 1689366 : ipack = ipack + 1
37490 1689366 : pack_tmp = packed_data(ipack)
37491 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
37492 1689366 : pack_tmp = ISHFT(pack_tmp, -3)
37493 1689366 : idata = idata + 1
37494 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37495 1689366 : full_data(idata) = data_tmp
37496 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37497 1689366 : idata = idata + 1
37498 1689366 : data_tmp = ISHFT(pack_tmp, 33)
37499 1689366 : ipack = ipack + 1
37500 1689366 : pack_tmp = packed_data(ipack)
37501 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
37502 1689366 : pack_tmp = ISHFT(pack_tmp, -33)
37503 1689366 : idata = idata + 1
37504 1689366 : data_tmp = ISHFT(pack_tmp, 16)
37505 1689366 : ipack = ipack + 1
37506 1689366 : pack_tmp = packed_data(ipack)
37507 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
37508 1689366 : pack_tmp = ISHFT(pack_tmp, -16)
37509 1689366 : idata = idata + 1
37510 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37511 1689366 : full_data(idata) = data_tmp
37512 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37513 1689366 : idata = idata + 1
37514 1689366 : data_tmp = ISHFT(pack_tmp, 46)
37515 1689366 : ipack = ipack + 1
37516 1689366 : pack_tmp = packed_data(ipack)
37517 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
37518 1689366 : pack_tmp = ISHFT(pack_tmp, -46)
37519 1689366 : idata = idata + 1
37520 1689366 : data_tmp = ISHFT(pack_tmp, 29)
37521 1689366 : ipack = ipack + 1
37522 1689366 : pack_tmp = packed_data(ipack)
37523 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
37524 1689366 : pack_tmp = ISHFT(pack_tmp, -29)
37525 1689366 : idata = idata + 1
37526 1689366 : data_tmp = ISHFT(pack_tmp, 12)
37527 1689366 : ipack = ipack + 1
37528 1689366 : pack_tmp = packed_data(ipack)
37529 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
37530 1689366 : pack_tmp = ISHFT(pack_tmp, -12)
37531 1689366 : idata = idata + 1
37532 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37533 1689366 : full_data(idata) = data_tmp
37534 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37535 1689366 : idata = idata + 1
37536 1689366 : data_tmp = ISHFT(pack_tmp, 42)
37537 1689366 : ipack = ipack + 1
37538 1689366 : pack_tmp = packed_data(ipack)
37539 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
37540 1689366 : pack_tmp = ISHFT(pack_tmp, -42)
37541 1689366 : idata = idata + 1
37542 1689366 : data_tmp = ISHFT(pack_tmp, 25)
37543 1689366 : ipack = ipack + 1
37544 1689366 : pack_tmp = packed_data(ipack)
37545 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
37546 1689366 : pack_tmp = ISHFT(pack_tmp, -25)
37547 1689366 : idata = idata + 1
37548 1689366 : data_tmp = ISHFT(pack_tmp, 8)
37549 1689366 : ipack = ipack + 1
37550 1689366 : pack_tmp = packed_data(ipack)
37551 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
37552 1689366 : pack_tmp = ISHFT(pack_tmp, -8)
37553 1689366 : idata = idata + 1
37554 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37555 1689366 : full_data(idata) = data_tmp
37556 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37557 1689366 : idata = idata + 1
37558 1689366 : data_tmp = ISHFT(pack_tmp, 38)
37559 1689366 : ipack = ipack + 1
37560 1689366 : pack_tmp = packed_data(ipack)
37561 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
37562 1689366 : pack_tmp = ISHFT(pack_tmp, -38)
37563 1689366 : idata = idata + 1
37564 1689366 : data_tmp = ISHFT(pack_tmp, 21)
37565 1689366 : ipack = ipack + 1
37566 1689366 : pack_tmp = packed_data(ipack)
37567 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
37568 1689366 : pack_tmp = ISHFT(pack_tmp, -21)
37569 1689366 : idata = idata + 1
37570 1689366 : data_tmp = ISHFT(pack_tmp, 4)
37571 1689366 : ipack = ipack + 1
37572 1689366 : pack_tmp = packed_data(ipack)
37573 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
37574 1689366 : pack_tmp = ISHFT(pack_tmp, -4)
37575 1689366 : idata = idata + 1
37576 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37577 1689366 : full_data(idata) = data_tmp
37578 1689366 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37579 1689366 : idata = idata + 1
37580 1689366 : data_tmp = ISHFT(pack_tmp, 34)
37581 1689366 : ipack = ipack + 1
37582 1689366 : pack_tmp = packed_data(ipack)
37583 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
37584 1689366 : pack_tmp = ISHFT(pack_tmp, -34)
37585 1689366 : idata = idata + 1
37586 1689366 : data_tmp = ISHFT(pack_tmp, 17)
37587 1689366 : ipack = ipack + 1
37588 1689366 : pack_tmp = packed_data(ipack)
37589 1689366 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
37590 1689366 : pack_tmp = ISHFT(pack_tmp, -17)
37591 1689366 : idata = idata + 1
37592 1689366 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37593 1689366 : full_data(idata) = data_tmp
37594 1689446 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37595 : END DO
37596 114725 : IF (Ndata_rep < Ndata) THEN
37597 17204 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
37598 : END IF
37599 114725 : 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 2013064 : 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 2036740 : 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 23921 : 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 51515 : 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 24022 : 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 26433 : CALL ints2bits_11(Ndata, packed_data, full_data)
53900 : CASE (12)
53901 26679 : CALL ints2bits_12(Ndata, packed_data, full_data)
53902 : CASE (13)
53903 28076 : CALL ints2bits_13(Ndata, packed_data, full_data)
53904 : CASE (14)
53905 27120 : CALL ints2bits_14(Ndata, packed_data, full_data)
53906 : CASE (15)
53907 27438 : CALL ints2bits_15(Ndata, packed_data, full_data)
53908 : CASE (16)
53909 28308 : CALL ints2bits_16(Ndata, packed_data, full_data)
53910 : CASE (17)
53911 31814 : CALL ints2bits_17(Ndata, packed_data, full_data)
53912 : CASE (18)
53913 32721 : CALL ints2bits_18(Ndata, packed_data, full_data)
53914 : CASE (19)
53915 30454 : CALL ints2bits_19(Ndata, packed_data, full_data)
53916 : CASE (20)
53917 41397 : CALL ints2bits_20(Ndata, packed_data, full_data)
53918 : CASE (21)
53919 29420 : CALL ints2bits_21(Ndata, packed_data, full_data)
53920 : CASE (22)
53921 29277 : CALL ints2bits_22(Ndata, packed_data, full_data)
53922 : CASE (23)
53923 73601 : CALL ints2bits_23(Ndata, packed_data, full_data)
53924 : CASE (24)
53925 36159 : CALL ints2bits_24(Ndata, packed_data, full_data)
53926 : CASE (25)
53927 37326 : CALL ints2bits_25(Ndata, packed_data, full_data)
53928 : CASE (26)
53929 30075 : CALL ints2bits_26(Ndata, packed_data, full_data)
53930 : CASE (27)
53931 29614 : CALL ints2bits_27(Ndata, packed_data, full_data)
53932 : CASE (28)
53933 33876 : CALL ints2bits_28(Ndata, packed_data, full_data)
53934 : CASE (29)
53935 36880 : CALL ints2bits_29(Ndata, packed_data, full_data)
53936 : CASE (30)
53937 43669 : CALL ints2bits_30(Ndata, packed_data, full_data)
53938 : CASE (31)
53939 43650 : CALL ints2bits_31(Ndata, packed_data, full_data)
53940 : CASE (32)
53941 52049 : CALL ints2bits_32(Ndata, packed_data, full_data)
53942 : CASE (33)
53943 53526 : CALL ints2bits_33(Ndata, packed_data, full_data)
53944 : CASE (34)
53945 46935 : CALL ints2bits_34(Ndata, packed_data, full_data)
53946 : CASE (35)
53947 47204 : 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 35359 : CALL ints2bits_37(Ndata, packed_data, full_data)
53952 : CASE (38)
53953 32712 : CALL ints2bits_38(Ndata, packed_data, full_data)
53954 : CASE (39)
53955 28447 : 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 27007 : CALL ints2bits_41(Ndata, packed_data, full_data)
53960 : CASE (42)
53961 25373 : CALL ints2bits_42(Ndata, packed_data, full_data)
53962 : CASE (43)
53963 26035 : CALL ints2bits_43(Ndata, packed_data, full_data)
53964 : CASE (44)
53965 27514 : CALL ints2bits_44(Ndata, packed_data, full_data)
53966 : CASE (45)
53967 29149 : CALL ints2bits_45(Ndata, packed_data, full_data)
53968 : CASE (46)
53969 28680 : 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 2013064 : CALL ints2bits_63(Ndata, packed_data, full_data)
54004 : END SELECT
54005 2013064 : END SUBROUTINE ints2bits_specific
54006 :
54007 : ! **************************************************************************************************
54008 : !> \brief ...
54009 : !> \param Nbits ...
54010 : !> \param Ndata ...
54011 : !> \param packed_data ...
54012 : !> \param full_data ...
54013 : ! **************************************************************************************************
54014 9262499 : 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 9357926 : 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 245707 : 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 99008 : CALL bits2ints_8(Ndata, packed_data, full_data)
54036 : CASE (9)
54037 98342 : 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 116992 : CALL bits2ints_11(Ndata, packed_data, full_data)
54042 : CASE (12)
54043 118924 : CALL bits2ints_12(Ndata, packed_data, full_data)
54044 : CASE (13)
54045 131082 : CALL bits2ints_13(Ndata, packed_data, full_data)
54046 : CASE (14)
54047 122822 : CALL bits2ints_14(Ndata, packed_data, full_data)
54048 : CASE (15)
54049 124897 : CALL bits2ints_15(Ndata, packed_data, full_data)
54050 : CASE (16)
54051 137301 : CALL bits2ints_16(Ndata, packed_data, full_data)
54052 : CASE (17)
54053 162988 : CALL bits2ints_17(Ndata, packed_data, full_data)
54054 : CASE (18)
54055 170117 : CALL bits2ints_18(Ndata, packed_data, full_data)
54056 : CASE (19)
54057 154104 : CALL bits2ints_19(Ndata, packed_data, full_data)
54058 : CASE (20)
54059 283120 : CALL bits2ints_20(Ndata, packed_data, full_data)
54060 : CASE (21)
54061 150592 : CALL bits2ints_21(Ndata, packed_data, full_data)
54062 : CASE (22)
54063 150345 : CALL bits2ints_22(Ndata, packed_data, full_data)
54064 : CASE (23)
54065 228100 : CALL bits2ints_23(Ndata, packed_data, full_data)
54066 : CASE (24)
54067 160664 : CALL bits2ints_24(Ndata, packed_data, full_data)
54068 : CASE (25)
54069 161571 : CALL bits2ints_25(Ndata, packed_data, full_data)
54070 : CASE (26)
54071 133483 : CALL bits2ints_26(Ndata, packed_data, full_data)
54072 : CASE (27)
54073 133749 : CALL bits2ints_27(Ndata, packed_data, full_data)
54074 : CASE (28)
54075 156972 : CALL bits2ints_28(Ndata, packed_data, full_data)
54076 : CASE (29)
54077 177246 : CALL bits2ints_29(Ndata, packed_data, full_data)
54078 : CASE (30)
54079 226921 : CALL bits2ints_30(Ndata, packed_data, full_data)
54080 : CASE (31)
54081 273385 : CALL bits2ints_31(Ndata, packed_data, full_data)
54082 : CASE (32)
54083 351255 : CALL bits2ints_32(Ndata, packed_data, full_data)
54084 : CASE (33)
54085 265947 : CALL bits2ints_33(Ndata, packed_data, full_data)
54086 : CASE (34)
54087 218297 : CALL bits2ints_34(Ndata, packed_data, full_data)
54088 : CASE (35)
54089 226587 : CALL bits2ints_35(Ndata, packed_data, full_data)
54090 : CASE (36)
54091 175748 : CALL bits2ints_36(Ndata, packed_data, full_data)
54092 : CASE (37)
54093 148792 : CALL bits2ints_37(Ndata, packed_data, full_data)
54094 : CASE (38)
54095 162450 : CALL bits2ints_38(Ndata, packed_data, full_data)
54096 : CASE (39)
54097 125730 : 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 131305 : CALL bits2ints_41(Ndata, packed_data, full_data)
54102 : CASE (42)
54103 115902 : CALL bits2ints_42(Ndata, packed_data, full_data)
54104 : CASE (43)
54105 115831 : CALL bits2ints_43(Ndata, packed_data, full_data)
54106 : CASE (44)
54107 123361 : CALL bits2ints_44(Ndata, packed_data, full_data)
54108 : CASE (45)
54109 132071 : CALL bits2ints_45(Ndata, packed_data, full_data)
54110 : CASE (46)
54111 120083 : CALL bits2ints_46(Ndata, packed_data, full_data)
54112 : CASE (47)
54113 114725 : 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 9262499 : CALL bits2ints_63(Ndata, packed_data, full_data)
54146 : END SELECT
54147 9262499 : END SUBROUTINE bits2ints_specific
54148 :
54149 : END MODULE hfx_compression_core_methods
|