sig
  type t = floatarray
  val length : Float.ArrayLabels.t -> int
  val get : Float.ArrayLabels.t -> int -> float
  val set : Float.ArrayLabels.t -> int -> float -> unit
  val make : int -> float -> Float.ArrayLabels.t
  val create : int -> Float.ArrayLabels.t
  val init : int -> f:(int -> float) -> Float.ArrayLabels.t
  val make_matrix :
    dimx:int -> dimy:int -> float -> Float.ArrayLabels.t array
  val init_matrix :
    dimx:int ->
    dimy:int -> f:(int -> int -> float) -> Float.ArrayLabels.t array
  val append :
    Float.ArrayLabels.t -> Float.ArrayLabels.t -> Float.ArrayLabels.t
  val concat : Float.ArrayLabels.t list -> Float.ArrayLabels.t
  val sub : Float.ArrayLabels.t -> pos:int -> len:int -> Float.ArrayLabels.t
  val copy : Float.ArrayLabels.t -> Float.ArrayLabels.t
  val fill : Float.ArrayLabels.t -> pos:int -> len:int -> float -> unit
  val blit :
    src:Float.ArrayLabels.t ->
    src_pos:int -> dst:Float.ArrayLabels.t -> dst_pos:int -> len:int -> unit
  val to_list : Float.ArrayLabels.t -> float list
  val of_list : float list -> Float.ArrayLabels.t
  val iter : f:(float -> unit) -> Float.ArrayLabels.t -> unit
  val iteri : f:(int -> float -> unit) -> Float.ArrayLabels.t -> unit
  val map : f:(float -> float) -> Float.ArrayLabels.t -> Float.ArrayLabels.t
  val map_inplace : f:(float -> float) -> Float.ArrayLabels.t -> unit
  val mapi :
    f:(int -> float -> float) -> Float.ArrayLabels.t -> Float.ArrayLabels.t
  val mapi_inplace : f:(int -> float -> float) -> Float.ArrayLabels.t -> unit
  val fold_left :
    f:('acc -> float -> 'acc) -> init:'acc -> Float.ArrayLabels.t -> 'acc
  val fold_right :
    f:(float -> 'acc -> 'acc) -> Float.ArrayLabels.t -> init:'acc -> 'acc
  val iter2 :
    f:(float -> float -> unit) ->
    Float.ArrayLabels.t -> Float.ArrayLabels.t -> unit
  val map2 :
    f:(float -> float -> float) ->
    Float.ArrayLabels.t -> Float.ArrayLabels.t -> Float.ArrayLabels.t
  val for_all : f:(float -> bool) -> Float.ArrayLabels.t -> bool
  val exists : f:(float -> bool) -> Float.ArrayLabels.t -> bool
  val mem : float -> set:Float.ArrayLabels.t -> bool
  val mem_ieee : float -> set:Float.ArrayLabels.t -> bool
  val find_opt : f:(float -> bool) -> Float.ArrayLabels.t -> float option
  val find_index : f:(float -> bool) -> Float.ArrayLabels.t -> int option
  val find_map : f:(float -> 'a option) -> Float.ArrayLabels.t -> 'a option
  val find_mapi :
    f:(int -> float -> 'a option) -> Float.ArrayLabels.t -> 'a option
  val sort : cmp:(float -> float -> int) -> Float.ArrayLabels.t -> unit
  val stable_sort :
    cmp:(float -> float -> int) -> Float.ArrayLabels.t -> unit
  val fast_sort : cmp:(float -> float -> int) -> Float.ArrayLabels.t -> unit
  val shuffle : rand:(int -> int) -> Float.ArrayLabels.t -> unit
  val to_seq : Float.ArrayLabels.t -> float Stdlib.Seq.t
  val to_seqi : Float.ArrayLabels.t -> (int * float) Stdlib.Seq.t
  val of_seq : float Stdlib.Seq.t -> Float.ArrayLabels.t
  val map_to_array : f:(float -> 'a) -> Float.ArrayLabels.t -> 'a array
  val map_from_array : f:('-> float) -> 'a array -> Float.ArrayLabels.t
  external unsafe_get : Float.ArrayLabels.t -> int -> float
    = "%floatarray_unsafe_get"
  external unsafe_set : Float.ArrayLabels.t -> int -> float -> unit
    = "%floatarray_unsafe_set"
end