package miou

  1. Overview
  2. Docs

Source file miou_gen.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
module Make () = struct
  type t = int

  let null = 0
  let pp = Format.pp_print_int
  let compare a b = a - b
  let equal = Int.equal

  external of_int : int -> t = "%identity"
  external to_int : t -> int = "%identity"

  let gen, reset =
    let value = Atomic.make (succ null) in
    let gen () = Atomic.fetch_and_add value 1 in
    let reset () = Atomic.set value (succ null) in
    (gen, reset)
end
OCaml

Innovation. Community. Security.