This file is indexed.

/usr/lib/ocaml/gsl/gsl_monte.mli is in libocamlgsl-ocaml-dev 1.19.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
(* gsl-ocaml - OCaml interface to GSL                       *)
(* Copyright (©) 2002-2012 - Olivier Andrieu                *)
(* Distributed under the terms of the GPL version 3         *)

(** Gsl_monte Carlo Integration *)

open Gsl_fun

(** {3 High-level interface} *)

type kind =
  | PLAIN
  | MISER
  | VEGAS

val integrate : kind -> monte_fun -> lo:float array -> up:float array ->
  int -> Gsl_rng.t -> Gsl_fun.result



(** {3 Low-level interface} *)

(** {4 PLAIN algorithm} *)

type plain_state
val make_plain_state : int -> plain_state
external init_plain : plain_state -> unit
    = "ml_gsl_monte_plain_init"
external integrate_plain :
  monte_fun ->
  lo:float array ->
  up:float array -> int -> Gsl_rng.t -> plain_state -> Gsl_fun.result
  = "ml_gsl_monte_plain_integrate_bc" "ml_gsl_monte_plain_integrate"


(** {4 MISER algorithm} *)

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 -> miser_state
external init_miser : miser_state -> unit
    = "ml_gsl_monte_miser_init"
external integrate_miser :
  monte_fun ->
  lo:float array ->
  up:float array -> int -> Gsl_rng.t -> miser_state -> Gsl_fun.result
  = "ml_gsl_monte_miser_integrate_bc" "ml_gsl_monte_miser_integrate"

external get_miser_params : miser_state -> miser_params
  = "ml_gsl_monte_miser_get_params"
external set_miser_params : miser_state -> miser_params -> unit
  = "ml_gsl_monte_miser_set_params"


(** {4 VEGAS algorithm} *)

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 ;		(** 1.5 *)
    iterations    : int ;		(** 5 *)
    stage         : int ;
    mode          : vegas_mode ;
    verbose       : int ;
    ostream       : out_channel option ;
  } 

val make_vegas_state : int -> vegas_state
external init_vegas : vegas_state -> unit
    = "ml_gsl_monte_vegas_init"

external integrate_vegas : monte_fun -> lo:float array -> up:float array ->
  int -> Gsl_rng.t -> vegas_state -> Gsl_fun.result
    = "ml_gsl_monte_vegas_integrate_bc" "ml_gsl_monte_vegas_integrate"

external get_vegas_info : vegas_state -> vegas_info
    = "ml_gsl_monte_vegas_get_info"
external get_vegas_params : vegas_state -> vegas_params
    = "ml_gsl_monte_vegas_get_params"
external set_vegas_params : vegas_state -> vegas_params -> unit
    = "ml_gsl_monte_vegas_set_params"