From: Matthias Troyer (troyer_at_[hidden])
Date: 2003-07-25 12:14:34


Dear Boosters, dear Jens,

After some debugging I realized another bug in the new version of the
Boost random number library. uniform_real has the following operator():

   result_type operator()(Engine& eng) { return eng() * (_max - _min) +
_min; }

This does not work if the underlying engine does not give random
numbers in an interval other than [0,1), and thus fails with all of the
integer based engines in the Boost random library. Is it necessary to
wrap the engine in a uniform_01 object? But then it would fail for the
uniform_integer distributions? Either I am missing something here or
the Boost random library is in an inconsistent and broken state. Could
Jens or somebody else help me?

Matthias