X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Frational.cc;h=4205b1d683042153a4fe41dfa6651bb343c75d70;hb=c59032f74b49b01cadfb1f65953cd85bd6e8e2d5;hp=724f0d99ca5b526dfc5f067decfbaf2066f7796c;hpb=474c8729dc274a30558102a015a01fa5882673db;p=lilypond.git diff --git a/flower/rational.cc b/flower/rational.cc index 724f0d99ca..4205b1d683 100644 --- a/flower/rational.cc +++ b/flower/rational.cc @@ -50,7 +50,9 @@ Rational::abs () const Rational Rational::trunc_rat () const { - return Rational (num_ - (num_ % den_), den_); + if (is_infinity()) + return *this; + return Rational ((num_ - (num_ % den_)) * sign_, den_); } Rational::Rational () @@ -79,6 +81,7 @@ void Rational::set_infinite (int s) { sign_ = ::sign (s) * 2; + num_ = 1; } Rational