mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Better seed support for (random).
* doc/lispref/numbers.texi (Random Numbers): Document new behavior of the calls (random) and (random STRING). * etc/NEWS: Document new behavior of (random), (random "string"). * lisp/play/5x5.el, lisp/play/animate.el, lisp/play/cookie1.el: * lisp/play/dissociate.el, lisp/play/doctor.el, lisp/play/dunnet.el: * lisp/play/gomoku.el, lisp/play/landmark.el, lisp/play/mpuz.el: * lisp/play/tetris.el, lisp/play/zone.el: * lisp/calc/calc-comb.el (math-init-random-base): * lisp/play/blackbox.el (bb-init-board): * lisp/play/life.el (life): * lisp/server.el (server-use-tcp): * lisp/type-break.el (type-break): Remove unnecessary call to (random t). * lisp/net/sasl.el (sasl-unique-id-function): Change (random t) to (random), now that the latter is more random. * lisp/play/life.el (life-initialized): Remove no-longer-needed var. * lisp/gnus/gnus-sync.el (gnus-sync-lesync-setup): * lisp/gnus/message.el (message-canlock-generate, message-unique-id): Change (random t) to (random), now that the latter is more random. * lisp/org/org-id.el (org-id-uuid): Change (random t) to (random), now that the latter is more random. * src/emacs.c (main): Call init_random. * src/fns.c (Frandom): Set the seed from a string argument, if given. Remove long-obsolete Gentzel cruft. * src/lisp.h, src/sysdep.c (seed_random): Now takes address and size, not long. (init_random): New function.
This commit is contained in:
parent
5bf647499a
commit
0e23ef9dde
33 changed files with 112 additions and 88 deletions
|
|
@ -77,7 +77,7 @@
|
|||
4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969 4973
|
||||
4987 4993 4999 5003])
|
||||
|
||||
;; The variable math-prime-factors-finished is set by calcFunc-prfac to
|
||||
;; The variable math-prime-factors-finished is set by calcFunc-prfac to
|
||||
;; indicate whether factoring is complete, and used by calcFunc-factors,
|
||||
;; calcFunc-totient and calcFunc-moebius.
|
||||
(defvar math-prime-factors-finished)
|
||||
|
|
@ -510,8 +510,8 @@
|
|||
(while (<= (length math-stirling-local-cache) n)
|
||||
(let ((i (1- (length math-stirling-local-cache)))
|
||||
row)
|
||||
(setq math-stirling-local-cache
|
||||
(vconcat math-stirling-local-cache
|
||||
(setq math-stirling-local-cache
|
||||
(vconcat math-stirling-local-cache
|
||||
(make-vector (length math-stirling-local-cache) nil)))
|
||||
(aset math-stirling-cache k math-stirling-local-cache)
|
||||
(while (< (setq i (1+ i)) (length math-stirling-local-cache))
|
||||
|
|
@ -572,7 +572,6 @@
|
|||
(let ((i 200))
|
||||
(while (> (setq i (1- i)) 0)
|
||||
(math-random-base))))
|
||||
(random t)
|
||||
(setq var-RandSeed nil
|
||||
math-random-cache nil
|
||||
math-random-shift -4) ; assume RAND_MAX >= 16383
|
||||
|
|
@ -629,7 +628,7 @@
|
|||
(i (/ (+ n slop) 3))
|
||||
(rnum 0))
|
||||
(while (> i 0)
|
||||
(setq rnum
|
||||
(setq rnum
|
||||
(math-add
|
||||
(math-random-three-digit-number)
|
||||
(math-mul rnum 1000)))
|
||||
|
|
@ -823,11 +822,11 @@
|
|||
(setq sum (%
|
||||
(+
|
||||
sum
|
||||
(calcFunc-mod
|
||||
(calcFunc-mod
|
||||
q 1000000))
|
||||
111111))
|
||||
(setq q
|
||||
(math-quotient
|
||||
(setq q
|
||||
(math-quotient
|
||||
q 1000000)))
|
||||
(cond ((= (% sum 3) 0) '(nil 3))
|
||||
((= (% sum 7) 0) '(nil 7))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue