public void decode(long[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations) {for (int i = 0; i < iterations; ++i) {final long block = blocks[blocksOffset++];for (int shift = 60; shift >= 0; shift -= 4) {values[valuesOffset++] = (block >>> shift) & 15;}}}

public override void Decode(long[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations){for (int i = 0; i < iterations; ++i){long block = blocks[blocksOffset++];for (int shift = 60; shift >= 0; shift -= 4){values[valuesOffset++] = ((long)((ulong)block >> shift)) & 15;}}}
