Haskell gsl-random - 如何指定RNGType?

时间:2015-04-23 18:32:16

标签: haskell random gsl

我试图使用gsl-random将GSL绑定到使用haskell的分发采样器。我知道随机fu是一个更高级别的选项,但我发现random-fu对我来说太慢了。

说我想从测试版发布中进行抽样。基于Hackage文档的类型规范是:

   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对象。

1 个答案:

答案 0 :(得分:2)

您必须使用mt19937模块中的rngTypeGSL.Random.Gen函数来构建RNGType,因为RNGType的实现是内部的库。