Module Gsl.Integration

external qng : Fun.gsl_fun -> a:float -> b:float -> epsabs:float -> epsrel:float -> float * float * int = "ml_gsl_integration_qng"
type workspace
val make_ws : int -> workspace
external size : workspace -> int = "ml_gsl_integration_ws_size"
type key =
| GAUSS15
| GAUSS21
| GAUSS31
| GAUSS41
| GAUSS51
| GAUSS61
external qag : Fun.gsl_fun -> a:float -> b:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> key -> workspace -> Fun.result = "ml_gsl_integration_qag_bc" "ml_gsl_integration_qag"
external qags : Fun.gsl_fun -> a:float -> b:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qags_bc" "ml_gsl_integration_qags"
external qagp : Fun.gsl_fun -> pts:float array -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qagp_bc" "ml_gsl_integration_qagp"
external qagi : Fun.gsl_fun -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qagi"
external qagiu : Fun.gsl_fun -> a:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qagiu_bc" "ml_gsl_integration_qagiu"
external qagil : Fun.gsl_fun -> b:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qagil_bc" "ml_gsl_integration_qagil"
val qag_sing : Fun.gsl_fun -> a:float -> b:float -> ?⁠pts:float array -> ?⁠limit:int -> epsabs:float -> epsrel:float -> unit -> Fun.result
external qawc : Fun.gsl_fun -> a:float -> b:float -> c:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qawc_bc" "ml_gsl_integration_qawc"
type qaws_table
external alloc_qaws : alpha:float -> beta:float -> mu:int -> nu:int -> qaws_table = "ml_gsl_integration_qaws_table_alloc"
external set_qaws : qaws_table -> alpha:float -> beta:float -> mu:int -> nu:int -> unit = "ml_gsl_integration_qaws_table_set"
external free_qaws : qaws_table -> unit = "ml_gsl_integration_qaws_table_free"
external qaws : Fun.gsl_fun -> a:float -> b:float -> qaws_table -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> Fun.result = "ml_gsl_integration_qaws_bc" "ml_gsl_integration_qaws"
type qawo_table
type qawo_sine =
| QAWO_COSINE
| QAWO_SINE
external alloc_qawo : omega:float -> l:float -> qawo_sine -> n:int -> qawo_table = "ml_gsl_integration_qawo_table_alloc"
external set_qawo : qawo_table -> omega:float -> l:float -> qawo_sine -> unit = "ml_gsl_integration_qawo_table_set"
external free_qawo : qawo_table -> unit = "ml_gsl_integration_qawo_table_free"
external qawo : Fun.gsl_fun -> a:float -> epsabs:float -> epsrel:float -> ?⁠limit:int -> workspace -> qawo_table -> Fun.result = "ml_gsl_integration_qawo_bc" "ml_gsl_integration_qawo"
external qawf : Fun.gsl_fun -> a:float -> epsabs:float -> ?⁠limit:int -> workspace -> workspace -> qawo_table -> Fun.result = "ml_gsl_integration_qawf_bc" "ml_gsl_integration_qawf"