This module specializes to the case where keys are 1..k-bit ints & values are 0..v-bit ints (k+v<=8*int.sizeof) using one SeqUInt as backing store. (Mnemonically, "BL" = "Bit Level" or start of "BLoom Filter", a sometimes competing data structure.) Users must give a number of bits for the key. Bits for values and the sentinel key default to 0. BLTab otherwise tries to be similar to hash variants of multisets.
Vars
blGrowPow2 = 1'u8
- default growth power of 2; 1 means double Source Edit
blInitialSize = 2
- default initial size aka capacity aka cap Source Edit
blRobinHood = false
- default to Robin Hood re-org; auto-activated Source Edit
blSentinel = 0'u8
- default sentinel value for k+v-bit uint Source Edit
blValueBits = 0'u8
- default bits for value in k+v-bit uint Source Edit
Procs
proc containsOrIncl(s: var BLTab; hc: Hash): bool {.inline, ...raises: [ResourceExhaustedError], tags: [], forbids: [].}
- Source Edit
proc missingOrExcl(s: var BLTab; hc: Hash): bool {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit