10 if (low < map->firstZeroIdx)
12 map->firstZeroIdx = low;
17 uint64_t lastQwordIdx = (high - 1) / 64;
18 uint64_t lastBitInQword = (high - 1) % 64;
20 if (firstQwordIdx == lastQwordIdx)
22 uint64_t mask = (~0ULL << firstBitInQword) & (~0ULL >> (63 - lastBitInQword));
23 map->buffer[firstQwordIdx] &= ~mask;
27 map->buffer[firstQwordIdx] &= ~(~0ULL << firstBitInQword);
29 for (
uint64_t i = firstQwordIdx + 1; i < lastQwordIdx; i++)
31 map->buffer[i] = 0ULL;
34 map->buffer[lastQwordIdx] &= ~(~0ULL >> (63 - lastBitInQword));