private void Uncompress()
{
int index = 0;
var list = new List<uint>();
if (_compressed == null)
return;
foreach (var ci in _compressed)
{
if ((ci & 0x80000000) == 0) // literal
{
Write31Bits(list, index, ci);
index += 31;
}
else
{
uint count = ci & 0x3fffffff;
if ((ci & 0x40000000) > 0) // ones count
WriteOnes(list, index, count);
index += (int) count;
}
}
ResizeAsNeeded(list, index);
_uncompressed = list.ToArray();
}