a random state.
implementation-dependent.
The current random state, which is used, for example, by the function random when a random state is not explicitly supplied.
(random-state-p *random-state*) => true (setq snap-shot (make-random-state)) ;; The series from any given point is random, ;; but if you backtrack to that point, you get the same series. (list (loop for i from 1 to 10 collect (random)) (let ((*random-state* snap-shot)) (loop for i from 1 to 10 collect (random))) (loop for i from 1 to 10 collect (random)) (let ((*random-state* snap-shot)) (loop for i from 1 to 10 collect (random)))) => ((19 16 44 19 96 15 76 96 13 61) (19 16 44 19 96 15 76 96 13 61) (16 67 0 43 70 79 58 5 63 50) (16 67 0 43 70 79 58 5 63 50))
The implementation.
random.
section make-random-state [Function] , section random [Function] , random-state
Binding *random-state* to a different random state object correctly saves and restores the old random state object.
Go to the first, previous, next, last section, table of contents.