gsll issueshttps://gitlab.common-lisp.net/antik/gsll/-/issues2018-02-18T09:31:50Zhttps://gitlab.common-lisp.net/antik/gsll/-/issues/5Add Steffen interpolation type2018-02-18T09:31:50ZMichael Grünewald Add Steffen interpolation typeThe 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))
```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))
```https://gitlab.common-lisp.net/antik/gsll/-/issues/3Bug in grid:copy permutation: missing call-next-method2017-06-30T03:40:35ZMirko VukovicBug in grid:copy permutation: missing call-next-methodIn `data/permuations.lisp` `grid:copy permutation` calls `call-next-method`. This causes failures in some tests.
An example from tests/permutation.lisp makes a copy of a permutation into a lisp array
```lisp
(LET ((PERM-1 (MAKE-PERMUTATION 4 T)))
(GRID:COPY-TO PERM-1 'array 'fixnum))
```
It is not clear what the call-next-method should beIn `data/permuations.lisp` `grid:copy permutation` calls `call-next-method`. This causes failures in some tests.
An example from tests/permutation.lisp makes a copy of a permutation into a lisp array
```lisp
(LET ((PERM-1 (MAKE-PERMUTATION 4 T)))
(GRID:COPY-TO PERM-1 'array 'fixnum))
```
It is not clear what the call-next-method should behttps://gitlab.common-lisp.net/antik/gsll/-/issues/2Permutations and combinations objects should use defmobject2017-06-30T03:40:35ZLiam HealyPermutations and combinations objects should use defmobjectThe permutation and combination objects should use defmobject rather than being defined as subclasses of foreign-array, and use the GSL functions for creation, because the current definition defines them as vector-double-float which is only coincidentally correct with the #+int64 #+int32 hack. The permutation and combination objects should use defmobject rather than being defined as subclasses of foreign-array, and use the GSL functions for creation, because the current definition defines them as vector-double-float which is only coincidentally correct with the #+int64 #+int32 hack. Mirko VukovicMirko Vukovic