summaryrefslogtreecommitdiffstats
path: root/sigmod/Fraction.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-10-17 05:10:25 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-10-17 05:10:25 +0000
commit47428274a07bce9be5e62f82aeeb7e57aa21037f (patch)
tree1e7ab1f7cfa82a1aca56d0ec6bd0d705bce427b1 /sigmod/Fraction.cpp
parent3b83cc89885788de19b09f5e9e55c5d3ad7c60c9 (diff)
downloadsigen-47428274a07bce9be5e62f82aeeb7e57aa21037f.tar.gz
sigen-47428274a07bce9be5e62f82aeeb7e57aa21037f.tar.xz
sigen-47428274a07bce9be5e62f82aeeb7e57aa21037f.zip
[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
Diffstat (limited to 'sigmod/Fraction.cpp')
-rw-r--r--sigmod/Fraction.cpp22
1 files changed, 21 insertions, 1 deletions
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)