在 Haskell 中,快速随机生成器的好选择

4

我有一个使用情况,需要测试一款赌博游戏的程序。我需要的随机数字应该在一个非常小的区域内(1到9),并且没有真正的质量要求。我发现,Haskell的标准生成器对我来说太慢了,所以有没有更好的想法?

2个回答

13

7
我了解到Xorshift随机生成器,它完全符合我的需求。我打算在Haskell中实现它并将其上线。
完成了:Xorshift已上传到hackage,并需要我进行一些改进。

谢谢提供链接 - 我之前在 Haskell 中看到过类似的“遍历”伪随机生成器(通过位移操作可以避免使用 IO Monad),但是没有看到解释其基本理论的参考资料。 - stephen tetley
FUZxxl:很高兴看到你的贡献,这里有一些反馈:1)这个对我来说无法安装。build-depends需要是库的子类别,而且base应该有一个范围,而不是-any(如果你没有想法,请使用>= 3 && < 5)。2)似乎没有办法从Xorshift64中获取Int64getInt64应该做到这一点,对吗?)。除此之外,干得好。 - Thomas M. DuBuisson
@TomMD:这是我创建的第一个 Cabal 包,所以出现问题也不奇怪。我会测试它并及时上传新版本。如果你真的想帮助我,只需在 Github 仓库上请求推送即可。 - fuz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接