Posted to tcl by kbk at Tue May 03 21:16:04 GMT 2011view raw
- 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;
- }