aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/Util.cpp')
-rw-r--r--src/shared/Util.cpp35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/shared/Util.cpp b/src/shared/Util.cpp
index 26d2275ec2a..4624cacfde7 100644
--- a/src/shared/Util.cpp
+++ b/src/shared/Util.cpp
@@ -36,27 +36,52 @@ static MTRandTSS mtRand;
int32 irand (int32 min, int32 max)
{
- return int32 (mtRand.get ().randInt (max - min)) + min;
+ int32 result;
+#pragma omp critical (mtrand)
+{
+ result = mtRand.get ().randInt (max-min) + min;
+}
+ return result;
}
uint32 urand (uint32 min, uint32 max)
{
- return mtRand.get ().randInt (max - min) + min;
+ uint32 result;
+#pragma omp critical (mtrand)
+{
+ result = mtRand.get ().randInt (max - min) + min;
+}
+ return result;
}
int32 rand32 ()
{
- return mtRand.get ().randInt ();
+ int32 result;
+#pragma omp critical (mtrand)
+{
+ result = mtRand.get ().randInt ();
+}
+ return result;
}
double rand_norm(void)
{
- return mtRand.get ().randExc ();
+ double result;
+#pragma omp critical (mtrand)
+{
+ result = mtRand.get ().randExc ();
+}
+ return result;
}
double rand_chance (void)
{
- return mtRand.get ().randExc (100.0);
+ double result;
+#pragma omp critical (mtrand)
+{
+ result = mtRand.get ().randExc (100.0);
+}
+ return result;
}
Tokens StrSplit(const std::string &src, const std::string &sep)