make-random-state

Title
make-random-state
Type
Function
Arguments
make-random-state &optional STATE
Package
lisp
Section
数値
File
builtin.l
乱数の状態を初期化します

  STATE:
    nil          初期化はせずに現在の*random-state*のコピーを返します。
    t            時刻に基づいて新しい状態を作ります。
    random-state この関数(make-random-state)の戻り値を渡すとコピーが返ります。

使用例:
 ;;;乱数列の再現
 (let ((rs1 (make-random-state nil))
       (rs2 (make-random-state nil)))   ;;現状の乱数状態のコピーを二つ作る
   (dotimes (i 10)
     (format t "~A " (random 100 rs1))) ;;一つ目
   (terpri)
   (dotimes (i 10)
     (format t "~A " (random 100 rs1))) ;;一つ目やりすぎて
   (terpri)
   (dotimes (i 10)
     (format t "~A " (random 100 rs2))) ;;二つ目を少し見てみる。
   (terpri))
 =>3 41 81 70 73 66 32 72 2 55   ;ここと
   21 97 83 14 86 26 99 69 18 46 
   3 41 81 70 73 66 32 72 2 55   ;ここが同じになる
Seealso
*random-state*
random-state-p
random