此软件包提供基本的伪随机数生成,包括能够分割随机数生成器。
在纯代码中,使用系统。随机.均匀
和系统。随机.uniformR
从系统。随机用纯伪随机生成伪随机数类似数字生成器系统。随机。标准发电机
.
作为示例,下面是如何使用系统。随机.uniformR
:
>>>
let roll=uniformR(1,6)::随机生成g=>g->(Word,g)
>>>
let rolls=展开器(Just.roll)::RandomGen g=>g->[Word]
>>>
让pureGen=mkStdGen 42
>>>
取10(掷pureGen)::[Word]
[1,1,3,2,4,5,3,4,6,2]
请参见系统。随机了解更多详细信息。
在一元代码中,使用系统。随机。状态统一M
和系统。随机。国家统一RM
从系统。随机。有状态生成带有一元伪随机数生成器的伪随机数,或使用一元适配器。
作为示例,下面是如何使用系统。随机。国家统一RM
:
>>>
设rollM=uniformRM(1,6)::StatefulGen g m=>g->m字
>>>
让pureGen=mkStdGen 42
>>>
runStateGen_ pureGen(replicateM 10.rollM)::[单词]
[1,1,3,2,4,5,3,4,6,2]
一元适配器系统。随机。状态.runStateGen_
在这里用来提升纯伪随机数发生器pureGen公司
进入系统。随机。有状态。StatefulGen公司
上下文。
一元接口也可以用于现有的一元伪随机数字生成器。在这个示例中,我们使用mwc-随机包裹:
>>>
导入系统。随机。MWC作为MWC
>>>
令rollM=uniformRM(1,6)::StatefulGen g m=>g->m字
>>>
monadicGen<-MWC.create单子生成
>>>
replicateM 10(rollM monadicGen)::IO[Word]
[2,3,6,6,4,4,3,1,5,4]
请参见系统。随机。有状态了解更多详细信息。
[跳到自述]