Haskell gsl random-如何指定RNGType?
我正在尝试使用GSL random将GSL绑定到haskell中工作的分发采样器。我知道随机fu是一种更高级的选择,但我发现随机fu对于我来说太慢了 假设我想从beta发行版中取样。基于黑客文档的类型规范为:Haskell gsl random-如何指定RNGType?,haskell,random,gsl,Haskell,Random,Gsl,我正在尝试使用GSL random将GSL绑定到haskell中工作的分发采样器。我知道随机fu是一种更高级的选择,但我发现随机fu对于我来说太慢了 假设我想从beta发行版中取样。基于黑客文档的类型规范为: getBeta :: RNG -> Double -> Double -> IO Double 我需要一个RNG对象,它来自MkRNG newRNG :: RNGType -> IO RNG 如何指定RNGType λ> :i RNGType
getBeta :: RNG -> Double -> Double -> IO Double
我需要一个RNG对象,它来自MkRNG
newRNG :: RNGType -> IO RNG
如何指定RNGType
λ> :i RNGType
newtype RNGType
= gsl-random-0.5.0:GSL.Random.Gen.Internal.MkRNGType (GHC.Ptr.Ptr
())
-- Defined in ‘gsl-random-0.5.0:GSL.Random.Gen.Internal’
这就是我被困的地方。我不明白如何基于此实例化RNGType对象。您必须使用
GSL.Random.Gen
模块中的函数mt19937
和RNGType
来构建RNGType
,由于RNGType
的实现是此库内部的。您是否尝试过GSL.Random.Gen.mt19937
或GSL.Random.Gen.RNGType
?这两个函数都返回一个RNGType
。这是可行的,如果你把它作为答案发布,我会接受它