4 #include <gsl/gsl_errno.h>
5 #include <gsl/gsl_spline.h>
11 double x[4] = {0.00, 0.10, 0.27, 0.30};
12 double y[4] = {0.15, 0.70, -0.10, 0.15}; /* Note: first = last
15 gsl_interp_accel *acc = gsl_interp_accel_alloc ();
16 const gsl_interp_type *t = gsl_interp_cspline_periodic;
17 gsl_spline *spline = gsl_spline_alloc (t, N);
21 printf ("#m=0,S=5\n");
22 for (i = 0; i < N; i++)
24 printf ("%g %g\n", x[i], y[i]);
27 printf ("#m=1,S=0\n");
28 gsl_spline_init (spline, x, y, N);
30 for (i = 0; i <= 100; i++)
32 xi = (1 - i / 100.0) * x[0] + (i / 100.0) * x[N-1];
33 yi = gsl_spline_eval (spline, xi, acc);
34 printf ("%g %g\n", xi, yi);
37 gsl_spline_free (spline);
38 gsl_interp_accel_free (acc);