sig
  val log : ?base:float -> float -> float
  val log10 : float -> float
  val log2 : float -> float
  val even : int -> bool
  val odd : int -> bool
  val min : float array -> float
  val max : float array -> float
  val range : float -> float -> float -> float array
  val range_ints : int -> int -> int -> int list
  val range_floats : float -> float -> float -> float list
  val mean : float array -> float
  val variance : float array -> float
  val rms : float array -> float
  val stdv : float array -> float
  val median : float array -> float
  val pseudomedian : float array -> float
  val mad : float array -> float
  val quantile_normalization : float array array -> float array array
  val histogram : ?cmp:('-> '-> int) -> 'a array -> ('a * int) array
  val prediction_values :
    int -> int -> int -> int -> float * float * float * float
  val pearson : float array -> float array -> float
  val rank : float array -> float array
  val spearman : float array -> float array -> float
  val cnd : float -> float
  val ltqnorm : float -> float
  val wilcoxon_rank_sum_to_z : float array -> float array -> float
  val wilcoxon_rank_sum_to_p : float array -> float array -> float
  val wilcoxon_rank_sum : ?alpha:float -> float array -> float array -> bool
  val row : 'a array array -> int -> 'a array
  val column : 'a array array -> int -> 'a array
  val transpose : 'a array array -> 'a array array
  val idxsort : ('-> '-> int) -> 'a array -> int array
  val find_regions :
    ?max_gap:int -> ('-> bool) -> 'a array -> (int * int) array
  val find_min_window :
    ?init_direction:string ->
    'a array -> (int -> int -> bool) -> int -> 'a array
  val factorial : int -> int
  val epsilon : (int -> int -> float) -> int -> int -> float
  val shuffle : 'a array -> 'a array
end