default random object?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Feb 15 15:43:39 PST 2009


Benji Smith wrote:
> Benji Smith wrote:
>> Maybe a NumericInterval struct would be a good idea. It could be 
>> specialized to any numeric type (float, double, int, etc), it would 
>> know its own boundaries, and it'd keep track of whether those 
>> boundaries were open or closed.
>>
>> The random functions would take an RND and an interval (with some 
>> reasonable default intervals for common tasks like choosing elements 
>> from arrays and random-access ranges).
>>
>> I have a Java implementation around here somewhere that I could port 
>> to D if anyone is interested.
>>
>> --benji
> 
> Incidentally, the NumericInterval has lots of other interesting 
> applications. For example
> 
>    auto i = NumericInterval.UBYTE.intersect(NumericInterval.SBYTE);
>    bool safelyPolysemious = i.contains(someByteValue);
> 
>    auto array = new double[123];
>    auto i = NumericInterval.indexInterval(array);
>    bool indexIsLegal = i.contains(someIndex);
> 
> Using a numeric interval for generating random numbers would be, in my 
> opinion, totally ideal.
> 
>    double d = uniform(NumericInterval.DOUBLE); // Any double value

I've never been in a situation in my life where I thought, hey, a random 
double is exactly what I'd need right now. It's a ginormous interval!

Andrei



More information about the Digitalmars-d mailing list