19 uint8_t fp = (uint8_t)(hash >> (
sizeof(
size_t) * 8U - 8U));
20 return (fp == 0) ? 1U : fp;
68 .index = (uint16_t)(index),
74 return (
size_t)bucket->index;
87 ((
size_t)UINT16_MAX << 32);
94 .index_hi = (uint16_t)(index >> 32),
95 .index_lo = (uint32_t)index,
100 return (
size_t)bucket->index_lo + ((size_t)bucket->index_hi << 32);
#define DC_STATIC_CONSTANT
static DC_INTERNAL size_t _dc_ankerl_buckets_capacity(size_t for_items)
DC_STATIC_CONSTANT size_t max_index_exclusive
static const size_t dc_ankerl_initial_items
static DC_INTERNAL _dc_ankerl_dfd _dc_ankerl_dfd_decrement_for_backshift(_dc_ankerl_dfd dfd)
static DC_INTERNAL uint8_t _dc_ankerl_fingerprint_from_hash(size_t hash)
static const _dc_ankerl_dfd _dc_ankerl_dfd_max
static const _dc_ankerl_dfd _dc_ankerl_dfd_none
static DC_INTERNAL bool _dc_ankerl_mdata_present(_dc_ankerl_mdata const *bucket)
static DC_INTERNAL size_t get_index(_dc_ankerl_small_bucket const *bucket)
static DC_INTERNAL _dc_ankerl_dfd _dc_ankerl_dfd_new(uint8_t distance)
static DC_INTERNAL _dc_ankerl_dfd _dc_ankerl_dfd_increment(_dc_ankerl_dfd dfd)
static DC_INLINE DC_CONST size_t dc_math_next_power_of_2(size_t x)
#define DC_ASSERT(expr,...)
#define DC_ASSUME(expr,...)