diff options
Diffstat (limited to 'src/2geom/solve-bezier.cpp')
| -rw-r--r-- | src/2geom/solve-bezier.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/2geom/solve-bezier.cpp b/src/2geom/solve-bezier.cpp index 09f8d9289..adf3c9ac0 100644 --- a/src/2geom/solve-bezier.cpp +++ b/src/2geom/solve-bezier.cpp @@ -80,7 +80,7 @@ void convex_hull_marching(Bezier src_bz, Bezier bz, double left_t, double right_t) { - while(bz.order() > 0 and bz[0] == 0) { + while(bz.order() > 0 && bz[0] == 0) { std::cout << "deflate\n"; bz = bz.deflate(); solutions.push_back(left_t); @@ -89,12 +89,11 @@ void convex_hull_marching(Bezier src_bz, Bezier bz, int old_sign = SGN(bz[0]); - int sign; double left_bound = 0; double dt = 0; for (size_t i = 1; i < bz.size(); i++) { - sign = SGN(bz[i]); + int sign = SGN(bz[i]); if (sign != old_sign) { dt = double(i) / bz.order(); @@ -113,7 +112,7 @@ void convex_hull_marching(Bezier src_bz, Bezier bz, double new_left_t = left_bound * (right_t - left_t) + left_t; std::cout << "new_left_t = " << new_left_t << std::endl; Bezier bzr = subRight(src_bz, new_left_t); - while(bzr.order() > 0 and bzr[0] == 0) { + while(bzr.order() > 0 && bzr[0] == 0) { std::cout << "deflate\n"; bzr = bzr.deflate(); solutions.push_back(new_left_t); @@ -124,7 +123,7 @@ void convex_hull_marching(Bezier src_bz, Bezier bz, new_left_t, right_t); } else { std::cout << "epsilon reached\n"; - while(bzr.order() > 0 and fabs(bzr[0]) <= 1e-10) { + while(bzr.order() > 0 && fabs(bzr[0]) <= 1e-10) { std::cout << "deflate\n"; bzr = bzr.deflate(); std::cout << bzr << std::endl; @@ -182,11 +181,10 @@ void Bernsteins::find_bernstein_roots(Bezier bz, int old_sign = SGN(bz[0]); //std::cout << "w[0] = " << bz[0] << std::endl; - int sign; for (size_t i = 1; i < bz.size(); i++) { //std::cout << "w[" << i << "] = " << w[i] << std::endl; - sign = SGN(bz[i]); + int sign = SGN(bz[i]); if (sign != 0) { if (sign != old_sign && old_sign != 0) @@ -259,7 +257,7 @@ void Bernsteins::find_bernstein_roots(Bezier bz, debug(std::cout << "Solution is exactly on the subdivision point.\n"); debug(std::cout << Left << " , " << Right << std::endl); Left = reverse(Left); - while(Right.order() > 0 and fabs(Right[0]) <= 1e-10) { + while(Right.order() > 0 && fabs(Right[0]) <= 1e-10) { debug(std::cout << "deflate\n"); Right = Right.deflate(); Left = Left.deflate(); @@ -293,7 +291,7 @@ double Bernsteins::secant(Bezier bz) { double s = 0, t = 1; double e = 1e-14; int side = 0; - double r, fr, fs = bz.at0(), ft = bz.at1(); + double r, fs = bz.at0(), ft = bz.at1(); for (size_t n = 0; n < 100; ++n) { @@ -305,7 +303,7 @@ double Bernsteins::secant(Bezier bz) { return r; } - fr = horner(bz, r); + double fr = horner(bz, r); if (fr * ft > 0) { |
