X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-random.lisp;h=4eb87a876c6701ccb079f125048794175a5c08b4;hb=bb99c3cb9bf0a60995ef0d9f5eb178eef381382e;hp=b4cb2780c4fc3208422d99e45618b475b1070e07;hpb=436b2ab0276f547e8537b6c1fb52b11fa1f53975;p=sbcl.git diff --git a/src/code/target-random.lisp b/src/code/target-random.lisp index b4cb278..4eb87a8 100644 --- a/src/code/target-random.lisp +++ b/src/code/target-random.lisp @@ -85,17 +85,17 @@ (defun make-random-state (&optional state) #!+sb-doc "Make a random state object. The optional STATE argument specifies a seed - for deterministic pseudo-random number generation. +for deterministic pseudo-random number generation. - As per the Common Lisp standard, - - If STATE is NIL or not supplied or is NIL, return a copy of the default +As per the Common Lisp standard, +- If STATE is NIL or not supplied, return a copy of the default *RANDOM-STATE*. - - If STATE is a random state, return a copy of it. - - If STATE is T, return a randomly initialized state (using operating-system - provided randomness source where available, otherwise a poor substitute - based on internal time and pid) +- If STATE is a random state, return a copy of it. +- If STATE is T, return a randomly initialized state (using operating-system + provided randomness where available, otherwise a poor substitute based on + internal time and pid). - See SB-EXT:SEED-RANDOM-STATE for a SBCL extension to this functionality." +See SB-EXT:SEED-RANDOM-STATE for a SBCL extension to this functionality." (/show0 "entering MAKE-RANDOM-STATE") (check-type state (or boolean random-state)) (seed-random-state state)) @@ -103,30 +103,30 @@ (defun seed-random-state (&optional state) #!+sb-doc "Make a random state object. The optional STATE argument specifies a seed - for deterministic pseudo-random number generation. +for deterministic pseudo-random number generation. - As per the Common Lisp standard for MAKE-RANDOM-STATE, - - If STATE is NIL or not supplied or is NIL, return a copy of the default +As per the Common Lisp standard for MAKE-RANDOM-STATE, +- If STATE is NIL or not supplied, return a copy of the default *RANDOM-STATE*. - - If STATE is a random state, return a copy of it. - - If STATE is T, return a randomly initialized state (using operating-system - provided randomness source where available, otherwise a poor substitute - based on internal time and pid) +- If STATE is a random state, return a copy of it. +- If STATE is T, return a randomly initialized state (using operating-system + provided randomness where available, otherwise a poor substitute based on + internal time and pid). - As a supported SBCL extension, we also support receiving as a seed an object - of the following types: - - (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)) - - UNSIGNED-BYTE - While we support arguments of any size and will mix the provided bits into - the random state, it is probably overkill to provide more than 256 bits worth - of actual information. +As a supported SBCL extension, we also support receiving as a seed an object +of the following types: +- (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)) +- UNSIGNED-BYTE +While we support arguments of any size and will mix the provided bits into +the random state, it is probably overkill to provide more than 256 bits worth +of actual information. - This particular SBCL version also accepts an argument of the following type: - - (SIMPLE-ARRAY (UNSIGNED-BYTE 32) (*)) +This particular SBCL version also accepts an argument of the following type: +(SIMPLE-ARRAY (UNSIGNED-BYTE 32) (*)) - This particular SBCL version uses the popular MT19937 PRNG algorithm, and its - internal state only effectively contains about 19937 bits of information. - http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html +This particular SBCL version uses the popular MT19937 PRNG algorithm, and its +internal state only effectively contains about 19937 bits of information. +http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html " (etypecase state ;; Easy standard cases