GKMersenneTwisterRandomSource
一个实现Mersenne Twister算法的随机数发生器,随机数多余默认的随机数发生器,但是运行更慢。
概括
重要
GameplayKit中提供的随机化服务适用于可靠地创建确定性的伪随机游戏机制,但不具备加密性。对于加密,混淆或密码使用,请使用描述“加密指南”的Security框架。
要使用此随机源生成基本随机值,请使用GKRandom协议中定义的方法。要生成具有特定范围和分布的随机值,请使用该随机源与GKRandomDistribution类或其子类之一。当你创建此类的实例时,生成的随机源是独立的和确定性的,也就是说,一个实例生成的数字序列对任何其他实例生成的序列没有影响,并且该序列可以在必要时复制。有关复制序列的详细信息,请参阅seed属性和initWithSeed: 初始化方法。
Mersenne Twister随机源使用原始的松本和西村在2000年基于Mersenne主要功率19937描述的算法的通用64位变体。因此该随机源与该算法的其他实现兼容,包括mt19937_64类型 C ++ 11中的std :: mersenne_twister_engine模板。 也就是说,如果您使用相同的种子值初始化GKMersenneTwisterRandomSource实例和兼容实现,则两者都生成相同的数字序列。Topics
创建随机源(Creating a Random Source)
- init
从非确定性种子初始化随机源。
- initWithSeed:
使用指定的种子数据初始化一个随机源。
复制随机行为(Replicating Random Behavior)
seed
确定随机来源行为的种子数据。
关系
继承
GKRandomSource