/* dcspl.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
double dcspl(double x,double *u,double *v,double *z,int m)
{ int i,k; double h,d;
if(x>u[m] || x<u[0]) return 0.;
for(i=1; x>u[i] ;++i);
k=i-1; h=u[i]-u[k];
x-=u[k]; x/=h;
d=(v[i]-v[k])/h;
return d-h*((z[i]-z[k])*(1.-3.*x*x)+z[k]*(3.-6.*x));
}
syntax highlighted by Code2HTML, v. 0.9.1