File: gsl_integration.mli

package info (click to toggle)
ocamlgsl 0.6.0-7
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 4,028 kB
  • ctags: 3,090
  • sloc: ml: 8,539; ansic: 7,338; makefile: 261; sh: 149; awk: 13
file content (102 lines) | stat: -rw-r--r-- 3,298 bytes parent folder | download | duplicates (3)
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
93
94
95
96
97
98
99
100
101
102
(* ocamlgsl - OCaml interface to GSL                        *)
(* Copyright (©) 2002-2005 - Olivier Andrieu                *)
(* distributed under the terms of the GPL version 2         *)

(** Numerical Integration *)

open Gsl_fun

external qng :
  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 :
    gsl_fun -> a:float -> b:float -> epsabs:float -> epsrel:float ->
      ?limit:int -> key -> workspace -> result
    = "ml_gsl_integration_qag_bc" "ml_gsl_integration_qag"

external qags :
    gsl_fun -> a:float -> b:float -> epsabs:float -> epsrel:float ->
      ?limit:int -> workspace -> result
    = "ml_gsl_integration_qags_bc" "ml_gsl_integration_qags"

external qagp :
    gsl_fun -> pts:float array -> epsabs:float -> epsrel:float ->
      ?limit:int -> workspace -> result
    = "ml_gsl_integration_qagp_bc" "ml_gsl_integration_qagp"

external qagi :
    gsl_fun -> epsabs:float -> epsrel:float ->
      ?limit:int -> workspace -> result
    = "ml_gsl_integration_qagi"

external qagiu :
    gsl_fun -> a:float -> epsabs:float -> epsrel:float ->
      ?limit:int -> workspace -> result
    = "ml_gsl_integration_qagiu_bc" "ml_gsl_integration_qagiu"

external qagil :
    gsl_fun -> b:float -> epsabs:float -> epsrel:float ->
      ?limit:int -> workspace -> result
    = "ml_gsl_integration_qagil_bc" "ml_gsl_integration_qagil"

val qag_sing : gsl_fun -> a:float -> b:float -> ?pts:float array ->
  ?limit:int ->  epsabs:float -> epsrel:float -> unit -> result

external qawc :
    gsl_fun -> a:float -> b:float -> c:float ->
      epsabs:float -> epsrel:float ->
	?limit:int -> workspace -> 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 :
    gsl_fun -> a:float -> b:float -> qaws_table ->
      epsabs:float -> epsrel:float ->
	?limit:int -> workspace -> 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 :
    gsl_fun -> a:float -> epsabs:float -> epsrel:float ->
	?limit:int -> workspace -> qawo_table -> result
    = "ml_gsl_integration_qawo_bc" "ml_gsl_integration_qawo"
	    
external qawf :
    gsl_fun -> a:float -> epsabs:float ->
      ?limit:int -> workspace -> workspace -> qawo_table -> result
    = "ml_gsl_integration_qawf_bc" "ml_gsl_integration_qawf"