package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

dune-project
 Dependency

Authors

Maintainers

Sources

goblint-2.7.1.tbz
sha256=af01aac256229f33a90a9fcbfed04b01e3097f154d4d124f006476d6387c6a66
sha512=2a93bfe16881adbc2d8dcbfe38c1e19cd24ca105d8e1eda13d02440f3002874ffe2957dfd937510765233a054a40568b0052db92e31d382a5bd215d1ec12565c

doc/src/goblint.std/gobHashtbl.ml.html

Source file gobHashtbl.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module 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 () in
      replace ht key value;
      value
end