]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Random.cc
extreme refactoring
[chaz/yoink] / src / Moof / Random.cc
similarity index 82%
rename from src/random.cc
rename to src/Moof/Random.cc
index 6cd25cf7af042943746d2455302ac16e367340a4..a88100836cd79c749721dcb4eb3fc66da375f510 100644 (file)
 
 *******************************************************************************/
 
+#include <climits>             // ULONG_MAX
+#include <cmath>               // log
 #include <cstdlib>             // srand, rand, RAND_MAX
 #include <ctime>               // time
-#include <cmath>               // log
-#include <climits>             // ULONG_MAX
 
-#include "random.hh"
+#include "Random.hh"
+
 
+namespace Mf {
 
-namespace rng {
 
-unsigned seed(unsigned theSeed)
+unsigned setSeed(unsigned theSeed)
 {
        srand(theSeed);
        return theSeed;
 }
 
-unsigned seed()
+unsigned setSeed()
 {
-       return seed(time(0));
+       return setSeed(time(0));
 }
 
 
 template <typename T>
-T get()
+T getRandom()
 {
        const  float ln2 = 0.693147;
        static const unsigned bitsPerPiece = std::log(float(RAND_MAX)) / ln2;
@@ -72,46 +73,46 @@ T get()
 
 
 template <>
-bool get<bool>()
+bool getRandom<bool>()
 {
        return rand() % 2;
 }
 
 template <typename T>
-T get(T lower, T upper)
+T getRandom(T lower, T upper)
 {
-       unsigned short randInt = get<unsigned int>();
+       unsigned short randInt = getRandom<unsigned int>();
        return lower + T(randInt % (upper - lower + 1));
 }
 
 template <>
-float get(float lower, float upper)
+float getRandom(float lower, float upper)
 {
-       unsigned long randInt = get<unsigned long>();
+       unsigned long randInt = getRandom<unsigned long>();
        return (float(randInt) / float(ULONG_MAX)) * (upper - lower) + lower;
 }
 
 template <>
-double get(double lower, double upper)
+double getRandom(double lower, double upper)
 {
-       unsigned long long randInt = get<unsigned long long>();
+       unsigned long long randInt = getRandom<unsigned long long>();
        return (double(randInt) / double(ULLONG_MAX)) * (upper - lower) + lower;
 }
 
 template <>
-float get()
+float getRandom()
 {
-       return get<float>(0.0, 1.0);
+       return getRandom<float>(0.0, 1.0);
 }
 
 template <>
-double get()
+double getRandom()
 {
-       return get<double>(0.0, 1.0);
+       return getRandom<double>(0.0, 1.0);
 }
 
 
-}; // namespace rng
+}; // namespace Mf
 
 /** vim: set ts=4 sw=4 tw=80: *************************************************/
 
This page took 0.019999 seconds and 4 git commands to generate.