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