We were creating the bits array in the wrong order, leading to
multiple-bit masks being decoded in reverse.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
val = mask << shift
for i in range(0, width):
if mask & (1 << i):
val = mask << shift
for i in range(0, width):
if mask & (1 << i):
- bits.append(width - i - 1 - shift)
+ bits.insert(0, width - i - 1 - shift)
return bits
@staticmethod
return bits
@staticmethod