sig
  val cumulative : f:('a -> 'a -> 'a) -> 'a array -> 'a array
  val search_sorted : cmp:('a -> 'a -> int) -> 'a array -> 'a -> int option
  val reorder : int array -> src:'a array -> dst:'a array -> unit
  val range : ?a:int -> b:int -> int array
  val shuffle : ?rng:Gsl.Rng.t -> 'a array -> 'a array
  val sample :
    ?rng:Gsl.Rng.t -> ?replace:bool -> ?size:int -> 'a array -> 'a array
end