Date: Fri, 21 Feb 2003 11:29:00 +1030 From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: Wes Peters <wes@softweyr.com> Cc: Peter Jeremy <peterjeremy@optushome.com.au>, Paul Herman <pherman@frenchfries.net>, FreeBSD Hackers <hackers@FreeBSD.ORG> Subject: Re: arc4random() range Message-ID: <20030221005900.GG84517@wantadilla.lemis.com> In-Reply-To: <200302190922.18146.wes@softweyr.com> References: <20030219013247.GA10910@x-anthony.com> <20030218180736.L240-100000@mammoth.eat.frenchfries.net> <20030219063646.GB62020@cirb503493.alcatel.com.au> <200302190922.18146.wes@softweyr.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On Wednesday, 19 February 2003 at 9:22:18 -0800, Wes Peters wrote:
> On Tuesday 18 February 2003 22:36, Peter Jeremy wrote:
>>
>> I see this as a major advantage of arc4random() - if I want 32-bit
>> random numbers I don't have to call random() twice and merge the
>> results. I've never understood why random() was specified to return
>> a '0' in the MSB.
>
> It probably had something to do with the PDP-11 architecture. This
> rings a bell, but I can't recall what it was. Greg Lehey might be
> able to help here, he has far better knowlege of the Good Old Days(tm)
> than I do.
Difficult to say. I don't think that random() was in the Seventh
Edition. They used rand() instead. Read the code and shudder:
static long randx = 1;
srand(x)
unsigned x;
{
randx = x;
}
rand()
{
return(((randx = randx*1103515245 + 12345)>>16) & 077777);
}
That's the entire content of Seventh Edition /usr/src/libc/gen/rand.c.
Greg
--
See complete headers for address and phone numbers
Please note: we block mail from major spammers, notably yahoo.com.
See http://www.lemis.com/yahoospam.html for further details.
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (FreeBSD)
iD8DBQE+VXnUIubykFB6QiMRAk2/AKCD2dlaSVKw2X87WIt4pn/q+P4kXQCePaG8
JHbCPtSKY4TS8RfFQtbbKmY=
=FBKr
-----END PGP SIGNATURE-----
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030221005900.GG84517>
