diff options
Diffstat (limited to 'src/shared')
| -rw-r--r-- | src/shared/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/shared/Util.cpp | 35 |
2 files changed, 31 insertions, 6 deletions
diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 36d65544d3c..9205f145e48 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -24,5 +24,5 @@ SET(shared_STAT_SRCS WorldPacket.h SystemConfig.h ) - +add_definitions(-fopenmp) add_library(shared STATIC ${shared_STAT_SRCS}) 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) |
