8#include <hashx_endian.h>
12#define EQUIX_STAGE1_MASK ((1ull << 15) - 1)
13#define EQUIX_STAGE2_MASK ((1ull << 30) - 1)
14#define EQUIX_FULL_MASK ((1ull << 60) - 1)
16static inline bool tree_cmp1(
const equix_idx* left,
const equix_idx* right) {
17 return *left <= *right;
20static inline uint32_t tree_idx2(
const equix_idx* idx) {
22 (uint32_t)idx[1] << 1*16 |
23 (uint32_t)idx[0] << 0*16;
26static inline bool tree_cmp2(
const equix_idx* left,
const equix_idx* right) {
27 return tree_idx2(left) <= tree_idx2(right);
30static inline uint64_t tree_idx4(
const equix_idx* idx) {
32 (uint64_t)idx[3] << 3*16 |
33 (uint64_t)idx[2] << 2*16 |
34 (uint64_t)idx[1] << 1*16 |
35 (uint64_t)idx[0] << 0*16;
38static inline bool tree_cmp4(
const equix_idx* left,
const equix_idx* right) {
39 return tree_idx4(left) <= tree_idx4(right);