Boost logo

Boost :

From: christopher diggins (cdiggins_at_[hidden])
Date: 2005-05-23 14:54:20

AFAICT the shortest way to emulate the std::rand() function using
boost/random.hpp would be as follows:

  unsigned int longhand_boost_rand() {
    boost::mt19937 rng;
    boost::uniform_int<> dist(0, RAND_MAX);
> generator(rng, dist);
    return generator();

(apologies if I made any mistakes)

I was wondering if there would be any reason not to provide a utility
function which made it easier to write random number generators. For
instance, the following:

  template<class Dist_T, class Rng_T>
  typename boost::variate_generator<Rng_T, Dist_T>::result_type
  generate_rand(Dist_T dist, Rng_T rng) {
    return boost::variate_generator<Rng_T, Dist_T>(rng, dist)();

would allow us to rewrite our rand function as follows.

  unsigned int shorthand_boost_rand() {
    return generate_rand(boost::uniform_int<>(0, RAND_MAX),

By the way, congratulations on an excellent product to the random.hpp team.

Christopher Diggins 

Boost list run by bdawes at, gregod at, cpdaniel at, john at