Curve Fitting: fix off by one error
authorCampbell Barton <ideasman42@gmail.com>
Fri, 5 Aug 2016 08:49:56 +0000 (18:49 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 5 Aug 2016 08:50:49 +0000 (18:50 +1000)
In practice this wasn't likely to cause problems, but better fix.

extern/curve_fit_nd/intern/curve_fit_cubic.c

index 417b41d..9b4f186 100644 (file)
@@ -614,7 +614,7 @@ static void cubic_from_points_offset_fallback(
 
        double dists[2] = {0, 0};
 
-       const double *pt = points_offset;
+       const double *pt = &points_offset[dims];
        for (uint i = 1; i < points_offset_len - 1; i++, pt += dims) {
                for (uint k = 0; k < 2; k++) {
                        sub_vn_vnvn(tmp, p0, pt, dims);
@@ -896,7 +896,7 @@ static double points_calc_coord_length(
        }
        assert(!is_almost_zero(r_u[points_offset_len - 1]));
        const double w = r_u[points_offset_len - 1];
-       for (uint i = 0; i < points_offset_len; i++) {
+       for (uint i = 1; i < points_offset_len; i++) {
                r_u[i] /= w;
        }
        return w;