| 150 | const int* __restrict__ binary_code, T* __restrict__ compact_code, size_t length |
| 151 | ) { |
| 152 | constexpr size_t kTypeBits = sizeof(T) * 8; |
| 153 | auto* output = reinterpret_cast<uint8_t*>(compact_code); |
| 154 | |
| 155 | for (size_t i = 0; i < length; i += kTypeBits) { |
| 156 | T cur = 0; |
| 157 | for (size_t j = 0; j < kTypeBits; ++j) { |
| 158 | cur |= (static_cast<T>(binary_code[i + j]) << (kTypeBits - 1 - j)); |
| 159 | } |