summaryrefslogtreecommitdiffstats
path: root/sigmod/Fraction.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-10-17 05:46:40 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-10-17 05:46:40 +0000
commitb3e1495f7a626bb4429ff5e4f3ad39ae9654f23b (patch)
tree8a188df964484e7dcf630e792dccfa1766c2f8f0 /sigmod/Fraction.cpp
parent47428274a07bce9be5e62f82aeeb7e57aa21037f (diff)
downloadsigen-b3e1495f7a626bb4429ff5e4f3ad39ae9654f23b.tar.gz
sigen-b3e1495f7a626bb4429ff5e4f3ad39ae9654f23b.tar.xz
sigen-b3e1495f7a626bb4429ff5e4f3ad39ae9654f23b.zip
[FIX] Moved Hat, Fraction, Matrix, and Script to sigcore
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@281 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'sigmod/Fraction.cpp')
-rw-r--r--sigmod/Fraction.cpp177
1 files changed, 0 insertions, 177 deletions
diff --git a/sigmod/Fraction.cpp b/sigmod/Fraction.cpp
deleted file mode 100644
index c27c2e6e..00000000
--- a/sigmod/Fraction.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright 2007-2008 Ben Boeckel <MathStuf@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- * \file sigmod/Fraction.cpp
- */
-
-// Header include
-#include "Fraction.h"
-
-Sigmod::Fraction::Fraction(const int numerator, const int denominator)
-{
- set(numerator, denominator);
-}
-
-Sigmod::Fraction::Fraction(const Fraction& fraction)
-{
- set(fraction.numerator(), fraction.denominator());
-}
-
-void Sigmod::Fraction::set(const int numerator, const int denominator)
-{
- m_numerator = numerator;
- m_denominator = denominator;
- normalize();
-}
-
-void Sigmod::Fraction::setNumerator(const int numerator)
-{
- set(numerator, m_denominator);
-}
-
-void Sigmod::Fraction::setDenominator(const int denominator)
-{
- set(m_numerator, denominator);
-}
-
-int Sigmod::Fraction::numerator() const
-{
- return m_numerator;
-}
-
-int Sigmod::Fraction::denominator() const
-{
- return m_denominator;
-}
-
-void Sigmod::Fraction::reduce()
-{
- if (!m_numerator || !m_denominator)
- return;
- int i = m_numerator;
- int j = m_denominator;
- if (i < 0)
- i = -i;
- while (i - j)
- (i > j) ? (i -= j) : (j -= i);
- m_numerator /= i;
- m_denominator /= i;
-}
-
-bool Sigmod::Fraction::poll() const
-{
- return (qrand() % m_denominator) < m_numerator;
-}
-
-bool Sigmod::Fraction::poll(const int numerator, const int denominator)
-{
- return (qrand() % denominator) < numerator;
-}
-
-Sigmod::Fraction& Sigmod::Fraction::operator=(const Fraction& rhs)
-{
- if (this == &rhs)
- return *this;
- m_numerator = rhs.m_numerator;
- m_denominator = rhs.m_denominator;
- return *this;
-}
-
-Sigmod::Fraction::operator double() const
-{
- return (double(m_numerator) / m_denominator);
-}
-
-Sigmod::Fraction Sigmod::Fraction::operator+(const Fraction& rhs) const
-{
- return Fraction((m_numerator * rhs.m_denominator) + (m_denominator * rhs.m_numerator), m_denominator * rhs.m_denominator);
-}
-
-Sigmod::Fraction Sigmod::Fraction::operator-(const Fraction& rhs) const
-{
- return Fraction((m_numerator * rhs.m_denominator) - (m_denominator * rhs.m_numerator), m_denominator * rhs.m_denominator);
-}
-
-Sigmod::Fraction Sigmod::Fraction::operator*(const Fraction& rhs) const
-{
- return Fraction(m_numerator * rhs.m_numerator, m_denominator * rhs.m_denominator);
-}
-
-Sigmod::Fraction Sigmod::Fraction::operator/(const Fraction& rhs) const
-{
- return Fraction(m_numerator * rhs.m_denominator, m_denominator * rhs.m_numerator);
-}
-
-Sigmod::Fraction& Sigmod::Fraction::operator+=(const Fraction& rhs)
-{
- return *this = *this + rhs;
-}
-
-Sigmod::Fraction& Sigmod::Fraction::operator-=(const Fraction& rhs)
-{
- return *this = *this - rhs;
-}
-
-Sigmod::Fraction& Sigmod::Fraction::operator*=(const Fraction& rhs)
-{
- return *this = *this * rhs;
-}
-
-Sigmod::Fraction& Sigmod::Fraction::operator/=(const Fraction& rhs)
-{
- return *this = *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 !(*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)
- {
- m_denominator = -m_denominator;
- m_numerator = -m_numerator;
- }
-}