From: Achim Gratz <Stromeko@nexgo.de>
To: emacs-devel@gnu.org
Subject: Re: random doesn't feel very random
Date: Sat, 01 Sep 2012 09:19:04 +0200 [thread overview]
Message-ID: <87harirz13.fsf@Rainer.invalid> (raw)
In-Reply-To: 5041626B.6080608@cs.ucla.edu
Paul Eggert writes:
> I committed something to do that, in trunk bzr 109833 and
> 109834.
Thank you. On systems having a better source of entropy (like
/dev/urandom), the init value should be taken from that source rather
than the "mix PID with current time" hack.
> One thing that wasn't discussed was how to set the
> seed, for people who want to do debugging and who want
> repeatable random sequences.
I don't think it's a good idea to be able to change the global PRNG
state in general. So the (random "S") interface should be a NOP (just
like `(random t)´ now is) unless debugging is on. Since you would
likely want to control the initial state as well, this should probably
be controlled by a new commandline option that also allows to set the
initial state (or fall back to always using the same "magic" initial
state if none is provided).
I still think the cleanest way would be to allow packages to have a
private PRNG state bound to a variable and then each call to (random)
will advance the private state rather than the global one. This would
require to use nrand48 instead of lrand48 or setstate (for old random),
so this might have portability implications. For debugging the global
PRNG state could be made accessible in this case.
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Waldorf MIDI Implementation & additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs
next prev parent reply other threads:[~2012-09-01 7:19 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-24 5:47 random doesn't feel very random Ivan Kanis
2012-08-24 6:22 ` Tassilo Horn
2012-08-24 17:19 ` random doesn't feel very random, random doesn't feel very random, " Ivan Kanis
2012-08-24 18:50 ` Stephen J. Turnbull
2012-08-25 7:46 ` Ivan Kanis
2012-08-24 6:30 ` Leo
2012-08-24 22:48 ` Richard Stallman
2012-08-24 22:57 ` Andreas Schwab
2012-08-25 20:55 ` Richard Stallman
2012-08-25 23:25 ` Leo
2012-08-26 13:12 ` Richard Stallman
2012-08-26 14:24 ` Achim Gratz
2012-08-26 23:22 ` Leo
2012-08-27 0:50 ` Stefan Monnier
2012-08-27 6:31 ` Simon Leinen
2012-08-27 3:41 ` Richard Stallman
2012-08-27 4:48 ` Stefan Monnier
2012-08-31 9:41 ` Eli Zaretskii
2012-08-31 15:06 ` Stefan Monnier
2012-08-31 15:23 ` chad
2012-08-31 17:50 ` Eli Zaretskii
2012-08-31 19:43 ` Stefan Monnier
2012-09-01 1:18 ` Paul Eggert
2012-09-01 7:19 ` Achim Gratz [this message]
2012-09-01 13:19 ` Paul Eggert
2012-09-04 19:19 ` Nix
2012-09-04 20:07 ` Paul Eggert
2012-09-04 20:11 ` Nix
2012-09-02 12:27 ` Jason Rumney
2012-09-02 13:08 ` Stefan Monnier
2012-09-01 7:22 ` Ivan Kanis
2012-09-01 11:13 ` joakim
2012-08-31 23:04 ` Leo
2012-08-27 5:17 ` Achim Gratz
2012-08-31 9:42 ` Eli Zaretskii
2012-08-31 15:07 ` Stefan Monnier
2012-08-31 17:50 ` Eli Zaretskii
2012-08-26 9:06 ` Ivan Kanis
2012-08-24 7:03 ` Stephen J. Turnbull
2012-08-24 9:10 ` Paul Eggert
2012-08-24 17:45 ` Stephen J. Turnbull
2012-08-24 12:45 ` OT: appropriateness of "random" for playlist generation (was: random doesn't feel very random) Jeremiah Dodds
2012-08-24 14:37 ` random doesn't feel very random Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87harirz13.fsf@Rainer.invalid \
--to=stromeko@nexgo.de \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).