From: "Steve" <nospam_steved94@attbi.com>
Subject: Re: Ada2005 random
Date: Fri, 04 Apr 2003 03:50:30 GMT
Date: 2003-04-04T03:50:30+00:00 [thread overview]
Message-ID: <ai7ja.318748$L1.91175@sccrnsc02> (raw)
In-Reply-To: b6eog4$8jl$1@news.uni-stuttgart.de
The following code almost does what you asked for. The problem is that
without the delays the selected random number is always the same. I think
this is because a new generator is created for each call, and the "seed"
value (based on time) is the same unless I include delays.
with Ada.Integer_text_Io;
with Ada.Text_Io;
procedure CLA_Test2 is
function Check( low, high : Integer ) return Integer is
subtype check_range is integer range low .. high;
package ranged_random is
new Ada.Numerics.Discrete_Random( check_range );
gen : ranged_random.Generator;
begin
ranged_random.reset( gen );
return ranged_random.Random( gen );
end Check;
begin
Ada.Integer_Text_Io.Put( Check( 1, 10 ) );
Ada.Text_Io.New_Line;
Delay 1.0;
Ada.Integer_Text_Io.Put( Check( 1, 10 ) );
Ada.Text_Io.New_Line;
Delay 1.0;
Ada.Integer_Text_Io.Put( Check( 1, 10 ) );
Ada.Text_Io.New_Line;
Delay 1.0;
Ada.Integer_Text_Io.Put( Check( 1, 10 ) );
Ada.Text_Io.New_Line;
Delay 1.0;
end CLA_Test2;
I would probably go with creating my own routine using the float package.
Steve
(The Duck)
"Peter Hermann" <ica2ph@sinus.csv.ica.uni-stuttgart.de> wrote in message
news:b6eog4$8jl$1@news.uni-stuttgart.de...
> In an application I need a variable discrete random function.
>
> Due to good reason I am reluctant to use my own very old
> http://www.csv.ica.uni-stuttgart.de/ftp/pub/ada/ica/misc/randomph.txt
>
> Instead, I would prefer to use
> generic
> type Result_Subtype is (<>);
> package Ada.Numerics.Discrete_Random is
>
> which offers a
> function Random (Gen : Generator) return Result_Subtype;
>
> but does not offer something like
> function Random (Gen : Generator;
> from : Result_Subtype := Result_Subtype'first;
> to : Result_Subtype := Result_Subtype'last)
> return Result_Subtype;
> which may or may not make sense in that raw disguise.
>
> Anyway in Ada95, I have to roll my own code or let me send one ;-)
>
> Does an AI exist for Ada95 or Ada2005?
> Did I miss something?
>
> --
> --Peter Hermann(49)0711-685-3611 fax3758 ica2ph@csv.ica.uni-stuttgart.de
> --Pfaffenwaldring 27 Raum 114, D-70569 Stuttgart Uni Computeranwendungen
> --http://www.csv.ica.uni-stuttgart.de/homes/ph/
> --Team Ada: "C'mon people let the world begin" (Paul McCartney)
next prev parent reply other threads:[~2003-04-04 3:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-02 13:27 Ada2005 random Peter Hermann
2003-04-02 13:44 ` Lutz Donnerhacke
2003-04-03 9:56 ` Peter Hermann
2003-04-03 10:13 ` Lutz Donnerhacke
2003-04-04 3:50 ` Steve [this message]
2003-04-04 14:30 ` Lutz Donnerhacke
2003-04-05 3:02 ` Steve
2003-04-04 4:33 ` Christoph Grein
2003-04-06 15:44 `
2003-04-05 0:14 ` Jeffrey Carter
-- strict thread matches above, loose matches on Subject: below --
2003-04-03 12:27 David C. Hoos, Sr.
2003-04-03 12:39 ` Peter Hermann
2003-04-03 22:10 ` Randy Brukardt
2003-04-04 7:43 ` Peter Hermann
2003-04-04 10:21 ` Dale Stanbrough
2003-04-04 12:11 ` Stuart Palin
2003-04-04 14:25 ` Lutz Donnerhacke
2003-04-04 21:51 ` Dale Stanbrough
2003-04-05 18:34 ` Samuel Tardieu
2003-04-05 6:46 ` Martin Krischik
2003-04-07 21:07 ` Randy Brukardt
2003-04-13 14:56 ` Robert I. Eachus
2003-04-13 21:58 ` Mark Biggar
2003-04-04 12:20 ` Stuart Palin
2003-04-07 7:26 ` Jean-Etienne Doucet
2003-04-07 8:09 ` Lutz Donnerhacke
2003-04-04 8:27 `
2003-04-04 12:14 ` Peter Hermann
2003-04-04 14:26 ` Lutz Donnerhacke
[not found] ` <6lk1m-lm3.ln1@beastie.ix.netcom.com>
2003-04-05 7:29 ` Pascal Obry
2003-04-05 9:00 ` tmoran
2003-04-05 17:02 ` Pascal Obry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox