|  | ANSI Common Lisp  12 Numbers  12.2 Dictionary of Numbers 
 
| 12.2.43  *random-state* | Variable |  
 Value Type:
a random state.
Initial Value:
implementation-dependent.
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.
random.
 
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.
Allegro CL Implementation Details:
 None. |