sig
type kind = PLAIN | MISER | VEGAS
val integrate :
Monte.kind ->
Fun.monte_fun ->
lo:float array -> up:float array -> int -> Rng.t -> Fun.result
type plain_state
val make_plain_state : int -> Monte.plain_state
external init_plain : Monte.plain_state -> unit = "ml_gsl_monte_plain_init"
external integrate_plain :
Fun.monte_fun ->
lo:float array ->
up:float array -> int -> Rng.t -> Monte.plain_state -> Fun.result
= "ml_gsl_monte_plain_integrate_bc" "ml_gsl_monte_plain_integrate"
type miser_state
type miser_params = {
estimate_frac : float;
min_calls : int;
min_calls_per_bisection : int;
miser_alpha : float;
dither : float;
}
val make_miser_state : int -> Monte.miser_state
external init_miser : Monte.miser_state -> unit = "ml_gsl_monte_miser_init"
external integrate_miser :
Fun.monte_fun ->
lo:float array ->
up:float array -> int -> Rng.t -> Monte.miser_state -> Fun.result
= "ml_gsl_monte_miser_integrate_bc" "ml_gsl_monte_miser_integrate"
external get_miser_params : Monte.miser_state -> Monte.miser_params
= "ml_gsl_monte_miser_get_params"
external set_miser_params : Monte.miser_state -> Monte.miser_params -> unit
= "ml_gsl_monte_miser_set_params"
type vegas_state
type vegas_info = { result : float; sigma : float; chisq : float; }
type vegas_mode = STRATIFIED | IMPORTANCE_ONLY | IMPORTANCE
type vegas_params = {
vegas_alpha : float;
iterations : int;
stage : int;
mode : Monte.vegas_mode;
verbose : int;
ostream : Pervasives.out_channel option;
}
val make_vegas_state : int -> Monte.vegas_state
external init_vegas : Monte.vegas_state -> unit = "ml_gsl_monte_vegas_init"
external integrate_vegas :
Fun.monte_fun ->
lo:float array ->
up:float array -> int -> Rng.t -> Monte.vegas_state -> Fun.result
= "ml_gsl_monte_vegas_integrate_bc" "ml_gsl_monte_vegas_integrate"
external get_vegas_info : Monte.vegas_state -> Monte.vegas_info
= "ml_gsl_monte_vegas_get_info"
external get_vegas_params : Monte.vegas_state -> Monte.vegas_params
= "ml_gsl_monte_vegas_get_params"
external set_vegas_params : Monte.vegas_state -> Monte.vegas_params -> unit
= "ml_gsl_monte_vegas_set_params"
end