30 long int fDenominator;
33 long int gcd(
long int a,
long int b);
37 rational(
long int num = 0,
long int denom = 1);
41 long int getNumerator()
const {
return fNumerator; }
42 long int getDenominator()
const {
return fDenominator; }
43 void setNumerator(
long int d) { fNumerator = d; }
44 void setDenominator(
long int d) { fDenominator = d; }
45 void set(
long int n,
long int d) { fNumerator = n; fDenominator = d; }
64 rational& operator *=(
long int num) { fNumerator *= num;
return *
this; }
65 rational& operator /=(
long int num) { fDenominator *= num;
return *
this; }
69 bool operator >(
const rational &dur)
const;
70 bool operator >=(
const rational &dur)
const {
return !(*
this < dur);}
71 bool operator <(
const rational &dur)
const;
72 bool operator <=(
const rational &dur)
const {
return !(*
this > dur);}
74 bool operator ==(
const rational &dur)
const;
75 bool operator !=(
const rational &dur)
const {
return !(*
this == dur);}
77 bool operator > (
double num)
const;
78 bool operator >=(
double num)
const;
79 bool operator < (
double num)
const;
80 bool operator <=(
double num)
const;
81 bool operator ==(
double)
const;
85 void print (ostream& os)
const;
87 operator string ()
const;
88 operator double ()
const;
89 operator float ()
const;
90 operator int ()
const;
93 string toString()
const;
94 double toDouble()
const;
95 float toFloat()
const;
99EXP ostream& operator<< (ostream& os,
const rational& rat);
Rational number representation.
Definition: rational.h:25