4

Data.Random.Source.IOマルチプラットフォームで乱数を生成する方法がわかりません。

Unix で乱数を生成するにData.Random.Source.DevRandomData.Random.Source.MWCData.Random.Source.IO

4

1 に答える 1

4

わかりました。githubの例を使用するように変換しましたSource.IO

import Data.Random
import Data.Random.Source.IO


logNormal :: Double -> Double -> RVar Double
logNormal mu sigmaSq = do
    x <- normal mu sigmaSq
    return (exp x)

main = sample (logNormal 5 1) >>= print

ソースData.Random.Source.IO、の適切なインスタンスを定義していることがわかりますMonadRandom IO

リストから均一な乱数を次のように生成できます。

import Data.Random
import Data.Random.Source.IO

main = sample (randomElement [0..9]) >>= print
于 2012-09-14T07:05:12.360 に答える