Boost logo

Boost :

From: Greg Chicares (chicares_at_[hidden])
Date: 2001-08-17 13:15:05


Jens Maurer wrote:
>
> Beman Dawes wrote:
> > * What libraries would the Boost membership like to see submitted?
>
> Is Boost.Random too domain-specific to consider it?
> (Note: It's my submission, so I'm biased.)
>
> Are people actually using it? Are they interesting in getting
> it standardized?
>
> There's "rand" in the C library, and I believe Boost.Random
> defines a nice C++-style framework for random numbers, without
> required global data (bad for threading, at least).

I'd like to see it standardized.

The C library contains rand(), which is generally so poorly
implemented that it's dangerous for serious work. I think
it's the only thing in the C library that leaves open a
quality-of-implementation issue that can cause real trouble.

Many people needing random numbers do use it, though,
because it's so handy. One can point out the problems and
disturb them, or point them here and help them.

Once I was trying to help someone in this predicament by
doing some research for him. We were both pretty surprised
by boost::random. "I just #include the header and that's
it--no library to build?" "It already works with the
compilers I'm using?"

A possible objection is that it's more complete and
detailed than appropriate for a language standard. Well,
either random number generation belongs in a standard or
it does not. Evidently it does, or rand() would be
removed; and if it does, it should be generally useful.
If the standard mandated a polynomial root-finder, it
would be inappropriate to allow Newton's method, which
_sometimes_ converges in a finite number of iterations.


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