From: brbarkstrom@gmail.com
Subject: Re: Ada.Numerics.Float_Random.Generator question
Date: Sun, 25 Sep 2016 16:41:21 -0700 (PDT)
Date: 2016-09-25T16:41:21-07:00 [thread overview]
Message-ID: <62fef12a-90fb-4ac8-8e59-99568b914ee7@googlegroups.com> (raw)
In-Reply-To: <5db08ea5-c088-4d16-9d88-d058e4bc48df@googlegroups.com>
On Saturday, September 17, 2016 at 3:40:13 PM UTC-4, Andrew Shvets wrote:
> Hello,
>
> If I want a random float number to be generated, the way that I did this in the past was something along these lines:
>
> function Create_Random_Float(
> From : in Float;
> To : in Float)
> return Float is
>
> Seed : Ada.Numerics.Float_Random.Generator;
> begin
> Ada.Numerics.Float_Random.Reset(Seed);
>
> return From + (Ada.Numerics.Float_Random.Random(Seed) * To);
> end Create_Random_Float;
>
> This works. However, as I'm now looking into the Ada.Numerics.Discrete_Random package, I've noticed that it can generate a random value based on the type that is passed in. This appeals to me and I'd like to do the same for a custom float type (say I want the delta to be 0.01.)
>
> As Ada.Numerics.Float_Random.Generator is not a generic package, I can't use the same approach. The best way that I can think of is to create the same result using From and To and then cast the result to the custom float type.
>
> I hope that there is a better solution to this. Is there?
Probably best consult Knuth on Random Numbers. Complicated subject; lots
of numerical issues - testing involves some high-powered math. See also
Park and Miller in CACM back a fer decades ago.
Bruce B.
next prev parent reply other threads:[~2016-09-25 23:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-17 19:40 Ada.Numerics.Float_Random.Generator question Andrew Shvets
2016-09-17 20:09 ` J-P. Rosen
2016-09-17 20:14 ` Andrew Shvets
2016-09-17 21:01 ` Jeffrey R. Carter
2016-09-17 23:53 ` Andrew Shvets
2016-09-19 19:07 ` rieachus
2016-09-25 23:41 ` brbarkstrom [this message]
2016-09-26 13:04 ` Robert Eachus
2016-09-26 18:48 ` brbarkstrom
2016-09-29 9:42 ` Some Dude
2016-10-01 3:35 ` Robert Eachus
2016-10-01 3:59 ` Paul Rubin
2016-10-01 14:23 ` Robert Eachus
2016-10-01 15:49 ` Dmitry A. Kazakov
2016-10-01 16:44 ` Robert Eachus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox