Next: , Previous: random-state-p, Up: Numbers Dictionary


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.