source file of the Flower Library
- (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
#include <stdlib.h>
return -1;
else if (r.sign_ > s.sign_)
return 1;
- else if (r.infty_b ())
+ else if (r.is_infinity ())
return 0;
else if (r.sign_ == 0)
return 0;
Rational &
Rational::operator += (Rational r)
{
- if (infty_b ())
+ if (is_infinity ())
;
- else if (r.infty_b ())
+ else if (r.is_infinity ())
{
*this = r;
}
Rational::operator *= (Rational r)
{
sign_ *= ::sign (r.sign_);
- if (r.infty_b ())
+ if (r.is_infinity ())
{
sign_ = sign () * 2;
goto exit_func;
String
Rational::to_string () const
{
- if (infty_b ())
+ if (is_infinity ())
{
String s (sign_ > 0 ? "" : "-" );
return String (s + "infinity");
{
return r.sign ();
}
+
+bool
+Rational::is_infinity () const
+{
+ return sign_ == 2 || sign_ == -2;
+}