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; }