From: Han-Wen Nienhuys Date: Wed, 20 Dec 2006 00:49:07 +0000 (+0100) Subject: bugfix: return HUGE_VAL for infinite rational. X-Git-Tag: release/2.11.4-1~13^2~8 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1226b640103812acf135e88002eb7506a9d6baad;p=lilypond.git bugfix: return HUGE_VAL for infinite rational. --- diff --git a/flower/rational.cc b/flower/rational.cc index a0c0d22410..7816905ea2 100644 --- a/flower/rational.cc +++ b/flower/rational.cc @@ -9,6 +9,7 @@ #include "rational.hh" #include +#include #include using namespace std; @@ -17,7 +18,17 @@ using namespace std; Rational::operator double () const { - return ((double)sign_) * num_ / den_; + if (sign_==-1 || sign_ == 1) + return ((double)sign_) * num_ / den_; + + if (sign_ == -2) + return -HUGE_VAL; + else if (sign_ == 2) + return HUGE_VAL; + else + assert (false); + + return 0.0; } Rational::operator bool () const