From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,34e3e7f96ab2aa27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-03-03 12:53:15 PST Path: bga.com!news.sprintlink.net!howland.reston.ans.net!gatech!pirates!captblood!ab From: ab@captblood.armstrong.edu () Newsgroups: comp.lang.ada Subject: Random numbers in Gnat Date: 1 Mar 1995 21:51:57 GMT Organization: Armstrong State College, Savannah, GA Message-ID: <3j2q9t$s3n@solar.Armstrong.EDU> NNTP-Posting-Host: captblood.armstrong.edu Date: 1995-03-01T21:51:57+00:00 List-Id: I cannot find any discussion of the use of random() procedure in gnat-2.03 Unix version for SunOS 4.1.3. The only information that I found is in file a-numran.ads, and as the following shows I must have misunderstood the intent and use of the objects in that file. Here is a little test that I've concocted: with text_io; use text_io; with ada.numerics.random; use ada.numerics.random; procedure randtest is package int_io is new integer_io(integer); use int_io; rand_state: state:= make_state; -- return random number in 0..up_bound function my_random(up_bound: integer) return integer is r: Uniformly_Distributed; begin random( rand_state, r); return integer(r*float(up_bound)); end my_random; begin for i in 1..10 loop put(my_random(1000)); new_line; end loop; end randtest; The program prints out only zeros rather than 10 random numbers in the 0..1000 range. I dislike the use of the global rand_state variable. However using it as a parameter is no better either. Indeed, why should one be bothered with this quantity anyway? (In C one just seeds the generator, and then calls the random() as a parameterless function, why not here?) I'll appreciate your discussion as to how the random number generator should be used. Pointers to some documentation/discussion of the objects in a-numran.ads would also be helpful. ab -- Dr. A.Bykat Fuller E. Callaway Professor