From 47428274a07bce9be5e62f82aeeb7e57aa21037f Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Fri, 17 Oct 2008 05:10:25 +0000 Subject: [FIX] Added more comparison operators to Fraction [FIX] mid and setMid in Matrix replaced with addMask git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@280 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- sigmod/Fraction.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'sigmod/Fraction.cpp') diff --git a/sigmod/Fraction.cpp b/sigmod/Fraction.cpp index 8bafe022..c27c2e6e 100644 --- a/sigmod/Fraction.cpp +++ b/sigmod/Fraction.cpp @@ -139,7 +139,7 @@ Sigmod::Fraction& Sigmod::Fraction::operator/=(const Fraction& rhs) bool Sigmod::Fraction::operator==(const Fraction& rhs) const { - return ((m_numerator == rhs.m_numerator) && (m_denominator == rhs.m_denominator)); + return ((m_numerator * rhs.m_denominator) == (m_denominator * rhs.m_numerator)); } bool Sigmod::Fraction::operator!=(const Fraction& rhs) const @@ -147,6 +147,26 @@ bool Sigmod::Fraction::operator!=(const Fraction& rhs) const return !(*this == rhs); } +bool Sigmod::Fraction::operator<(const Fraction& rhs) const +{ + return ((m_numerator * rhs.m_denominator) < (m_denominator * rhs.m_numerator)); +} + +bool Sigmod::Fraction::operator<=(const Fraction& rhs) const +{ + return ((m_numerator * rhs.m_denominator) <= (m_denominator * rhs.m_numerator)); +} + +bool Sigmod::Fraction::operator>(const Fraction& rhs) const +{ + return !(*this <= rhs); +} + +bool Sigmod::Fraction::operator>=(const Fraction& rhs) const +{ + return !(*this < rhs); +} + void Sigmod::Fraction::normalize() { if (m_denominator < 0) -- cgit