Add Steffen interpolation type
The latest versions of the GSL propose an interpolation type not available in GSLL: Steffen interpolation. It is straightforward to add (see patch below) but I am new to the project and my understanding is that most of the interface is automatically generated and I am therefore not sure how to prepare a patch for this.
diff --git a/interpolation/types.lisp b/interpolation/types.lisp
index a9b8c2a..34f8105 100644
--- a/interpolation/types.lisp
+++ b/interpolation/types.lisp
@@ -60,6 +60,14 @@
"Non-rounded Akima spline with periodic boundary conditions. This method
uses the non-rounded corner algorithm of Wodicka.")
+(defmpar +steffen-interpolation+ "gsl_interp_steffen"
+ ;; FDL
+ "Steffen’s method guarantees the monotonicity of the interpolating function between the given data
+points. Therefore, minima and maxima can only occur exactly at the data points, and there can never
+be spurious oscillations between data points. The interpolated function is piecewise cubic in each
+interval. The resulting curve and its first derivative are guaranteed to be continuous, but the
+second derivative may be discontinuous.")
+
(defmfun name ((interpolation interpolation))
"gsl_interp_name"
((interpolation :pointer))