package goblint
Source file gobHashtbl.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19module Pretty = GoblintCil.Pretty let pretty_statistics () (s: Hashtbl.statistics) = let load_factor = float_of_int s.num_bindings /. float_of_int s.num_buckets in Pretty.dprintf "bindings=%d buckets=%d max_length=%d histo=%a load=%f" s.num_bindings s.num_buckets s.max_bucket_length (Pretty.docList (Pretty.dprintf "%d")) (Array.to_list s.bucket_histogram) load_factor module Make (H: Hashtbl.HashedType) = struct include BatHashtbl.Make (H) let find_or_add_default_delayed ~default ht key = match find_option ht key with | Some value -> value | None -> let value = default key in replace ht key value; value end