summaryrefslogtreecommitdiff
path: root/src/cairo-spline.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2008-12-28 02:02:30 -0500
committerBehdad Esfahbod <behdad@behdad.org>2008-12-28 02:02:30 -0500
commit7f840d156c1212eeb0fddad4b4a6844a9c070bd5 (patch)
tree24b47112a64635dfda87a88ed6f0a308353df4f9 /src/cairo-spline.c
parent3292f9906b3637564c37863dde5d214b0fee2885 (diff)
downloadcairo-7f840d156c1212eeb0fddad4b4a6844a9c070bd5.tar.gz
[spline] Save a couple more muls
Diffstat (limited to 'src/cairo-spline.c')
-rw-r--r--src/cairo-spline.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/cairo-spline.c b/src/cairo-spline.c
index 1b6f4cfb3..5f2dc6ce3 100644
--- a/src/cairo-spline.c
+++ b/src/cairo-spline.c
@@ -314,7 +314,7 @@ _cairo_spline_bound (cairo_spline_add_point_func_t add_point_func,
double x, y;
double t_1_0, t_0_1;
double t_2_0, t_0_2;
- double t_3_0, t_2_1, t_1_2, t_0_3;
+ double t_3_0, t_2_1_3, t_1_2_3, t_0_3;
t_1_0 = t[i]; /* t */
t_0_1 = 1 - t_1_0; /* (1 - t) */
@@ -322,20 +322,20 @@ _cairo_spline_bound (cairo_spline_add_point_func_t add_point_func,
t_2_0 = t_1_0 * t_1_0; /* t * t */
t_0_2 = t_0_1 * t_0_1; /* (1 - t) * (1 - t) */
- t_3_0 = t_2_0 * t_1_0; /* t * t * t */
- t_2_1 = t_2_0 * t_0_1; /* t * t * (1 - t) */
- t_1_2 = t_1_0 * t_0_2; /* t * (1 - t) * (1 - t) */
- t_0_3 = t_0_1 * t_0_2; /* (1 - t) * (1 - t) * (1 - t) */
+ t_3_0 = t_2_0 * t_1_0; /* t * t * t */
+ t_2_1_3 = t_2_0 * t_0_1 * 3; /* t * t * (1 - t) * 3 */
+ t_1_2_3 = t_1_0 * t_0_2 * 3; /* t * (1 - t) * (1 - t) * 3 */
+ t_0_3 = t_0_1 * t_0_2; /* (1 - t) * (1 - t) * (1 - t) */
/* Bezier polynomial */
- x = x0 * t_0_3
- + 3 * x1 * t_1_2
- + 3 * x2 * t_2_1
- + x3 * t_3_0;
- y = y0 * t_0_3
- + 3 * y1 * t_1_2
- + 3 * y2 * t_2_1
- + y3 * t_3_0;
+ x = x0 * t_0_3
+ + x1 * t_1_2_3
+ + x2 * t_2_1_3
+ + x3 * t_3_0;
+ y = y0 * t_0_3
+ + y1 * t_1_2_3
+ + y2 * t_2_1_3
+ + y3 * t_3_0;
p.x = _cairo_fixed_from_double (x);
p.y = _cairo_fixed_from_double (y);