sig
  val cumulative : f:('-> '-> 'a) -> 'a array -> 'a array
  val search_sorted : cmp:('-> '-> int) -> 'a array -> '-> 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