Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Feb 2003 00:59:46 -0800 (PST)
From:      Paul Herman <pherman@frenchfries.net>
To:        phk@phk.freebsd.dk
Cc:        Peter Jeremy <peterjeremy@optushome.com.au>, FreeBSD Hackers <hackers@FreeBSD.ORG>
Subject:   Re: arc4random() range 
Message-ID:  <20030219003725.W240-100000@mammoth.eat.frenchfries.net>
In-Reply-To: <77946.1045642969@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 19 Feb 2003 phk@phk.freebsd.dk wrote:

> In message <20030218232210.T240-100000@mammoth.eat.frenchfries.net>, Paul Herma
> n writes:
>
> >  arc4random() returns random numbers in the range of 0 to
> >  (2**32)-1, and therefore has twice the range of RAND_MAX.
>
> Good.
>
> >  EXAMPLES
> >  The following produces a drop-in replacement for the traditional
> >  random() and rand() functions using arc4random():
> >      #define arc4random31()   (arc4random() & 0x7FFFFFFF)
>
> Not good.  Only true on 32 bit archs.

Heh?

random(3) produces numbers between 0 and RAND_MAX on my alpha.
random(3) produces numbers between 0 and RAND_MAX on my i386.
(arc4random() & 0x7FFFFFFF) produces numbers between 0 and RAND_MAX on my alpha.
(arc4random() & 0x7FFFFFFF) produces numbers between 0 and RAND_MAX on my i386.

I must not understand what you mean.

OK Poul, I'll bite. :-)  Could you please expound?

  bash-2.05$ uname -rm
  4.5-RELEASE alpha
  bash-2.05b$ uname -rm
  4.7-STABLE i386

-Paul.

P.S. I hope you aren't nitpicking because of a missing (long) cast.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030219003725.W240-100000>