def bloom_of_chunks

mylsm-lsm-store@0.3.2.0 · src/Sstable.bend:267

import mylsm-lsm-store@0.3.2.0/src/Sstable.bend as Sstable
import Base
import mylsm-lsm-store@0.3.2.0/src/MemTable.bend as MemTable

267# Four-way chunk build with a two-level fork tree.
268def bloom_of_chunks(+entries: List<&2, MemTable.Entry>, +nb: Nat) -> Bloom:
269  +num = List.length(&2, MemTable.Entry, entries)
270  +q = Nat.div(num, 4n)
271  a b = bloom_of_chunk(List.take(&2, MemTable.Entry, entries, q), nb) bloom_of_chunk(chunk_third(entries, q, q), nb)
272  c d = bloom_of_chunk(chunk_third(entries, Nat.mul(q, 2n), q), nb) bloom_of_chunk(List.drop(&2, MemTable.Entry, entries, Nat.mul(q, 3n)), nb)
273  bloom_union(bloom_union(a, b), bloom_union(c, d))

Uses (12)

Used by (1)