static void unpackBits62()

in src/main/java/org/apache/datasketches/theta/BitPacking.java [6134:6210]


  static void unpackBits62(final long[] values, final int i, final byte[] buf, int off) {
    values[i + 0] = (Byte.toUnsignedLong(buf[off++])) << 54;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 46;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 38;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 30;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 22;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 14;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 6;
    values[i + 0] |= Byte.toUnsignedLong(buf[off]) >>> 2;

    values[i + 1] = (Byte.toUnsignedLong(buf[off++]) & 3) << 60;
    values[i + 1] |= (Byte.toUnsignedLong(buf[off++])) << 52;
    values[i + 1] |= (Byte.toUnsignedLong(buf[off++])) << 44;
    values[i + 1] |= (Byte.toUnsignedLong(buf[off++])) << 36;
    values[i + 1] |= (Byte.toUnsignedLong(buf[off++])) << 28;
    values[i + 1] |= Byte.toUnsignedLong(buf[off++]) << 20;
    values[i + 1] |= Byte.toUnsignedLong(buf[off++]) << 12;
    values[i + 1] |= Byte.toUnsignedLong(buf[off++]) << 4;
    values[i + 1] |= Byte.toUnsignedLong(buf[off]) >>> 4;

    values[i + 2] = (Byte.toUnsignedLong(buf[off++]) & 0xf) << 58;
    values[i + 2] |= (Byte.toUnsignedLong(buf[off++])) << 50;
    values[i + 2] |= (Byte.toUnsignedLong(buf[off++])) << 42;
    values[i + 2] |= (Byte.toUnsignedLong(buf[off++])) << 34;
    values[i + 2] |= (Byte.toUnsignedLong(buf[off++])) << 26;
    values[i + 2] |= Byte.toUnsignedLong(buf[off++]) << 18;
    values[i + 2] |= Byte.toUnsignedLong(buf[off++]) << 10;
    values[i + 2] |= Byte.toUnsignedLong(buf[off++]) << 2;
    values[i + 2] |= Byte.toUnsignedLong(buf[off]) >>> 6;

    values[i + 3] = (Byte.toUnsignedLong(buf[off++]) & 0x3f) << 56;
    values[i + 3] |= (Byte.toUnsignedLong(buf[off++])) << 48;
    values[i + 3] |= (Byte.toUnsignedLong(buf[off++])) << 40;
    values[i + 3] |= (Byte.toUnsignedLong(buf[off++])) << 32;
    values[i + 3] |= (Byte.toUnsignedLong(buf[off++])) << 24;
    values[i + 3] |= Byte.toUnsignedLong(buf[off++]) << 16;
    values[i + 3] |= Byte.toUnsignedLong(buf[off++]) << 8;
    values[i + 3] |= Byte.toUnsignedLong(buf[off++]);

    values[i + 4] = (Byte.toUnsignedLong(buf[off++])) << 54;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 46;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 38;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 30;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 22;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 14;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 6;
    values[i + 4] |= Byte.toUnsignedLong(buf[off]) >>> 2;

    values[i + 5] = (Byte.toUnsignedLong(buf[off++]) & 3) << 60;
    values[i + 5] |= (Byte.toUnsignedLong(buf[off++])) << 52;
    values[i + 5] |= (Byte.toUnsignedLong(buf[off++])) << 44;
    values[i + 5] |= (Byte.toUnsignedLong(buf[off++])) << 36;
    values[i + 5] |= (Byte.toUnsignedLong(buf[off++])) << 28;
    values[i + 5] |= Byte.toUnsignedLong(buf[off++]) << 20;
    values[i + 5] |= Byte.toUnsignedLong(buf[off++]) << 12;
    values[i + 5] |= Byte.toUnsignedLong(buf[off++]) << 4;
    values[i + 5] |= Byte.toUnsignedLong(buf[off]) >>> 4;

    values[i + 6] = (Byte.toUnsignedLong(buf[off++]) & 0xf) << 58;
    values[i + 6] |= (Byte.toUnsignedLong(buf[off++])) << 50;
    values[i + 6] |= (Byte.toUnsignedLong(buf[off++])) << 42;
    values[i + 6] |= (Byte.toUnsignedLong(buf[off++])) << 34;
    values[i + 6] |= (Byte.toUnsignedLong(buf[off++])) << 26;
    values[i + 6] |= Byte.toUnsignedLong(buf[off++]) << 18;
    values[i + 6] |= Byte.toUnsignedLong(buf[off++]) << 10;
    values[i + 6] |= Byte.toUnsignedLong(buf[off++]) << 2;
    values[i + 6] |= Byte.toUnsignedLong(buf[off]) >>> 6;

    values[i + 7] = (Byte.toUnsignedLong(buf[off++]) & 0x3f) << 56;
    values[i + 7] |= (Byte.toUnsignedLong(buf[off++])) << 48;
    values[i + 7] |= (Byte.toUnsignedLong(buf[off++])) << 40;
    values[i + 7] |= (Byte.toUnsignedLong(buf[off++])) << 32;
    values[i + 7] |= (Byte.toUnsignedLong(buf[off++])) << 24;
    values[i + 7] |= Byte.toUnsignedLong(buf[off++]) << 16;
    values[i + 7] |= Byte.toUnsignedLong(buf[off++]) << 8;
    values[i + 7] |= Byte.toUnsignedLong(buf[off]);
  }