Module Ppl.Helpers
Utilities for working with distributions
A set of utilities for generating statistics and printing distributions
val sample_mean : ?n:int -> float Dist.dist -> float
val sample_variance : ?n:int -> float Dist.dist -> float
val take_k_samples : int -> 'a Dist.dist -> 'a array
val unduplicate : ('a * Dist.prob) list -> ('a * Dist.prob) list
Removes duplicates and sums the probabilities associated so that each value appears once
val flatten : (('a * Dist.prob) list * Dist.prob) list -> ('a * Dist.prob) list
val normalise : ('a * Dist.prob) list -> ('a * Dist.prob) list
val weighted_dist : ?n:int -> 'a Dist.dist -> ('a, int) Core.Map.Poly.t
val print_exact_exn : (module Base.Stringable.S with type t = 'a) -> 'a Dist.dist -> unit
val print_exact_bool : bool Dist.dist -> unit
val print_exact_int : int Dist.dist -> unit
val print_exact_float : float Dist.dist -> unit
val time : (unit -> 'a) -> 'a * float
val memo : ('a -> 'b) -> 'a -> 'b
val memo_no_poly : (module Base__.Hashtbl_intf.Key.S with type t = 'a) -> ('a -> 'b) -> 'a -> 'b