sig type !'a t val make : 'a ->'a Atomic.t val make_contended : 'a ->'a Atomic.t val get : 'a Atomic.t ->'a val set : 'a Atomic.t ->'a -> unit val exchange : 'a Atomic.t ->'a ->'a val compare_and_set : 'a Atomic.t ->'a ->'a -> bool val fetch_and_add : int Atomic.t -> int -> int val incr : int Atomic.t -> unit val decr : int Atomic.t -> unit moduleLoc : sig type'a t = 'a atomic_loc external get : 'a Atomic.Loc.t ->'a = "%atomic_load_loc" val set : 'a Atomic.Loc.t ->'a -> unit external exchange : 'a Atomic.Loc.t ->'a ->'a
= "%atomic_exchange_loc" external compare_and_set : 'a Atomic.Loc.t ->'a ->'a -> bool
= "%atomic_cas_loc" external fetch_and_add : int Atomic.Loc.t -> int -> int
= "%atomic_fetch_add_loc" val incr : int Atomic.Loc.t -> unit val decr : int Atomic.Loc.t -> unit end end