static inline void pack_bits_60()

in theta/include/bit_packing.hpp [2908:2980]


static inline void pack_bits_60(const uint64_t* values, uint8_t* ptr) {
  *ptr++ = static_cast<uint8_t>(values[0] >> 52);
  *ptr++ = static_cast<uint8_t>(values[0] >> 44);
  *ptr++ = static_cast<uint8_t>(values[0] >> 36);
  *ptr++ = static_cast<uint8_t>(values[0] >> 28);
  *ptr++ = static_cast<uint8_t>(values[0] >> 20);
  *ptr++ = static_cast<uint8_t>(values[0] >> 12);
  *ptr++ = static_cast<uint8_t>(values[0] >> 4);

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

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

  *ptr = static_cast<uint8_t>(values[2] << 4);
  *ptr++ |= static_cast<uint8_t>(values[3] >> 56);
  *ptr++ = static_cast<uint8_t>(values[3] >> 48);
  *ptr++ = static_cast<uint8_t>(values[3] >> 40);
  *ptr++ = static_cast<uint8_t>(values[3] >> 32);
  *ptr++ = static_cast<uint8_t>(values[3] >> 24);
  *ptr++ = static_cast<uint8_t>(values[3] >> 16);
  *ptr++ = static_cast<uint8_t>(values[3] >> 8);
  *ptr++ = static_cast<uint8_t>(values[3]);

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

  *ptr = static_cast<uint8_t>(values[4] << 4);
  *ptr++ |= static_cast<uint8_t>(values[5] >> 56);
  *ptr++ = static_cast<uint8_t>(values[5] >> 48);
  *ptr++ = static_cast<uint8_t>(values[5] >> 40);
  *ptr++ = static_cast<uint8_t>(values[5] >> 32);
  *ptr++ = static_cast<uint8_t>(values[5] >> 24);
  *ptr++ = static_cast<uint8_t>(values[5] >> 16);
  *ptr++ = static_cast<uint8_t>(values[5] >> 8);
  *ptr++ = static_cast<uint8_t>(values[5]);

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

  *ptr = static_cast<uint8_t>(values[6] << 4);
  *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]);
}