sig
  val min : float array -> float
  val max : float array -> float
  val minmax : float array -> float * float
  val range : float array -> float
  val moments : int -> float array -> float array
  val mean : float array -> float
  val variance : ?mean:float -> float array -> float
  val sd : ?mean:float -> float array -> float
  val skewness : ?mean:float -> ?sd:float -> float array -> float
  val kurtosis : ?mean:float -> ?sd:float -> float array -> float
  val rank :
    ?ties_strategy:[ `Average | `Max | `Min ] ->
    ?cmp:('-> '-> int) -> 'a array -> float * float array
  val histogram :
    ?n_bins:int ->
    ?range:float * float ->
    ?weights:float array ->
    ?density:bool -> float array -> float array * float array
  module Quantile :
    sig
      type continuous_param =
          CADPW
        | Hazen
        | SPSS
        | S
        | MedianUnbiased
        | NormalUnbiased
      val continuous_by :
        ?param:Sample.Quantile.continuous_param ->
        ps:float array -> float array -> float array
      val iqr :
        ?param:Sample.Quantile.continuous_param -> float array -> float
    end
  val quantile : ps:float array -> float array -> float array
  val iqr : float array -> float
  module KDE :
    sig
      type bandwidth = Silverman | Scott
      type kernel = Gaussian
      val estimate_pdf :
        ?kernel:Sample.KDE.kernel ->
        ?bandwidth:Sample.KDE.bandwidth ->
        ?n_points:int -> float array -> float array * float array
    end
  module Correlation :
    sig
      val pearson : float array -> float array -> float
      val spearman : ?cmp:('-> '-> int) -> 'a array -> 'a array -> float
      module Auto : sig val pearson : float array -> float array end
    end
  module Summary :
    sig
      type t
      val empty : Sample.Summary.t
      val add : Sample.Summary.t -> float -> Sample.Summary.t
      val max : Sample.Summary.t -> float
      val min : Sample.Summary.t -> float
      val size : Sample.Summary.t -> int
      val mean : Sample.Summary.t -> float
      val variance : Sample.Summary.t -> float
      val sd : Sample.Summary.t -> float
      val skewness : Sample.Summary.t -> float
      val kurtosis : Sample.Summary.t -> float
      module Monoid : sig val mempty : t val mappend : t -> t -> t end
    end
end