sig
type t
type accel
type interp_type =
LINEAR
| POLYNOMIAL
| CSPLINE
| CSPLINE_PERIODIC
| AKIMA
| AKIMA_PERIODIC
val make : Interp.interp_type -> int -> Interp.t
val init : Interp.t -> float array -> float array -> unit
external name : Interp.t -> string = "ml_gsl_interp_name"
external min_size : Interp.t -> int = "ml_gsl_interp_min_size"
val make_accel : unit -> Interp.accel
external i_eval :
Interp.t -> float array -> float array -> float -> Interp.accel -> float
= "ml_gsl_interp_eval"
external i_eval_deriv :
Interp.t -> float array -> float array -> float -> Interp.accel -> float
= "ml_gsl_interp_eval_deriv"
external i_eval_deriv2 :
Interp.t -> float array -> float array -> float -> Interp.accel -> float
= "ml_gsl_interp_eval_deriv2"
external i_eval_integ :
Interp.t ->
float array -> float array -> float -> float -> Interp.accel -> float
= "ml_gsl_interp_eval_integ_bc" "ml_gsl_interp_eval_integ"
type interp = {
interp : Interp.t;
accel : Interp.accel;
xa : float array;
ya : float array;
size : int;
i_type : Interp.interp_type;
}
val make_interp :
Interp.interp_type -> float array -> float array -> Interp.interp
val eval : Interp.interp -> float -> float
external eval_array : Interp.interp -> float array -> float array -> unit
= "ml_gsl_interp_eval_array"
val eval_deriv : Interp.interp -> float -> float
val eval_deriv2 : Interp.interp -> float -> float
val eval_integ : Interp.interp -> float -> float -> float
end