#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
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_ */