diff --git a/src/include/fraction.h b/src/include/fraction.h index 9dbdcc651..7e2621d52 100755 --- a/src/include/fraction.h +++ b/src/include/fraction.h @@ -65,11 +65,13 @@ public: // @cmember Trasforma il fraction in real operator real() const; + // @cmember Costruttore fraction(); // @cmember Costruttore - fraction(const real &num, const real& den = UNO); - fraction(__int64 num, __int64 den = 1) : _num(num), _den(den) { simplify(); } + fraction(const real &num, const real& den); + // @cmember Costruttore + fraction(__int64 num, __int64 den = 1) : _num(num), _den(den) { simplify(); } // @cmember Costruttore fraction(const fraction& b) ; // @cmember Costruttore @@ -95,35 +97,37 @@ bool operator ==(const fraction& a, const fraction& b) ; bool operator !=(const fraction& a, const fraction& b) ; // Valanga apparentemente inutile: aggiungere solo cio' che serve veramente! -inline fraction operator +(const real& a, const fraction& b) { return ::operator +(fraction(a), b);} -inline fraction operator +(const fraction& a, const real& b) { return ::operator +(b, a);} -inline fraction operator +(const fraction& a, __int64 b) { return ::operator +(a, fraction(b));} -inline fraction operator +(__int64 a, const fraction& b) { return ::operator +(b, a);} -inline fraction operator -(const real& a, const fraction& b) { return ::operator -(fraction(a), b);} -inline fraction operator -(const fraction& a, const real& b) { return ::operator -(a, fraction(b));} -inline fraction operator -(const fraction& a, __int64 b) { return ::operator -(a, fraction(b));} -inline fraction operator -(__int64 a, const fraction& b) { return ::operator -(fraction(a), b);} -inline fraction operator *(const real& a, const fraction& b) { return ::operator *(fraction(a), b);} -inline fraction operator *(const fraction& a, const real& b) { return ::operator *(b, a);} +//inline fraction operator +(const real& a, const fraction& b) { return ::operator +(fraction(a, UNO), b);} +// inline fraction operator +(const fraction& a, const real& b) { return ::operator +(b, a);} +//inline fraction operator +(const fraction& a, __int64 b) { return ::operator +(a, fraction(b));} +// inline fraction operator +(__int64 a, const fraction& b) { return ::operator +(b, a);} +// inline fraction operator -(const real& a, const fraction& b) { return ::operator -(fraction(a, UNO), b);} +// inline fraction operator -(const fraction& a, const real& b) { return ::operator -(a, fraction(b, UNO));} +// inline fraction operator -(const fraction& a, __int64 b) { return ::operator -(a, fraction(b));} +// inline fraction operator -(__int64 a, const fraction& b) { return ::operator -(fraction(a), b);} +// inline fraction operator *(const real& a, const fraction& b) { return ::operator *(fraction(a, UNO), b);} +// inline fraction operator *(const fraction& a, const real& b) { return ::operator *(b, a);} fraction operator *(const fraction& a, __int64 b); -inline fraction operator *(__int64 a, const fraction& b) { return ::operator *(b, a);} -inline fraction operator /(const real& a, const fraction& b) { return ::operator /(fraction(a), b);} -inline fraction operator /(const fraction& a, const real& b) { return ::operator /(a, fraction(b));} +// inline fraction operator *(__int64 a, const fraction& b) { return ::operator *(b, a);} +// inline fraction operator /(const real& a, const fraction& b) { return ::operator /(fraction(a, UNO), b);} +// inline fraction operator /(const fraction& a, const real& b) { return ::operator /(a, fraction(b, UNO));} fraction operator /(const fraction& a, __int64 b); fraction operator /(__int64 a, const fraction& b); -inline bool operator <(const real& a, const fraction& b) { return ::operator < (fraction(a), b);} -inline bool operator <(const fraction& a, const real& b) { return ::operator > (fraction(b), a);} -inline bool operator >(const real& a, const fraction& b) { return ::operator > (fraction(a), b);} -inline bool operator >(const fraction& a, const real& b) { return ::operator < (fraction(b), a);} -inline bool operator <=(const real& a, const fraction& b) { return ::operator <= (fraction(a), b);} -inline bool operator <=(const fraction& a, const real& b) { return ::operator >= (fraction(b), a);} -inline bool operator >=(const real& a, const fraction& b) { return ::operator >= (fraction(a), b);} -inline bool operator >=(const fraction& a, const real& b) { return ::operator <= (fraction(b), a);} -inline bool operator ==(const real& a, const fraction& b) { return ::operator == (fraction(a), b);} -inline bool operator ==(const fraction& a, const real& b) { return ::operator == (fraction(b), a);} -inline bool operator !=(const real& a, const fraction& b) { return ::operator != (fraction(a), b);} -inline bool operator !=(const fraction& a, const real& b) { return ::operator != (fraction(b), a);} + +// inline bool operator <(const real& a, const fraction& b) { return ::operator < (fraction(a, UNO), b);} +// inline bool operator <(const fraction& a, const real& b) { return ::operator > (fraction(b, UNO), a);} +inline bool operator >(const real& a, const fraction& b) { return ::operator > (fraction(a, UNO), b);} +inline bool operator >(const fraction& a, const real& b) { return ::operator < (fraction(b, UNO), a);} +inline bool operator <=(const real& a, const fraction& b) { return ::operator <= (fraction(a, UNO), b);} +inline bool operator <=(const fraction& a, const real& b) { return ::operator >= (fraction(b, UNO), a);} +inline bool operator >=(const real& a, const fraction& b) { return ::operator >= (fraction(a, UNO), b);} +inline bool operator >=(const fraction& a, const real& b) { return ::operator <= (fraction(b, UNO), a);} +inline bool operator ==(const real& a, const fraction& b) { return ::operator == (fraction(a, UNO), b);} +inline bool operator ==(const fraction& a, const real& b) { return ::operator == (fraction(b, UNO), a);} +// inline bool operator !=(const real& a, const fraction& b) { return ::operator != (fraction(a, UNO), b);} +// inline bool operator !=(const fraction& a, const real& b) { return ::operator != (fraction(b, UNO), a);} + void swap(fraction& a, fraction& b) ;