Module Gsl.Interp

type t
type accel
type interp_type =
| LINEAR
| POLYNOMIAL
| CSPLINE
| CSPLINE_PERIODIC
| AKIMA
| AKIMA_PERIODIC
val make : interp_type -> int -> t
val init : t -> float array -> float array -> unit
external name : t -> string = "ml_gsl_interp_name"
external min_size : t -> int = "ml_gsl_interp_min_size"
val make_accel : unit -> accel
external i_eval : t -> float array -> float array -> float -> accel -> float = "ml_gsl_interp_eval"
external i_eval_deriv : t -> float array -> float array -> float -> accel -> float = "ml_gsl_interp_eval_deriv"
external i_eval_deriv2 : t -> float array -> float array -> float -> accel -> float = "ml_gsl_interp_eval_deriv2"
external i_eval_integ : t -> float array -> float array -> float -> float -> accel -> float = "ml_gsl_interp_eval_integ_bc" "ml_gsl_interp_eval_integ"

Higher level functions

type interp = {
interp : t;
accel : accel;
xa : float array;
ya : float array;
size : int;
i_type : interp_type;
}
val make_interp : interp_type -> float array -> float array -> interp
val eval : interp -> float -> float
external eval_array : interp -> float array -> float array -> unit = "ml_gsl_interp_eval_array"

eval_array interp x_a y_a fills the array y_a with the evaluation of the interpolation function interp for each point of array x_a. x_a and y_a must have the same length.

val eval_deriv : interp -> float -> float
val eval_deriv2 : interp -> float -> float
val eval_integ : interp -> float -> float -> float