Haskellで疑似乱数列
- Haskellでは、無限長のリストを作れるので、疑似乱数列を作るときは、それを作って、必要な数だけ抜き出すのがよいそうだ
- 以下のソースはシードsを指定した上で、無限0-1乱数を作っている
import System.Random randomSeq :: Int -> [Double] randomSeq seed = randomRs (0,1) (mkStdGen seed) s = 12345 rlist = randomSeq s
- 取り出すには
Prelude> :load "MyTestRandom1.hs" [1 of 1] Compiling Main ( MyTestRandom1.hs, interpreted ) Ok, modules loaded: Main. *Main> take 3 rlist [7.205885020084679e-2,0.7664593514055014,0.1850078806746751]