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

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