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