SRL Archive - OSR Help

RandomRange(Extended, Extended);


RISK

2011-12-02 03:33:22

I wish to do something as the title says. I want to be able to generate a random range of an extended value, say like this:
function HandleExtended: Extended;
begin
Result := RandomRange(0.75, 1.00);
end;

Is there any way that I am not seeing that will allow me to generate a random range between extended values?

Thank you very much in advance for any guidance for this matter, I really appreciate it!

i luffs yeww

2011-12-02 04:25:24

Well for your specific example you can just do extended_var := RandomRange(75, 100) / 100.0;. And any other example that should be fine (scaled according to the numbers and what not).

Kyle Undefined

2011-12-02 07:24:30

I've created something like that for my RangeGuilder, not the best but it works well.


function RandomRangeEx(rFrom, rTo : Variant) : Variant;
var
r : Variant;
begin
r := RandomRange(Floor(rFrom), Ceil(rTo));
r := r + RandomE;

repeat
begin
if r <= rFrom then
r := r + RandomE
else if r >= rTo then
r := r - RandomE;
end;
until ((r >= rFrom) and (r <= rTo))

r := (Trunc(r * 100) / 100.00)

Result := r;
end;

nielsie95

2011-12-02 07:53:14


function RandomRangeE(AFrom, ATo: Extended): Extended;
begin
Result := RandomE * (ATo - AFrom) + AFrom;
end;

Pretty much how Random and RandomRange work, except for floats :)