]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/rational.hh
2003 -> 2004
[lilypond.git] / flower / include / rational.hh
index 1058d784c4da0b001d8ad2a9414064ecd0a1ee97..4c4b0a3891dbfeb74146715c466d94c22161edfd 100644 (file)
@@ -3,19 +3,19 @@
 
   source file of the Flower Library
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #ifndef RATIONAL_HH
 #define RATIONAL_HH
 
-
 #include "compare.hh"
 #include "arithmetic-operator.hh"
 #include "flower-proto.hh"
 #include "string.hh"
 
+
 /**
    Rational numbers.  Included is support for + and - infinity.
  */
@@ -35,29 +35,31 @@ class Rational {
 
 public:
   void set_infinite (int sign);
-  bool infty_b () const;
+  bool is_infinity () const;
   void invert ();
-  int num  () const { return sign_ * num_; }
-  int den  () const { return den_; }
-  int num_i  () const { return sign_ * num_; }
-  int den_i  () const { return den_; }
+  int num () const { return sign_ * num_; }
+  int den () const { return den_; }
+
   Rational trunc_rat () const;
   Rational div_rat (Rational) const;
   Rational mod_rat (Rational) const;
   void negate ();
-  operator bool () const;
-  operator int () const;
+  //   operator bool () const;
+  int to_int () const;
   operator double () const;
   Rational operator - () const;
   /**
      Initialize to 0. 
    */
   Rational ();
-  Rational (int, int =1);
+  Rational (int);
+  Rational (int, int);
   Rational (double);
   Rational (Rational const&r) {   copy (r);}
+  Rational &operator = (Rational const &r) {
+    copy (r); return *this;
+  }
 
-  Rational &operator = (Rational const &);
   Rational &operator *= (Rational);
   Rational &operator /= (Rational);  
   Rational &operator += (Rational);
@@ -65,7 +67,7 @@ public:
   Rational &operator %= (Rational);
   static int compare (Rational const&, Rational const&);
   int sign () const;
-  String str () const;
+  String to_string () const;
 };
 
 IMPLEMENT_ARITHMETIC_OPERATOR (Rational, / );
@@ -87,9 +89,10 @@ Rational::copy (Rational const&r)
   den_ = r.den_;
 }
 
-class ostream;
+#if 0
 ostream &
 operator << (ostream &,  Rational);
+#endif
 
 const Rational infinity_rat = INT_MAX;