(***********************************************************************)
(*
- Time-stamp: <Last modified on 2013-01-30 19:08:47 CET by Kim Nguyen>
+ Time-stamp: <Last modified on 2013-03-18 00:16:08 CET by Kim Nguyen>
*)
-include Sigs.HCONS
+include Hcons_sig
module type TableBuilder =
functor
- (H : Sigs.AUX.HashedType) ->
- Sigs.AUX.HashSet with type data = H.t
+ (H : Common_sig.HashedType) ->
+ Common_sig.HashSet with type data = H.t
-module Builder (TB : TableBuilder) (H : Sigs.AUX.HashedType) =
+module Builder (TB : TableBuilder) (H : Common_sig.HashedType) =
struct
type data = H.t
type t = { id : Uid.t;
let init () =
T.clear pool;
uid_make := Uid.make_maker ()
+ let dummy x = { id = Uid.dummy; hash = H.hash x; node = x }
let make x =
- let cell = { id = Uid.dummy; hash = H.hash x; node = x } in
+ let cell = dummy x in
try
T.find pool cell
with
cell
end
-module Make = Builder (Utils.HashSet)
+module Make = Builder (Misc.HashSet)
module Weak = Builder (Weak.Make)
module PosInt =
let hash v = v
let uid v = Uid.of_int v
-
+ let dummy _ = ~-1
let equal x y = x == y
let init () = ()