From: fred Date: Tue, 26 Mar 2002 23:21:56 +0000 (+0000) Subject: lilypond-1.3.52 X-Git-Tag: release/1.5.59~1633 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=297387334a5687e1289f425027f1b76c6bd0eea3;p=lilypond.git lilypond-1.3.52 --- diff --git a/flower/polynomial.cc b/flower/polynomial.cc index 50749f1fe4..2cdb979727 100644 --- a/flower/polynomial.cc +++ b/flower/polynomial.cc @@ -61,8 +61,9 @@ Polynomial::power(int exponent, const Polynomial & src) int e = exponent; Polynomial dest(1), base(src); - // classicint power. invariant: src^exponent = dest * src ^ e - // greetings go out to Lex Bijlsma & Jaap vd Woude + /* + classic int power. invariant: src^exponent = dest * src ^ e + greetings go out to Lex Bijlsma & Jaap vd Woude */ while (e > 0) { if (e % 2) @@ -83,13 +84,9 @@ static Real const FUDGE = 1e-8; void Polynomial::clean() { - int i; - for (i = 0; i <= degree (); i++) - { - if (abs(coefs_[i]) < FUDGE) - coefs_[i] = 0.0; - } - +/* + We only do relative comparisons. Absolute comparisons break down in + degenerate cases. */ while (degree () > 0 && (fabs (coefs_.top ()) < FUDGE * fabs (coefs_.top (1))) || !coefs_.top ())