23 #ifndef SRC_DATA_UTILS_RANDOMGENERATOR_HPP_ 
   24 #define SRC_DATA_UTILS_RANDOMGENERATOR_HPP_ 
   26 #include <boost/atomic.hpp> 
   27 #include <boost/thread/mutex.hpp> 
   52     uint64_t 
uniRandInt(
int min = 0, 
int max = RAND_MAX);
 
   68     double normRandReal(
double mean = 0, 
double variance = 1);
 
   89     std::random_device 
rd;
 
  111 #define RAN_GEN mic::utils::RandomGenerator::getInstance() 
double uniRandReal(double min=0, double max=1)
 
Random generator - defined in the form of a singleton, with double-checked locking pattern (DCLP) bas...
 
std::uniform_real_distribution uniform_real_dist
Uniform distribution from 0 to 1 (real values). 
 
static boost::atomic< RandomGenerator * > instance_
 
std::uniform_int_distribution uniform_int_dist
Uniform distribution from 0 to RAND_MAX (integers). 
 
uint64_t uniRandInt(int min=0, int max=RAND_MAX)
 
static RandomGenerator * getInstance()
 
std::mt19937_64 rng_mt19937_64
 
static boost::mutex instantiation_mutex
 
double normRandReal(double mean=0, double variance=1)
 
std::normal_distribution normal_real_dist
Normal distribution from 0 to 1 (real values).