comp.lang.ada
 help / color / mirror / Atom feed
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)





  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