static inline void unpack_bits_56()

in theta/include/bit_packing.hpp [5546:5603]


static inline void unpack_bits_56(uint64_t* values, const uint8_t* ptr) {
  values[0] = static_cast<uint64_t>(*ptr++) << 48;
  values[0] |= static_cast<uint64_t>(*ptr++) << 40;
  values[0] |= static_cast<uint64_t>(*ptr++) << 32;
  values[0] |= static_cast<uint64_t>(*ptr++) << 24;
  values[0] |= *ptr++ << 16;
  values[0] |= *ptr++ << 8;
  values[0] |= *ptr++;
  values[1] = static_cast<uint64_t>(*ptr++) << 48;
  values[1] |= static_cast<uint64_t>(*ptr++) << 40;
  values[1] |= static_cast<uint64_t>(*ptr++) << 32;
  values[1] |= static_cast<uint64_t>(*ptr++) << 24;
  values[1] |= *ptr++ << 16;
  values[1] |= *ptr++ << 8;
  values[1] |= *ptr++;
  values[2] = static_cast<uint64_t>(*ptr++) << 48;
  values[2] |= static_cast<uint64_t>(*ptr++) << 40;
  values[2] |= static_cast<uint64_t>(*ptr++) << 32;
  values[2] |= static_cast<uint64_t>(*ptr++) << 24;
  values[2] |= *ptr++ << 16;
  values[2] |= *ptr++ << 8;
  values[2] |= *ptr++;
  values[3] = static_cast<uint64_t>(*ptr++) << 48;
  values[3] |= static_cast<uint64_t>(*ptr++) << 40;
  values[3] |= static_cast<uint64_t>(*ptr++) << 32;
  values[3] |= static_cast<uint64_t>(*ptr++) << 24;
  values[3] |= *ptr++ << 16;
  values[3] |= *ptr++ << 8;
  values[3] |= *ptr++;
  values[4] = static_cast<uint64_t>(*ptr++) << 48;
  values[4] |= static_cast<uint64_t>(*ptr++) << 40;
  values[4] |= static_cast<uint64_t>(*ptr++) << 32;
  values[4] |= static_cast<uint64_t>(*ptr++) << 24;
  values[4] |= *ptr++ << 16;
  values[4] |= *ptr++ << 8;
  values[4] |= *ptr++;
  values[5] = static_cast<uint64_t>(*ptr++) << 48;
  values[5] |= static_cast<uint64_t>(*ptr++) << 40;
  values[5] |= static_cast<uint64_t>(*ptr++) << 32;
  values[5] |= static_cast<uint64_t>(*ptr++) << 24;
  values[5] |= *ptr++ << 16;
  values[5] |= *ptr++ << 8;
  values[5] |= *ptr++;
  values[6] = static_cast<uint64_t>(*ptr++) << 48;
  values[6] |= static_cast<uint64_t>(*ptr++) << 40;
  values[6] |= static_cast<uint64_t>(*ptr++) << 32;
  values[6] |= static_cast<uint64_t>(*ptr++) << 24;
  values[6] |= *ptr++ << 16;
  values[6] |= *ptr++ << 8;
  values[6] |= *ptr++;
  values[7] = static_cast<uint64_t>(*ptr++) << 48;
  values[7] |= static_cast<uint64_t>(*ptr++) << 40;
  values[7] |= static_cast<uint64_t>(*ptr++) << 32;
  values[7] |= static_cast<uint64_t>(*ptr++) << 24;
  values[7] |= *ptr++ << 16;
  values[7] |= *ptr++ << 8;
  values[7] |= *ptr;
}