Posted to tcl by kbk at Tue May 03 21:16:04 GMT 2011view pretty
inline static float
Interpolate1D(float x, /* Abscissa, in the interval [0,1) */
float ym1, /* Ordinate at x=-1 */
float y0, /* Ordinate at y=0 */
float y1, /* Ordinate at y=1 */
float y2) /* Ordinate at y=2 */
{
float A = -0.5f * ym1 + 1.5f * y0 - 1.5f * y1 + 0.5f * y2;
float B = ym1 - 2.5f * y0 + 2.0f * y1 - 0.5f * y2;
float C = -0.5f * ym1 + 0.5f * y1;
return ((A * x + B) * x + C) * x + y0;
}