[Ecls-list] Small problem with random on NetBSD/Sparc64

Juan Jose Garcia Ripoll lisp at arrakis.es
Fri Jul 29 02:39:14 UTC 2005


On Fri, 2005-07-29 at 09:23 +0000, Bruce O'Neel wrote:
> In src/c/num_rand.d:
> 
> d = (double)(rs->random.value>>1) / (4294967296.0/2.0);
> 
> I can't easly find it, but, would .value happen to be a long?  If so
> this expresion won't work when long is 8 bytes rather than 4 since
> 4294967296.0 looks just like 2^32 in float.

If you see a few lines below, you will find that random.value is masked
to be 32 bits long.
	rs->random.value = rs->random.value & 0xffffffff;
This line might be missing in older versions of ECL.

Juanjo





More information about the ecl-devel mailing list