jvm.chisel.db.hash

Multiplicative hash: bucket = high log-buckets bits of (key * K), a building block for hash join and group-by.

hash-module

(hash-module {:keys [width buckets k name], :or {name "Hash", k 158}})

Build a hash module. opts: {:width w :buckets B :k K :name “Hash”}. buckets must be a power of two; output width = log2(buckets).

hash-ref

(hash-ref key width k log-n)

Reference model. key int, width key width, k multiplier, log-n = log2(buckets).