static void packBits60()

in src/main/java/org/apache/datasketches/theta/BitPacking.java [3061:3133]


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

    buf[off] = (byte) (values[i + 0] << 4);
    buf[off++] |= values[i + 1] >>> 56;
    buf[off++] = (byte) (values[i + 1] >>> 48);
    buf[off++] = (byte) (values[i + 1] >>> 40);
    buf[off++] = (byte) (values[i + 1] >>> 32);
    buf[off++] = (byte) (values[i + 1] >>> 24);
    buf[off++] = (byte) (values[i + 1] >>> 16);
    buf[off++] = (byte) (values[i + 1] >>> 8);
    buf[off++] = (byte) (values[i + 1]);

    buf[off++] = (byte) (values[i + 2] >>> 52);
    buf[off++] = (byte) (values[i + 2] >>> 44);
    buf[off++] = (byte) (values[i + 2] >>> 36);
    buf[off++] = (byte) (values[i + 2] >>> 28);
    buf[off++] = (byte) (values[i + 2] >>> 20);
    buf[off++] = (byte) (values[i + 2] >>> 12);
    buf[off++] = (byte) (values[i + 2] >>> 4);

    buf[off] = (byte) (values[i + 2] << 4);
    buf[off++] |= values[i + 3] >>> 56;
    buf[off++] = (byte) (values[i + 3] >>> 48);
    buf[off++] = (byte) (values[i + 3] >>> 40);
    buf[off++] = (byte) (values[i + 3] >>> 32);
    buf[off++] = (byte) (values[i + 3] >>> 24);
    buf[off++] = (byte) (values[i + 3] >>> 16);
    buf[off++] = (byte) (values[i + 3] >>> 8);
    buf[off++] = (byte) (values[i + 3]);

    buf[off++] = (byte) (values[i + 4] >>> 52);
    buf[off++] = (byte) (values[i + 4] >>> 44);
    buf[off++] = (byte) (values[i + 4] >>> 36);
    buf[off++] = (byte) (values[i + 4] >>> 28);
    buf[off++] = (byte) (values[i + 4] >>> 20);
    buf[off++] = (byte) (values[i + 4] >>> 12);
    buf[off++] = (byte) (values[i + 4] >>> 4);

    buf[off] = (byte) (values[i + 4] << 4);
    buf[off++] |= values[i + 5] >>> 56;
    buf[off++] = (byte) (values[i + 5] >>> 48);
    buf[off++] = (byte) (values[i + 5] >>> 40);
    buf[off++] = (byte) (values[i + 5] >>> 32);
    buf[off++] = (byte) (values[i + 5] >>> 24);
    buf[off++] = (byte) (values[i + 5] >>> 16);
    buf[off++] = (byte) (values[i + 5] >>> 8);
    buf[off++] = (byte) (values[i + 5]);

    buf[off++] = (byte) (values[i + 6] >>> 52);
    buf[off++] = (byte) (values[i + 6] >>> 44);
    buf[off++] = (byte) (values[i + 6] >>> 36);
    buf[off++] = (byte) (values[i + 6] >>> 28);
    buf[off++] = (byte) (values[i + 6] >>> 20);
    buf[off++] = (byte) (values[i + 6] >>> 12);
    buf[off++] = (byte) (values[i + 6] >>> 4);

    buf[off] = (byte) (values[i + 6] << 4);
    buf[off++] |= values[i + 7] >>> 56;
    buf[off++] = (byte) (values[i + 7] >>> 48);
    buf[off++] = (byte) (values[i + 7] >>> 40);
    buf[off++] = (byte) (values[i + 7] >>> 32);
    buf[off++] = (byte) (values[i + 7] >>> 24);
    buf[off++] = (byte) (values[i + 7] >>> 16);
    buf[off++] = (byte) (values[i + 7] >>> 8);
    buf[off] = (byte) (values[i + 7]);
  }