3

我正在使用随机数生成作为在objective-c(对于iOS)中最小化函数(使用Nelder-Mead simplex algorithm )的过程的一部分。我之所以使用arc4random()它,是因为它似乎在任何地方都被推荐,理由是 a)它不需要播种,并且 b)它提供的随机数比rand() and random(). 我使用生成 0 和 1 之间的双打

#define ARC4RANDOM_MAX      0x100000000
-(double) Rnd{
return (double)arc4random() / (double)ARC4RANDOM_MAX ; }

但是,为了测试该过程,我需要生成可重复的随机数序列,并且我找不到任何关于初始化方法的参考arc4random()。是否arc4random()无法初始化以给出可重复的序列?如果是这样,当每个测试都会导致不同的答案时,任何人如何实施自动化单元测试?我需要使用来自的“低质量”随机数random()吗?谢谢你的帮助。

4

1 回答 1

1

arc4random函数从它无法控制的池中获取随机数。它没有提供可重复性的机制。对于单元测试,您将不得不使用其他东西。

于 2013-01-11T05:03:32.347 回答