aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2015-04-03 02:13:32 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2015-04-03 02:13:32 +0200
commitad8586d69bdac1a1fa19907f830518875e4acd91 (patch)
treec8052c43cb1754c2ae99c227c7dc61ee309d8a12
parent82cc9c0cf2cdb8de17233a2ea943a5247d5da305 (diff)
downloadusdx-ad8586d69bdac1a1fa19907f830518875e4acd91.tar.gz
usdx-ad8586d69bdac1a1fa19907f830518875e4acd91.tar.xz
usdx-ad8586d69bdac1a1fa19907f830518875e4acd91.zip
utils/math: Remove custom implementation of min/max.
The stl provieds sutable implementations.
-rw-r--r--src/utils/math.hpp67
-rw-r--r--src/utils/rectangle.hpp15
-rw-r--r--test/utils/math.cpp157
3 files changed, 8 insertions, 231 deletions
diff --git a/src/utils/math.hpp b/src/utils/math.hpp
deleted file mode 100644
index 2e568a5b..00000000
--- a/src/utils/math.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * UltraStar Deluxe - Karaoke Game
- *
- * UltraStar Deluxe is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * 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 2
- * 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; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef MATH_HPP
-#define MATH_HPP
-
-namespace usdx
-{
- class Math
- {
- public:
- template <class T>
- static const T min(const T a, const T b)
- {
- if (a < b)
- return a;
- return b;
- }
-
- template <class T>
- static const T max(const T a, const T b)
- {
- if (a > b)
- return a;
- return b;
- }
-
- template <class T>
- static const T abs(const T value)
- {
- if (value < 0)
- return -value;
- return value;
- }
-
- private:
- /**
- * private constructor to ensure, that this class never gets
- instanciated
- */
- Math() {};
- };
-}
-
-
-#endif
diff --git a/src/utils/rectangle.hpp b/src/utils/rectangle.hpp
index 9cca9eff..423f309f 100644
--- a/src/utils/rectangle.hpp
+++ b/src/utils/rectangle.hpp
@@ -25,9 +25,10 @@
#ifndef RECTANGLE_HPP
#define RECTANGLE_HPP
+#include <algorithm>
+
#include "point.hpp"
#include "dimension.hpp"
-#include "math.hpp"
namespace usdx
{
@@ -80,17 +81,17 @@ namespace usdx
const T get_width(void) const
{
- return Math::abs(point2.get_x() - point1.get_x());
+ return std::abs(point2.get_x() - point1.get_x());
}
const T get_height(void) const
{
- return Math::abs(point2.get_y() - point1.get_y());
+ return std::abs(point2.get_y() - point1.get_y());
}
const T get_top(void) const
{
- return Math::min(point1.get_y(), point2.get_y());
+ return std::min(point1.get_y(), point2.get_y());
}
void set_top(T value)
@@ -102,12 +103,12 @@ namespace usdx
const T get_bottom(void) const
{
- return Math::max(point1.get_y(), point2.get_y());
+ return std::max(point1.get_y(), point2.get_y());
}
const T get_left(void) const
{
- return Math::min(point1.get_x(), point2.get_x());
+ return std::min(point1.get_x(), point2.get_x());
}
void set_left(T value)
@@ -124,7 +125,7 @@ namespace usdx
const T get_right(void) const
{
- return Math::max(point1.get_x(), point2.get_x());
+ return std::max(point1.get_x(), point2.get_x());
}
const Rectangle<T> intersect(const Rectangle<T>& inner) const
diff --git a/test/utils/math.cpp b/test/utils/math.cpp
deleted file mode 100644
index 3e3ae5e6..00000000
--- a/test/utils/math.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * UltraStar Deluxe - Karaoke Game
- *
- * UltraStar Deluxe is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * 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 2
- * 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; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- */
-
-#include "utils/math.hpp"
-
-#include <exception>
-#include <cppunit/extensions/HelperMacros.h>
-#include <log4cpp/Category.hh>
-
-namespace usdx
-{
- class MathTest : public CppUnit::TestFixture {
- CPPUNIT_TEST_SUITE(MathTest);
- CPPUNIT_TEST(testMinFirst);
- CPPUNIT_TEST(testMinSecond);
- CPPUNIT_TEST(testMinFloat);
- CPPUNIT_TEST(testMaxFirst);
- CPPUNIT_TEST(testMaxSecond);
- CPPUNIT_TEST(testMaxFloat);
- CPPUNIT_TEST(testAbsPositive);
- CPPUNIT_TEST(testAbsNegative);
- CPPUNIT_TEST(testAbsFloat);
- CPPUNIT_TEST_SUITE_END();
- private:
- static log4cpp::Category& log;
- public:
- void setUp()
- {
- }
-
- void tearDown()
- {
- }
-
- void testMinFirst()
- {
- int a = 10;
- int b = 20;
- int c = Math::min(a, b);
-
- CPPUNIT_ASSERT_EQUAL(10, a);
- CPPUNIT_ASSERT_EQUAL(20, b);
- CPPUNIT_ASSERT_EQUAL(10, c);
- }
-
- void testMinSecond()
- {
- int a = 20;
- int b = 10;
- int c = Math::min(a, b);
-
- CPPUNIT_ASSERT_EQUAL(20, a);
- CPPUNIT_ASSERT_EQUAL(10, b);
- CPPUNIT_ASSERT_EQUAL(10, c);
- }
-
- void testMinFloat()
- {
- float a = 3.15f;
- float b = 3.14f;
- float c = Math::min(a, b);
-
- CPPUNIT_ASSERT_EQUAL(3.15f, a);
- CPPUNIT_ASSERT_EQUAL(3.14f, b);
- CPPUNIT_ASSERT_EQUAL(3.14f, c);
- }
-
- void testMaxFirst()
- {
- int a = 10;
- int b = 20;
- int c = Math::max(a, b);
-
- CPPUNIT_ASSERT_EQUAL(10, a);
- CPPUNIT_ASSERT_EQUAL(20, b);
- CPPUNIT_ASSERT_EQUAL(20, c);
- }
-
- void testMaxSecond()
- {
- int a = 20;
- int b = 10;
- int c = Math::max(a, b);
-
- CPPUNIT_ASSERT_EQUAL(20, a);
- CPPUNIT_ASSERT_EQUAL(10, b);
- CPPUNIT_ASSERT_EQUAL(20, c);
- }
-
- void testMaxFloat()
- {
- float a = 3.15f;
- float b = 3.14f;
- float c = Math::max(a, b);
-
- CPPUNIT_ASSERT_EQUAL(3.15f, a);
- CPPUNIT_ASSERT_EQUAL(3.14f, b);
- CPPUNIT_ASSERT_EQUAL(3.15f, c);
- }
-
- void testAbsPositive()
- {
- int a = 10;
- int b = Math::abs(a);
-
- CPPUNIT_ASSERT_EQUAL(10, a);
- CPPUNIT_ASSERT_EQUAL(10, b);
- }
-
- void testAbsNegative()
- {
- int a = -10;
- int b = Math::abs(a);
-
- CPPUNIT_ASSERT_EQUAL(-10, a);
- CPPUNIT_ASSERT_EQUAL(10, b);
- }
-
- void testAbsFloat()
- {
- float a = -3.15f;
- float b = Math::abs(a);
-
- CPPUNIT_ASSERT_EQUAL(-3.15f, a);
- CPPUNIT_ASSERT_EQUAL(3.15f, b);
- }
-
- };
-
- log4cpp::Category& MathTest::log =
- log4cpp::Category::getInstance("test.usdx.utils.math");
-
- CPPUNIT_TEST_SUITE_REGISTRATION(MathTest);
-}