sig
val flat : float -> float -> float
val uniform : unit -> float
val gaussian : ?sigma:float -> unit -> float
val gaussian_tail : float -> float -> float
val bivariate_gaussian : float -> float -> float -> float * float
val exponential : float -> float
val laplace : float -> float
val exppow : float -> float -> float
val cauchy : float -> float
val rayleigh : float -> float
val landau : unit -> float
val levy : float -> float -> float
val levy_skew : float -> float -> float -> float
val gamma : float -> float -> float
val lognormal : float -> float -> float
val chisq : float -> float
val dirichlet : float array -> float array -> unit
val fdist : float -> float -> float
val tdist : float -> float
val beta : float -> float -> float
val logistic : float -> float
val pareto : float -> float -> float
val dir_2d : unit -> float * float
val dir_2d_trig_method : unit -> float * float
val dir_3d : unit -> float * float * float
val dir_nd : int -> float array
val weibull : float -> float -> float
val gumbel1 : float -> float -> float
val gumbel2 : float -> float -> float
val uniform_int : ?a:int -> ?b:int -> unit -> int
val poisson : float -> int
val bernoulli : float -> int
val binomial : float -> int -> int
val multinomial : int -> float array -> int array
val negative_binomial : float -> float -> int
val pascal : float -> int -> int
val geometric : float -> int
val hypergeometric : int -> int -> int -> int
val logarithmic : float -> int
end