types.lisp 2.75 KB
 liam committed Feb 18, 2008 1 2 ``````;; Interpolation types ;; Liam Healy, Sun Nov 4 2007 - 17:41 `````` Liam Healy committed Feb 16, 2009 3 ``````;; Time-stamp: <2009-02-16 09:46:04EST types.lisp> `````` lhealy committed Jul 24, 2008 4 ``````;; \$Id\$ `````` liam committed Nov 11, 2007 5 6 7 `````` (in-package :gsl) `````` Liam Healy committed Feb 16, 2009 8 ``````(defmpar +linear-interpolation+ "gsl_interp_linear" `````` liam committed Feb 18, 2008 9 `````` ;; FDL `````` liam committed Nov 11, 2007 10 11 12 `````` "Linear interpolation. This interpolation method does not require any additional memory.") `````` Liam Healy committed Feb 16, 2009 13 ``````(defmpar +polynomial-interpolation+ "gsl_interp_polynomial" `````` liam committed Feb 18, 2008 14 `````` ;; FDL `````` liam committed Nov 11, 2007 15 16 17 18 19 20 `````` "Polynomial interpolation. This method should only be used for interpolating small numbers of points because polynomial interpolation introduces large oscillations, even for well-behaved datasets. The number of terms in the interpolating polynomial is equal to the number of points.") `````` Liam Healy committed Feb 16, 2009 21 ``````(defmpar +cubic-spline-interpolation+ "gsl_interp_cspline" `````` liam committed Feb 18, 2008 22 `````` ;; FDL `````` liam committed Nov 11, 2007 23 24 25 26 27 `````` "Cubic spline with natural boundary conditions. The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The second derivative is chosen to be zero at the first point and last point.") `````` Liam Healy committed Feb 16, 2009 28 ``````(defmpar +periodic-cubic-spline-interpolation+ "gsl_interp_cspline_periodic" `````` liam committed Feb 18, 2008 29 `````` ;; FDL `````` liam committed Nov 11, 2007 30 31 32 33 34 35 36 37 `````` "Cubic spline with periodic boundary conditions. The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The derivatives at the first and last points are also matched. Note that the last point in the data must have the same y-value as the first point, otherwise the resulting periodic interpolation will have a discontinuity at the boundary.") `````` Liam Healy committed Feb 16, 2009 38 ``````(defmpar +akima-interpolation+ "gsl_interp_akima" `````` liam committed Feb 18, 2008 39 `````` ;; FDL `````` liam committed Nov 11, 2007 40 41 42 `````` "Non-rounded Akima spline with natural boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.") `````` Liam Healy committed Feb 16, 2009 43 ``````(defmpar +periodic-akima-interpolation+ "gsl_interp_akima_periodic" `````` liam committed Feb 18, 2008 44 `````` ;; FDL `````` liam committed Nov 11, 2007 45 46 47 `````` "Non-rounded Akima spline with periodic boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.") `````` Liam Healy committed Dec 26, 2008 48 ``````(defmfun name ((interpolation interpolation)) `````` liam committed Nov 11, 2007 49 50 `````` "gsl_interp_name" ((interpolation :pointer)) `````` Liam Healy committed Dec 26, 2008 51 `````` :definition :method `````` liam committed Nov 11, 2007 52 `````` :c-return :string `````` liam committed Feb 18, 2008 53 `````` :documentation ; FDL `````` liam committed Nov 27, 2007 54 `````` "The name of the interpolation type.") `````` liam committed Nov 11, 2007 55 `````` `````` Liam Healy committed Jan 28, 2009 56 57 58 59 ``````(export 'minimum-size) (defgeneric minimum-size (object) (:documentation ; FDL "The minimum number of points required by the `````` liam committed Nov 11, 2007 60 `````` interpolation. For example, Akima spline interpolation `````` Liam Healy committed Jan 28, 2009 61 62 63 64 65 66 67 `````` requires a minimum of 5 points.")) (defmfun minimum-size ((object interpolation)) "gsl_interp_min_size" ((object :pointer)) :definition :method :c-return :uint) `````` liam committed Nov 11, 2007 68 `````` `````` Liam Healy committed Jan 28, 2009 69 ``````(defmfun name ((object spline)) `````` liam committed Nov 11, 2007 70 `````` "gsl_spline_name" `````` Liam Healy committed Jan 28, 2009 71 `````` ((object :pointer)) `````` Liam Healy committed Dec 26, 2008 72 `````` :definition :method `````` liam committed Nov 11, 2007 73 `````` :c-return :string `````` liam committed Feb 18, 2008 74 `````` :documentation ; FDL `````` liam committed Nov 27, 2007 75 `````` "The name of the interpolation type.") `````` liam committed Nov 11, 2007 76 `````` `````` Liam Healy committed Jan 28, 2009 77 ``````(defmfun minimum-size ((object spline)) `````` liam committed Nov 11, 2007 78 `````` "gsl_spline_min_size" `````` Liam Healy committed Jan 28, 2009 79 80 81 `````` ((object :pointer)) :definition :method :c-return :uint)``````