ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 12 Numbers 12.2 Dictionary of Numbers
12.2.40 make-random-state | Function
  Syntax: make-random-state `&optional` state new-state Arguments and Values: state - a random state, or nil, or t. The default is nil. new-state - a random state object. Description: Creates a fresh object of type random-state suitable for use as the value of *random-state*. If state is a random state object, the new-state is a copy5 of that object. If state is nil, the new-state is a copy5 of the current random state. If state is t, the new-state is a fresh random state object that has been randomly initialized by some means. Examples:
       (let* ((rs1 (make-random-state nil))
              (rs2 (make-random-state t))
              (rs3 (make-random-state rs2))
              (rs4 nil))
         (list (loop for i from 1 to 10
                     collect (random 100)
                     when (= i 5)
                      do (setq rs4 (make-random-state)))
               (loop for i from 1 to 10 collect (random 100 rs1))
               (loop for i from 1 to 10 collect (random 100 rs2))
               (loop for i from 1 to 10 collect (random 100 rs3))
               (loop for i from 1 to 10 collect (random 100 rs4))))
       ((29 25 72 57 55 68 24 35 54 65)
          (29 25 72 57 55 68 24 35 54 65)
          (93 85 53 99 58 62 2 23 23 59)
          (93 85 53 99 58 62 2 23 23 59)
          (68 24 35 54 65 54 55 50 59 49))
Exceptional Situations: Should signal an error of type type-error if state is not a random state, or nil, or t. See Also: random, *random-state* Notes: One important use of make-random-state is to allow the same series of pseudo-random numbers to be generated many times within a single program. Allegro CL Implementation Details: See cl:random and cl:make-random-state for information on the Allegro CL implementation of make-random-state. Note the links are to the documentation for the current Allegro CL version. Replace /current/ in the URL with the Allegro CL version number to see similar documentation in earlier releases.

© Franz Inc. All Rights Reserved - File last updated 2022-07-25