#### 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 [Function] , random [Function] , random-state

#### Notes:: ¶

Binding *random-state* to a different random state object correctly saves and restores the old random state object.