X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Frational.hh;h=0129cea773dd22da6a64fdfc357549d44cf5f46e;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=969d0121470db512f58f342046fd5293c735ad29;hpb=41e45dd730c075e78065dfa78e5e54be664d905e;p=lilypond.git diff --git a/flower/include/rational.hh b/flower/include/rational.hh index 969d012147..0129cea773 100644 --- a/flower/include/rational.hh +++ b/flower/include/rational.hh @@ -3,12 +3,13 @@ source file of the Flower Library - (c) 1997--2007 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ #ifndef RATIONAL_HH #define RATIONAL_HH +#include "flower-proto.hh" #include "std-string.hh" #include @@ -26,7 +27,7 @@ class Rational 0 if *this is zero. */ int sign_; - unsigned int num_, den_; + U64 num_, den_; void normalize (); void copy (Rational const &); @@ -34,10 +35,10 @@ public: void set_infinite (int sign); bool is_infinity () const; void invert (); - int numerator () const { return sign_ * num_; } - int denominator () const { return den_; } - int num () const { return numerator (); } - int den () const { return denominator (); } + I64 numerator () const { return sign_ * num_; } + I64 denominator () const { return den_; } + I64 num () const { return numerator (); } + I64 den () const { return denominator (); } Rational trunc_rat () const; Rational div_rat (Rational) const; @@ -55,7 +56,9 @@ public: */ Rational (); Rational (int); - explicit Rational (int, int); + Rational (I64); + Rational (U64); + explicit Rational (I64, I64); explicit Rational (double); Rational (Rational const &r) { copy (r);} Rational &operator = (Rational const &r) @@ -99,6 +102,6 @@ ostream & operator << (ostream &, Rational); #endif -const Rational infinity_rat (INT_MAX); +const Rational infinity_rat (U64_MAX); #endif // RATIONAL_HH