![[LISPWORKS]](../Graphics/LWSmall.gif)
Value Type:
a random state.
Initial Value:
Description:
The current random state, which is used, for example, by the function random when a random state is not explicitly supplied.
Examples:
(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))
Affected By:
The implementation.
See Also:
make-random-state, random, random-state
Notes:
Binding *random-state* to a different random state object correctly saves and restores the old random state object.