Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Feb 2001 00:29:35 +0300
From:      "Andrey A. Chernov" <ache@nagual.pp.ru>
To:        arch@FreeBSD.org
Cc:        "Jacques A. Vidrine" <n@nectar.com>, Matt Dillon <dillon@earth.backplane.com>, Bruce Evans <bde@zeta.org.au>, Kris Kennaway <kris@obsecurity.org>, Robert Watson <rwatson@FreeBSD.org>, Nick Sayer <nsayer@FreeBSD.org>, cvs-all@FreeBSD.org
Subject:   Re: rand.c patch for review (was: Re: cvs commit: ports/astro/xglobe/files patch-random)
Message-ID:  <20010226002934.A59772@nagual.pp.ru>
In-Reply-To: <20010225131002.A38192@mollari.cthul.hu>; from kris@obsecurity.org on Sun, Feb 25, 2001 at 01:10:02PM -0800
References:  <Pine.BSF.4.21.0102251920150.6561-100000@besplex.bde.org> <200102250900.f1P90Qc12868@earth.backplane.com> <20010225092416.A46959@hamlet.nectar.com> <20010225185535.A55782@nagual.pp.ru> <20010225191316.A56093@nagual.pp.ru> <20010225193409.A56351@nagual.pp.ru> <20010225131002.A38192@mollari.cthul.hu>

next in thread | previous in thread | raw e-mail | index | archive | help

--xHFwDpU9dbj6ez1V
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Feb 25, 2001 at 13:10:02 -0800, Kris Kennaway wrote:
> On Sun, Feb 25, 2001 at 07:34:09PM +0300, Andrey A. Chernov wrote:
> > On Sun, Feb 25, 2001 at 19:13:17 +0300, Andrey A. Chernov wrote:
> > > On Sun, Feb 25, 2001 at 18:55:36 +0300, Andrey A. Chernov wrote:
> > > > On Sun, Feb 25, 2001 at 09:24:16 -0600, Jacques A. Vidrine wrote:
> > > > > My conclusion is that either:
> > > > > =20
> > > > >    Our implementation of `rand' loses. =20
> > > >=20
> > > > We can easily improve much our rand() random distribution staying i=
nside
> > > > the same API by using just different calculation formula, as we alr=
eady do
> > > > with random(). I plan to do it long time ago, but lost interest. I =
can dig
> > > > out this formula, if someone is interested.
> > >=20
> > > We already use this formula (in different context), see
> > > good_rand() function in stdlib/random.c
> >=20
> > Patch for review:
>=20
> Can't you just wrap it around random() and srandom() instead of
> duplicating the code?


They can't be wrapped, they use completely different technique and must
keep their state independently - see the rest of discussion.=20

Currenty only small portion of non-essential code from random.c is
duplicated. good_rand() from random.c have different arg type and not
truncate its return result - it means 1) wrapper code will be bigger than
few lines of original code 2) whole random.o module will be linked
increasing static binary size with big tables completely unneded for
rand(). Few lines of code not worth to separate good_rand() into small
file especially for it.

--=20
Andrey A. Chernov
http://ache.pp.ru/

--xHFwDpU9dbj6ez1V
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia

iQCVAwUBOpl5PuJgpPLZnQjrAQFHEAP/R8YyyCsrwTykJUotzCvtFY3U1DcBuXo9
fra1v+6BbfE51FU7EpGx9SP0CooZrF7m8qWrBRuG2/pvtJWu18/eg+/3z02D1MV4
UEd0jYYuTiAr4n1XG2Bo8WmvXfVDpRfxDKckbHhhZoT9q3vuxIuCvyUNR/pUM/rN
CO3wvf0UvD8=
=yy0s
-----END PGP SIGNATURE-----

--xHFwDpU9dbj6ez1V--

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




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