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