Boost logo

Boost :

From: pbristow_at_[hidden]
Date: 2020-06-18 08:26:43


> -----Original Message-----
> From: Boost <boost-bounces_at_[hidden]> On Behalf Of John Maddock via Boost
> Sent: 17 June 2020 18:48
> To: Paul A Bristow via Boost <boost_at_[hidden]>
> Cc: John Maddock <jz.maddock_at_[hidden]>
> Subject: Re: [boost] Boost.Random
>
>
> On 17/06/2020 15:53, Paul A Bristow via Boost wrote:
> > I have wanted to use boost::random::random_device; as a seeder for my generator.
> >
> > #include <boost/random/random_device.hpp> // For
> > boost::random::random_device; seeder
> >
> > But using this requires that I link to a library file // LINK : fatal
> > error LNK1104: cannot open file 'libboost_random-vc142-mt-gd-x64-1_73.lib'
> >
> > So I have instead used C++ std random device successfully
> >
> > using std::random_device;
> > random_device seeder;
> > // Use seeder to get a different set of values each time.
> > static boost::random::mt19937 gen(seeder()); // uint32_t
> >
> > But is there any way I can stick to the Boost version (I imagine that it might prove more
portable?
> > Or is this a delusion?)
>
> What do you mean by portable?  random_device is inherently non-portable because it's.... random ;)

By portable I mean 'works on as many platforms and C++ standard versions as possible'.
 
> In many ways this is something that the std:: version does best as the system implementer knows
best
> how to implement on their OS.  Or you could just link to Boost.Random of course which would work
> nearly everywhere too I'm sure.

I was just puzzled why Boost.Random needed to *link* when std:random_device doesn't appear to. Is
it quietly linking to a standard library?

Paul

PS Thanks for the even-more-random suggestions but I really, really don't care how randomly random
it is for my application.

So would following the crowd and using time(0) be simplest?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk