bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#32605: [w64] (random) never returns negative


From: Andy Moreton
Subject: bug#32605: [w64] (random) never returns negative
Date: Sat, 14 Aug 2021 19:47:22 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt)

On Sat 14 Aug 2021, Eli Zaretskii wrote:

>> From: Andy Moreton <andrewjmoreton@gmail.com>
>> Date: Sat, 14 Aug 2021 14:40:35 +0100
>> 
>> >> On 32bit builds both options are roughly equivalent.
>> >> On 64bit builds option (b) is better as option (a) does unnecessary work.
>> >
>> > The above assumes we will never call 'random' except via 'get_random'.
>> > Is that something we want to bet on?
>> 
>> Option (b) fixes bugs in the current code. Currently 'get_random' is the
>> only caller of 'random'.  If inefficiency is a problem after later code
>> changes, then then this issue can be revisited.
>> 
>> Another option is to replace the imlementation of 'random' in w32.c with
>> a different PRNG that can generate 31 bits more efficiently than using 3
>> calls to 'rand_as183'.
>> 
>> Yet another possibility is to use 'getrandom' from gnulib instead of all
>> of this Windows specific code, but that may bring a fresh set of
>> concerns to be considered.
>
> Thanks, I've decided to go with a hybrid approach that doesn't change
> how 32-bit builds behaved up to now.

That looks fine, and the bug reported by the OP now appears fixed in
testing on 32bit and 64bit builds.

    AndyM






reply via email to

[Prev in Thread] Current Thread [Next in Thread]