Module Gsl.Fun

Callbacks and types for error estimates

Types for special functions

These type are used by module Sf

type result = {
res : float;
err : float;
}

The result of a computation : res is the value and err an estimate of the absolute error in the value.

type result_e10 = {
res_e10 : float;
err_e10 : float;
e10 : int;
}

Result of computation with a scaling exponent. Actual result is obtained as res *. 10. ** e10.

type mode =
| DOUBLE

(** Double precision : 2 * 10^-16 *)

| SIMPLE

(** Single precision : 10^-7 *)

| APPROX

(** Approximate values : 5 * 10^-4 *)

Reduce the accuracy of some evaluations to speed up computations.

external smash : result_e10 ‑> result = "ml_gsl_sf_result_smash_e"

Callbacks

type gsl_fun = float ‑> float
type gsl_fun_fdf = {
f : float ‑> float;
df : float ‑> float;
fdf : float ‑> float * float;
}
type monte_fun = float array ‑> float
type multi_fun = x:Vector.vector ‑> f:Vector.vector ‑> unit
type multi_fun_fdf = {
multi_f : x:Vector.vector ‑> f:Vector.vector ‑> unit;
multi_df : x:Vector.vector ‑> j:Matrix.matrix ‑> unit;
multi_fdf : x:Vector.vector ‑> f:Vector.vector ‑> j:Matrix.matrix ‑> unit;
}
type multim_fun = x:Vector.vector ‑> float
type multim_fun_fdf = {
multim_f : x:Vector.vector ‑> float;
multim_df : x:Vector.vector ‑> g:Vector.vector ‑> unit;
multim_fdf : x:Vector.vector ‑> g:Vector.vector ‑> float;
}