static inline void pack_bits_57()

in theta/include/bit_packing.hpp [2684:2756]


static inline void pack_bits_57(const uint64_t* values, uint8_t* ptr) {
  *ptr++ = static_cast<uint8_t>(values[0] >> 49);
  *ptr++ = static_cast<uint8_t>(values[0] >> 41);
  *ptr++ = static_cast<uint8_t>(values[0] >> 33);
  *ptr++ = static_cast<uint8_t>(values[0] >> 25);
  *ptr++ = static_cast<uint8_t>(values[0] >> 17);
  *ptr++ = static_cast<uint8_t>(values[0] >> 9);
  *ptr++ = static_cast<uint8_t>(values[0] >> 1);

  *ptr = static_cast<uint8_t>(values[0] << 7);
  *ptr++ |= static_cast<uint8_t>(values[1] >> 50);
  *ptr++ = static_cast<uint8_t>(values[1] >> 42);
  *ptr++ = static_cast<uint8_t>(values[1] >> 34);
  *ptr++ = static_cast<uint8_t>(values[1] >> 26);
  *ptr++ = static_cast<uint8_t>(values[1] >> 18);
  *ptr++ = static_cast<uint8_t>(values[1] >> 10);
  *ptr++ = static_cast<uint8_t>(values[1] >> 2);

  *ptr = static_cast<uint8_t>(values[1] << 6);
  *ptr++ |= static_cast<uint8_t>(values[2] >> 51);
  *ptr++ = static_cast<uint8_t>(values[2] >> 43);
  *ptr++ = static_cast<uint8_t>(values[2] >> 35);
  *ptr++ = static_cast<uint8_t>(values[2] >> 27);
  *ptr++ = static_cast<uint8_t>(values[2] >> 19);
  *ptr++ = static_cast<uint8_t>(values[2] >> 11);
  *ptr++ = static_cast<uint8_t>(values[2] >> 3);

  *ptr = static_cast<uint8_t>(values[2] << 5);
  *ptr++ |= static_cast<uint8_t>(values[3] >> 52);
  *ptr++ = static_cast<uint8_t>(values[3] >> 44);
  *ptr++ = static_cast<uint8_t>(values[3] >> 36);
  *ptr++ = static_cast<uint8_t>(values[3] >> 28);
  *ptr++ = static_cast<uint8_t>(values[3] >> 20);
  *ptr++ = static_cast<uint8_t>(values[3] >> 12);
  *ptr++ = static_cast<uint8_t>(values[3] >> 4);

  *ptr = static_cast<uint8_t>(values[3] << 4);
  *ptr++ |= static_cast<uint8_t>(values[4] >> 53);
  *ptr++ = static_cast<uint8_t>(values[4] >> 45);
  *ptr++ = static_cast<uint8_t>(values[4] >> 37);
  *ptr++ = static_cast<uint8_t>(values[4] >> 29);
  *ptr++ = static_cast<uint8_t>(values[4] >> 21);
  *ptr++ = static_cast<uint8_t>(values[4] >> 13);
  *ptr++ = static_cast<uint8_t>(values[4] >> 5);

  *ptr = static_cast<uint8_t>(values[4] << 3);
  *ptr++ |= static_cast<uint8_t>(values[5] >> 54);
  *ptr++ = static_cast<uint8_t>(values[5] >> 46);
  *ptr++ = static_cast<uint8_t>(values[5] >> 38);
  *ptr++ = static_cast<uint8_t>(values[5] >> 30);
  *ptr++ = static_cast<uint8_t>(values[5] >> 22);
  *ptr++ = static_cast<uint8_t>(values[5] >> 14);
  *ptr++ = static_cast<uint8_t>(values[5] >> 6);

  *ptr = static_cast<uint8_t>(values[5] << 2);
  *ptr++ |= static_cast<uint8_t>(values[6] >> 55);
  *ptr++ = static_cast<uint8_t>(values[6] >> 47);
  *ptr++ = static_cast<uint8_t>(values[6] >> 39);
  *ptr++ = static_cast<uint8_t>(values[6] >> 31);
  *ptr++ = static_cast<uint8_t>(values[6] >> 23);
  *ptr++ = static_cast<uint8_t>(values[6] >> 15);
  *ptr++ = static_cast<uint8_t>(values[6] >> 7);

  *ptr = static_cast<uint8_t>(values[6] << 1);
  *ptr++ |= static_cast<uint8_t>(values[7] >> 56);
  *ptr++ = static_cast<uint8_t>(values[7] >> 48);
  *ptr++ = static_cast<uint8_t>(values[7] >> 40);
  *ptr++ = static_cast<uint8_t>(values[7] >> 32);
  *ptr++ = static_cast<uint8_t>(values[7] >> 24);
  *ptr++ = static_cast<uint8_t>(values[7] >> 16);
  *ptr++ = static_cast<uint8_t>(values[7] >> 8);
  *ptr = static_cast<uint8_t>(values[7]);
}