#include #include "spline.h" int main(int argc, char *argv[]) { double t1_xlist[] = { 0.0, 1.0, 3.0, 4.5, 5.0 }, t1_ylist[] = { 2.0, -1.0, 0.5, 3.0, 1.0 }, t1_Mlist[] = { 0.0, 1.0, 3.0, 0.0, -1.0 }, t1_points[] = { 1.0, 1.5, 1.7, 2.3, 4.6 }, t1_values[] = { -1.0, -1.3125, -1.3395, -0.9805, 2.608 }; spline *s; int length = 5, n_points = 5; s = spline_create(5); spline_setxy(s,t1_xlist,t1_ylist,5); for ( i = 0; i < s->length; i++ ) s->Mlist[i] = t1_Mlist[i]; fail = 0; for ( i = 0; i < 5; i++ ) if ( fabs(t1_values[i] - spline_eval(s,t1_points[i])) > 1e-12 ) { printf("Spline eval'n test failed for test point %g\n", t1_point[i]); fail = 1; } }