sig
  type 'a t
  type index = int32
  external make : int32 -> 'a -> 'a AtomicReferenceArray.t
    = "ocamljava_atomicreferencearray_make"
  external compare_and_set :
    'a AtomicReferenceArray.t ->
    AtomicReferenceArray.index -> 'a -> 'a -> bool
    = "ocamljava_atomicreferencearray_compare_and_set"
  external get :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a
    = "ocamljava_atomicreferencearray_get"
  external get_and_set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> 'a
    = "ocamljava_atomicreferencearray_get_and_set"
  external lazy_set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> unit
    = "ocamljava_atomicreferencearray_lazy_set"
  external length : 'a AtomicReferenceArray.t -> int32
    = "ocamljava_atomicreferencearray_length"
  external set :
    'a AtomicReferenceArray.t -> AtomicReferenceArray.index -> 'a -> unit
    = "ocamljava_atomicreferencearray_set"
  external weak_compare_and_set :
    'a AtomicReferenceArray.t ->
    AtomicReferenceArray.index -> 'a -> 'a -> bool
    = "ocamljava_atomicreferencearray_weak_compare_and_set"
end