aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Utilities/Util.cpp
diff options
context:
space:
mode:
authorChaplain <aionthefirst@gmail.com>2012-01-02 12:38:55 +0300
committerChaplain <aionthefirst@gmail.com>2012-01-02 12:38:55 +0300
commit29c2dfb1dad310b7388685a7020f303b45a6569f (patch)
tree103e5ef5faacdd078b1f86224bd1a9d2c3d6651d /src/server/shared/Utilities/Util.cpp
parentced346076b335a02a5fc8de8e1bd1dc43ae4e838 (diff)
[Core/Utilities] Implement random generator for float values.
*for mt and sfmt *some codestyle
Diffstat (limited to 'src/server/shared/Utilities/Util.cpp')
-rwxr-xr-xsrc/server/shared/Utilities/Util.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp
index ba385230822..6ae43bc6840 100755
--- a/src/server/shared/Utilities/Util.cpp
+++ b/src/server/shared/Utilities/Util.cpp
@@ -30,17 +30,22 @@
typedef ACE_TSS<SFMTRand> SFMTRandTSS;
static SFMTRandTSS sfmtRand;
-int32 irand (int32 min, int32 max)
+int32 irand(int32 min, int32 max)
{
return int32(sfmtRand->IRandom(min, max));
}
-uint32 urand (uint32 min, uint32 max)
+uint32 urand(uint32 min, uint32 max)
{
return sfmtRand->URandom(min, max);
}
-int32 rand32 ()
+float frand(float min, float max)
+{
+ return float(sfmtRand->Random() * (max - min) + min);
+}
+
+int32 rand32()
{
return int32(sfmtRand->BRandom());
}
@@ -50,27 +55,33 @@ double rand_norm(void)
return sfmtRand->Random();
}
-double rand_chance (void)
+double rand_chance(void)
{
return sfmtRand->Random() * 100.0;
}
+
#else
typedef ACE_TSS<MTRand> MTRandTSS;
static MTRandTSS mtRand;
int32 irand(int32 min, int32 max)
{
- return int32(mtRand->randInt (max - min)) + min;
+ return int32(mtRand->randInt(max - min)) + min;
}
uint32 urand(uint32 min, uint32 max)
{
- return mtRand->randInt (max - min) + min;
+ return mtRand->randInt(max - min) + min;
+}
+
+float frand(float min, float max)
+{
+ return float(mtRand->randExc(max - min) + min);
}
int32 rand32()
{
- return mtRand->randInt ();
+ return mtRand->randInt();
}
double rand_norm(void)