/* classic one t subdivision */ static void interp_quad_coords(const double* src, double* dst, double t) { double ab = SkDInterp(src[0], src[2], t); double bc = SkDInterp(src[2], src[4], t); dst[0] = src[0]; dst[2] = ab; dst[4] = SkDInterp(ab, bc, t); dst[6] = bc; dst[8] = src[4]; }
static double interp_cubic_coords(const double* src, double t) { double ab = SkDInterp(src[0], src[2], t); double bc = SkDInterp(src[2], src[4], t); double cd = SkDInterp(src[4], src[6], t); double abc = SkDInterp(ab, bc, t); double bcd = SkDInterp(bc, cd, t); double abcd = SkDInterp(abc, bcd, t); return abcd; }
/* classic one t subdivision */ static void interp_cubic_coords(const double* src, double* dst, double t) { double ab = SkDInterp(src[0], src[2], t); double bc = SkDInterp(src[2], src[4], t); double cd = SkDInterp(src[4], src[6], t); double abc = SkDInterp(ab, bc, t); double bcd = SkDInterp(bc, cd, t); double abcd = SkDInterp(abc, bcd, t); dst[0] = src[0]; dst[2] = ab; dst[4] = abc; dst[6] = abcd; dst[8] = bcd; dst[10] = cd; dst[12] = src[6]; }
static double interp_quad_coords(const double* src, double t) { double ab = SkDInterp(src[0], src[2], t); double bc = SkDInterp(src[2], src[4], t); double abc = SkDInterp(ab, bc, t); return abc; }