sig
type result = { res : float; err : float; }
type result_e10 = { res_e10 : float; err_e10 : float; e10 : int; }
type mode = DOUBLE | SIMPLE | APPROX
external smash : Fun.result_e10 -> Fun.result = "ml_gsl_sf_result_smash_e"
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;
}
end