-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Step 4: Sketch Module
Create lib/ex_data_sketch/ull.ex
Follow exact HLL pattern:
defstruct [:state, :opts, :backend]new/1with:poption (default 14, range 4..26 -- ULL supports higher p than HLL)update/2--Hash.hash64/1thenbackend.ull_updateupdate_many/2-- map hashes,backend.ull_update_manymerge/2-- validate same p,backend.ull_mergeestimate/1--backend.ull_estimateserialize/1--Codec.encode(Codec.sketch_id_ull(), ...)with params<<p::unsigned-8>>deserialize/1-- Codec.decode pipeline with sketch ID 15 validation + state header "ULL1" validationfrom_enumerable/2,merge_many/1,reducer/0,merger/1,size_bytes/1count/1-- alias forestimate/1(matches HLL API)- Support optional
:hash_fnparameter (same as HLL) for XXHash3 opt-in
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels