X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Fpolynomial.cc;h=ec8605058c2bcdb0ce4c1ea5889d1463a882f434;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=05faf4209738a164f170ae86485a6e3059e51e24;hpb=f875ef39c544bd3499dae5360e9e24f69933575f;p=lilypond.git diff --git a/flower/polynomial.cc b/flower/polynomial.cc index 05faf42097..ec8605058c 100644 --- a/flower/polynomial.cc +++ b/flower/polynomial.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1993--2011 Han-Wen Nienhuys + Copyright (C) 1993--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -49,11 +49,11 @@ Polynomial::multiply (const Polynomial &p1, const Polynomial &p2) { Polynomial dest; - int deg = p1.degree () + p2.degree (); - for (int i = 0; i <= deg; i++) + ssize_t deg = p1.degree () + p2.degree (); + for (ssize_t i = 0; i <= deg; i++) { dest.coefs_.push_back (0); - for (int j = 0; j <= i; j++) + for (ssize_t j = 0; j <= i; j++) if (i - j <= p2.degree () && j <= p1.degree ()) dest.coefs_.back () += p1.coefs_[j] * p2.coefs_[i - j]; } @@ -177,22 +177,22 @@ Polynomial::set_mod (const Polynomial &u, const Polynomial &v) if (v.lc () < 0.0) { - for (int k = u.degree () - v.degree () - 1; k >= 0; k -= 2) + for (ssize_t k = u.degree () - v.degree () - 1; k >= 0; k -= 2) coefs_[k] = -coefs_[k]; - for (int k = u.degree () - v.degree (); k >= 0; k--) - for (int j = v.degree () + k - 1; j >= k; j--) + for (ssize_t k = u.degree () - v.degree (); k >= 0; k--) + for (ssize_t j = v.degree () + k - 1; j >= k; j--) coefs_[j] = -coefs_[j] - coefs_[v.degree () + k] * v.coefs_[j - k]; } else { - for (int k = u.degree () - v.degree (); k >= 0; k--) - for (int j = v.degree () + k - 1; j >= k; j--) + for (ssize_t k = u.degree () - v.degree (); k >= 0; k--) + for (ssize_t j = v.degree () + k - 1; j >= k; j--) coefs_[j] -= coefs_[v.degree () + k] * v.coefs_[j - k]; } - int k = v.degree () - 1; + ssize_t k = v.degree () - 1; while (k >= 0 && coefs_[k] == 0.0) k--; @@ -328,7 +328,7 @@ Polynomial::lc () return coefs_.back (); } -int +ssize_t Polynomial::degree ()const { return coefs_.size () - 1;