我在用
boost::random::uniform_int_distribution<boost::multiprecision::uint256_t>
multiprecision
,这就是为什么我需要使用boost而不是标准库。对于我的周期性测试,我需要从一个不确定的种子中生成确定的结果,但是以这样一种方式,我可以在测试失败的情况下稍后复制结果。
所以,我会生成一个真正的随机数,用作种子,然后注入到
uniform_int_distribution
. 这样做的目的是,如果测试失败,我将能够用导致测试失败的同一个种子重现问题。
我目前生成随机数的方法是:
boost::random::random_device gen;
boost::random::uniform_int_distribution<boost::multiprecision::uint256_t> dist{100, 1000};
auto random_num = dist(gen);
PS:请注意,首要要求是支持
. 我需要16位到512位的数字。这是为了测试,所以性能不是真正的要求。我可以用其他方法生成大的随机数并将它们转换为
boost::multiprecision
.