Data.Random.Source.IOマルチプラットフォームで乱数を生成する方法がわかりません。
Unix で乱数を生成するにData.Random.Source.DevRandomはData.Random.Source.MWCData.Random.Source.IO
Data.Random.Source.IOマルチプラットフォームで乱数を生成する方法がわかりません。
Unix で乱数を生成するにData.Random.Source.DevRandomはData.Random.Source.MWCData.Random.Source.IO
わかりました。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