summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTycho <work.tycho+git@gmail.com>2014-03-09 19:47:22 +0100
committerTycho <work.tycho+git@gmail.com>2014-03-09 19:47:22 +0100
commit1bf99b5fd26d142106d7a097900ebfe8a6279ad4 (patch)
tree44b238f317fd6863758a77ea640995e11f7e691a
parentFixed Mesannine twister to use UInt32 (diff)
downloadcuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar.gz
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar.bz2
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar.lz
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar.xz
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.tar.zst
cuberite-1bf99b5fd26d142106d7a097900ebfe8a6279ad4.zip
-rw-r--r--src/Defines.h3
-rw-r--r--src/Globals.h18
-rw-r--r--src/MersenneTwister.h2
3 files changed, 18 insertions, 5 deletions
diff --git a/src/Defines.h b/src/Defines.h
index fd240c91a..592b9434a 100644
--- a/src/Defines.h
+++ b/src/Defines.h
@@ -2,6 +2,7 @@
#pragma once
#include "ChatColor.h"
+#include <limits>
@@ -469,7 +470,7 @@ inline void EulerToVector(double a_Pan, double a_Pitch, double & a_X, double & a
inline void VectorToEuler(double a_X, double a_Y, double a_Z, double & a_Pan, double & a_Pitch)
{
- if (fabs(a_X) < std::numeric_limits::epsilon() )
+ if (fabs(a_X) < std::numeric_limits<double>::epsilon())
{
a_Pan = atan2(a_Z, a_X) * 180 / PI - 90;
}
diff --git a/src/Globals.h b/src/Globals.h
index 98611fc55..b046e6db0 100644
--- a/src/Globals.h
+++ b/src/Globals.h
@@ -81,7 +81,7 @@
#endif
-
+#include <stddef.h>
// Integral types with predefined sizes:
@@ -96,8 +96,22 @@ typedef unsigned short UInt16;
typedef unsigned char Byte;
+// If you get an error about specialization check the size of integral types
+template <typename T, size_t Size, bool x = sizeof(T) == Size>
+class SizeChecker;
+
+template <typename T, size_t Size>
+class SizeChecker<T, Size, true> {
+ T v;
+};
+template class SizeChecker<Int64, 8>;
+template class SizeChecker<Int32, 4>;
+template class SizeChecker<Int16, 2>;
+template class SizeChecker<UInt64, 8>;
+template class SizeChecker<UInt32, 4>;
+template class SizeChecker<UInt16, 2>;
// A macro to disallow the copy constructor and operator= functions
// This should be used in the private: declarations for any class that shouldn't allow copying itself
@@ -179,7 +193,7 @@ typedef unsigned char Byte;
#include <memory>
#include <set>
#include <queue>
-
+#include <limits>
diff --git a/src/MersenneTwister.h b/src/MersenneTwister.h
index 07b6b1e5c..2c5440f17 100644
--- a/src/MersenneTwister.h
+++ b/src/MersenneTwister.h
@@ -59,8 +59,6 @@
#include <ctime>
#include <cmath>
-#include "Globals.h"
-
class MTRand {
// Data
public: