static void unpackBits60()

in src/main/java/org/apache/datasketches/theta/BitPacking.java [5982:6054]


  static void unpackBits60(final long[] values, final int i, final byte[] buf, int off) {
    values[i + 0] = (Byte.toUnsignedLong(buf[off++])) << 52;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 44;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 36;
    values[i + 0] |= (Byte.toUnsignedLong(buf[off++])) << 28;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 20;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 12;
    values[i + 0] |= Byte.toUnsignedLong(buf[off++]) << 4;
    values[i + 0] |= Byte.toUnsignedLong(buf[off]) >>> 4;

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

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

    values[i + 3] = (Byte.toUnsignedLong(buf[off++]) & 0xf) << 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++])) << 52;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 44;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 36;
    values[i + 4] |= (Byte.toUnsignedLong(buf[off++])) << 28;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 20;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 12;
    values[i + 4] |= Byte.toUnsignedLong(buf[off++]) << 4;
    values[i + 4] |= Byte.toUnsignedLong(buf[off]) >>> 4;

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

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

    values[i + 7] = (Byte.toUnsignedLong(buf[off++]) & 0xf) << 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]);
  }