00001 #ifndef CUNIFORMRNG_H
00002 #define CUNIFORMRNG_H
00003
00004 #include "GeneralRNG.h"
00005 #include <boost/random/lagged_fibonacci.hpp>
00006 #include <boost/random/uniform_01.hpp>
00007 #include <boost/random/variate_generator.hpp>
00008
00009
00010 class UniformRNG : public GeneralRNG
00011 {
00012 private:
00013 boost::lagged_fibonacci607 generator;
00014 boost::uniform_01<boost::lagged_fibonacci607> real_dist;
00015
00016 public:
00017
00018 float GetNumber(const float low, const float high);
00019
00020 virtual float GetNumber();
00021
00022 virtual unsigned int GetNumber(const unsigned int max);
00023 UniformRNG();
00024 virtual ~UniformRNG();
00025 };
00026
00027 #endif // CUNIFORMRNG_H