Boost logo

Boost :

From: christopher diggins (cdiggins_at_[hidden])
Date: 2005-05-24 09:27:15

From: "Vladimir Prus" <ghost_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Tuesday, May 24, 2005 2:28 AM
Subject: [boost] Re: random.hpp - suggestion for utility function

> christopher diggins wrote:
>> 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);
>> boost::variate_generator
>> <
>> boost::mt19937,
>> boost::uniform_int<>
>> > generator(rng, dist);
>> return generator();
>> }
>> (apologies if I made any mistakes)
> You can make it a bit shorter, I believe:
> boost::mt19937 e;
> return boost::uniform_int<>(0, 100)(e);

Thanks you Vladmir and Michael for responding. So the correct shortest way
would then have been simply to write:

unsigned int boost_rand() {
  static boost::mt19937 e;
  return boost::uniform_int<>(0, RAND_MAX)(e);


So the purpose of variate_generator only generates function objects? The
introductory example gives the impression
that it is a neccessary step. I think the documentation then should be
updated to be less confusing.

Christopher Diggins 

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