]> git.donarmstrong.com Git - rsem.git/blobdiff - simul.h
Imported Upstream version 1.2.17
[rsem.git] / simul.h
diff --git a/simul.h b/simul.h
index 2719b3c9fb46fd67e6479775e3dfc6a1c113945f..b62132a66a636115c3484073d7277bc5898d0eeb 100644 (file)
--- a/simul.h
+++ b/simul.h
@@ -3,11 +3,14 @@
 
 #include<cassert>
 
+#include "boost/random.hpp"
 
 class simul {
 public:
 
-        virtual ~simul() {}
+ simul(unsigned int seed) : engine(seed), rg(engine, boost::random::uniform_01<>()) {
+  }
+
        // interval : [,)
        // random number should be in [0, arr[len - 1])
        // If by chance arr[len - 1] == 0.0, one possibility is to sample uniformly from 0 ... len - 1
@@ -29,9 +32,11 @@ public:
          return l;
        }
 
-       virtual double random() { return 0.0; };
+       double random() { return rg(); };
 
 private:
+       boost::random::mt19937 engine;
+       boost::random::variate_generator<boost::random::mt19937&, boost::random::uniform_01<> > rg;
 };
 
 #endif /* SIMUL_H_ */