#include "turbopfor-common.h"
+#include <algorithm>
#include <assert.h>
#include <limits.h>
#include <stdint.h>
+#include <string.h>
template<class Docid>
void write_le(Docid val, void *out)
} else if constexpr (sizeof(Docid) == 2) {
val = htole16(val);
} else if constexpr (sizeof(Docid) == 1) {
- val = val;
+ // No change.
} else {
assert(false);
}
out[1] = in & 0xff;
out[2] = (in >> 8) & 0xff;
return out + 3;
+ } else if (in < 0x10000000) {
+ out[0] = (in >> 24) | 0xe0;
+ out[1] = (in >> 16) & 0xff;
+ out[2] = (in >> 8) & 0xff;
+ out[3] = in & 0xff;
+ return out + 4;
} else {
assert(false); // Not implemented.
}