/* Like eval_quad_bezier, computes the coordinates of the point which resides at  */
static void cubic_bezier_eval(const cubic_bezier_t *c, vg_lite_float_t t, vg_lite_float_t *x, vg_lite_float_t *y)
/* Like eval_quad_bezier, computes the coordinates of the point which resides at  */
static void cubic_bezier_eval(const cubic_bezier_t *c, vg_lite_float_t t, vg_lite_float_t *x, vg_lite_float_t *y)
{
    const vg_lite_float_t omt = 1.0 - t;
    const vg_lite_float_t omt2 = omt * omt;
    const vg_lite_float_t omt3 = omt * omt2;
    const vg_lite_float_t t2 = t * t;
    const vg_lite_float_t t3 = t * t2;
    *x = omt3 * c->X0 + 3.0 * t * omt2 * c->X1 + 3.0 * t2 * omt * c->X2 + t3 * c->X3;
    *y = omt3 * c->Y0 + 3.0 * t * omt2 * c->Y1 + 3.0 * t2 * omt * c->Y2 + t3 * c->Y3;
}