sig
type t = private { n : int; range : float array; bin : float array; }
val check : Gsl_histo.t -> bool
val make : int -> Gsl_histo.t
val copy : Gsl_histo.t -> Gsl_histo.t
external set_ranges : Gsl_histo.t -> float array -> unit
= "ml_gsl_histogram_set_ranges"
external set_ranges_uniform :
Gsl_histo.t -> xmin:float -> xmax:float -> unit
= "ml_gsl_histogram_set_ranges_uniform"
external accumulate : Gsl_histo.t -> ?w:float -> float -> unit
= "ml_gsl_histogram_accumulate"
val get : Gsl_histo.t -> int -> float
val get_range : Gsl_histo.t -> int -> float * float
val h_max : Gsl_histo.t -> float
val h_min : Gsl_histo.t -> float
val bins : Gsl_histo.t -> int
val reset : Gsl_histo.t -> unit
external find : Gsl_histo.t -> float -> int = "ml_gsl_histogram_find"
external max_val : Gsl_histo.t -> float = "ml_gsl_histogram_max_val"
external max_bin : Gsl_histo.t -> int = "ml_gsl_histogram_max_bin"
external min_val : Gsl_histo.t -> float = "ml_gsl_histogram_min_val"
external min_bin : Gsl_histo.t -> int = "ml_gsl_histogram_min_bin"
external mean : Gsl_histo.t -> float = "ml_gsl_histogram_mean"
external sigma : Gsl_histo.t -> float = "ml_gsl_histogram_sigma"
external sum : Gsl_histo.t -> float = "ml_gsl_histogram_sum"
external equal_bins_p : Gsl_histo.t -> Gsl_histo.t -> bool
= "ml_gsl_histogram_equal_bins_p"
external add : Gsl_histo.t -> Gsl_histo.t -> unit = "ml_gsl_histogram_add"
external sub : Gsl_histo.t -> Gsl_histo.t -> unit = "ml_gsl_histogram_sub"
external mul : Gsl_histo.t -> Gsl_histo.t -> unit = "ml_gsl_histogram_mul"
external div : Gsl_histo.t -> Gsl_histo.t -> unit = "ml_gsl_histogram_div"
external scale : Gsl_histo.t -> float -> unit = "ml_gsl_histogram_scale"
external shift : Gsl_histo.t -> float -> unit = "ml_gsl_histogram_shift"
type histo_pdf = private {
pdf_n : int;
pdf_range : float array;
pdf_sum : float array;
}
val init : Gsl_histo.t -> Gsl_histo.histo_pdf
external sample : Gsl_histo.histo_pdf -> float -> float
= "ml_gsl_histogram_pdf_sample"
end