gpt4 book ai didi

perl - 如何测试生成随机数的方法是否生成随机数

转载 作者:行者123 更新时间:2023-11-28 20:11:58 24 4
gpt4 key购买 nike

如何测试生成随机数的方法是否真的生成了随机数?是否有一些 ($tested_method, rand) 语法?

具体来说,我指的是这个 ping 生成器方法:

sub _create_ping_number {
my ( $ping, @random_array );
my $MAX = 100000;
my $random_counter = 0;

if ( $random_counter == $MAX ) {
@random_array = ();
$random_counter = 0;
}

until ( !undef( $random_array[ $ping = int( rand($MAX) ) ] ) ) { }
$random_array[$ping] = 1;
$random_counter++;
return $ping;
}

最佳答案

mob 评论中的链接详细说明了断言数据源是随机的有多困难。

对于您的单元测试,您最好在测试设置中使用 srand(在技术上使其成为“白盒”测试),并依赖 rand 的行为这一事实() 是众所周知的。据我所知,这是正常做法,除非您想测试您编写的 PRNG 或熵源。

关于perl - 如何测试生成随机数的方法是否生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com