From a5d6e23e9d2c3752e2a059325ed67026c0ebdfdb Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 14 May 2009 12:08:24 +0000 Subject: (svn r16305) -Codechange: force-enable extra sync checking when random debugging is enable and give the calling location of Chance16(R) instead of the Random call within those functions. --- src/core/random_func.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/core') diff --git a/src/core/random_func.hpp b/src/core/random_func.hpp index 811c53b55..9d1d585ae 100644 --- a/src/core/random_func.hpp +++ b/src/core/random_func.hpp @@ -135,10 +135,14 @@ static FORCEINLINE bool Chance16I(const uint a, const uint b, const uint32 r) * @param b The denominator of the fraction * @return True with (a/b) probability */ +#ifdef RANDOM_DEBUG + #define Chance16(a, b) Chance16I(a, b, DoRandom(__LINE__, __FILE__)) +#else static FORCEINLINE bool Chance16(const uint a, const uint b) { return Chance16I(a, b, Random()); } +#endif /* RANDOM_DEBUG */ /** * Flips a coin with a given probability and saves the randomize-number in a variable. @@ -155,10 +159,14 @@ static FORCEINLINE bool Chance16(const uint a, const uint b) * @param r The variable to save the randomize-number from Random() * @return True in (a/b) percent */ +#ifdef RANDOM_DEBUG + #define Chance16R(a, b, r) (r = DoRandom(__LINE__, __FILE__), Chance16I(a, b, r)) +#else static FORCEINLINE bool Chance16R(const uint a, const uint b, uint32 &r) { r = Random(); return Chance16I(a, b, r); } +#endif /* RANDOM_DEBUG */ #endif /* RANDOM_FUNC_HPP */ -- cgit v1.2.3-70-g09d2