function constructor
extends Modelica.Icons.Function;
input Real data[:, :] "data to be fitted: [x,y,w] (w is optional weight)";
input Real s(min = 0) = 0 "smoothing factor (s>0)";
input Integer k(min = 1, max = 5) = 3 "degree of spline (should be odd)";
input Boolean periodic = false "set true to generate periodic spline curve";
input Real x_lim[2] = {ApproxSpline.Utilities.vmin(data[:, 1]), ApproxSpline.Utilities.vmax(data[:, 1])} "boundaries of interpolation interval (ignored in case of periodic splines)";
input Real t[:] = fill(0, 0) "array of knot positions (if given, a least square spline is generated)";
output Type spl "1-D spline data structure";
end constructor;