def DecodeValues(block, values, encoded_values, bz, by, bx, nbits):
# get the number of values per 8 byte uint64
if (nbits > 0):
values_per_uint64 = 64 / nbits
ie = 0
for value in encoded_values:
for i in range(0, values_per_uint64):
lower_bits_to_remove = (
(values_per_uint64 - i - 1) * nbits
)
values[ie] = (
(value >> lower_bits_to_remove) % 2**nbits
)
ie += 1
ii = 0
# get the lookup table
for iw in range(0, bz):
for iv in range(0, by):
for iu in range(0, bx):
block[iw, iv, iu] = values[ii]
ii += 1
return block, values
评论列表
文章目录