Boost logo

Boost :

Subject: Re: [boost] [random] Major update
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-03-23 14:35:14


AMDG

On 03/23/2011 10:18 AM, Dave Abrahams wrote:
> On Fri, Mar 18, 2011 at 2:58 PM, Steven Watanabe<watanabesj_at_[hidden]> wrote:
>> On 03/18/2011 02:44 PM, Dave Abrahams wrote:
>>> Awesome, Steven; it's great to see this library progressing. Where
>>> does it stand in terms of compatibility with TR1/C++0x? I know that
>>> for a while they had drifted quite widely out-of-sync.
>> I've tried to match the C++0x draft. To my knowledge the
>> only remaining incompatibilities are:
>> * I'm playing fast and loose with the integral types used.
>> e.g. uint_least32_t instead of uint_fast32_t, or uintmax_t,
>> instead of unsigned long long.
> Why? (just curious)

I used uintmax_t, to avoid having to check
BOOST_NO_LONG_LONG, uintmax_t should usually
be unsigned long long anyway. Some experiments
showed that using a 32-bit type for mt19937
could be faster than a 64-bit type, even when
boost::uint_fast32_t was 64-bits. Other places,
it was just because I wasn't being careful,
or I never changed it from what it was originally.

>> * There is no typedef /unspecified/ default_random_engine.
> Why not? (ditto)

No particular reason. I just didn't see a need for it.

>> * A few constructors that take rvalue references are missing.
>> rvalues will bind to const T& instead.
> OK

Of course, it doesn't really make a difference, since
none of the generators have move constructors anyway...

In Christ,
Steven Watanabe


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