Random Numbers

Ralph Main rmain1972 at live.com
Sat Aug 4 10:45:18 PDT 2012


On Saturday, 4 August 2012 at 17:02:19 UTC, bearophile wrote:
> Ralph Main:
>
>> The module std.random documentation doesn't work as per the 
>> examples.
>> The example shows getting a random number by the following 
>> code does not work:
>>
>> <code>
>>    // Generate a uniformly-distributed integer in the range 
>> [0, 14]
>>    auto i = uniform(0, 15);
>>    // Generate a uniformly-distributed real in the range [0, 
>> 100)
>>    // using a specific random generator
>>    Random gen;
>>    auto r = uniform(0.0L, 100.0L, gen);
>> </code>
>>
>> <code>
>>    // Gets a random number
>>    int get_random() {
>>        auto rng = Random(unpredictableSeed);
>>        auto rn = uniform(0, m_files.length, rng);
>>        return rn;
>>    }
>> </code>
>
> This code works, but it's a bad idea to create a new generator 
> inside getRandom():

get_random is inside of a class.  Because of scope problems, I 
don't think I can put it anywhere else.  It would be better if 
you could create rng as

int rng;
rng = Random(unpredictableSeed);

then you would be able to put it elsewhere.

Ralph


More information about the Digitalmars-d-learn mailing list