c++ - 提升随机输出从 1.58 到 1.67 的已知差异?
问题描述
我正在使用一些我没有编写的生成随机数据的遗留代码。输出从 1.58 更新到 1.67 提升后发生了变化。通常可重现的输出由固定的种子密钥发生。但是它们现在在新旧版本之间有所不同。
使用的提升随机分布包括 uniform_int、uniform_real、exponential_distribution 和 normal_distribution。有没有人知道其中一个或多个现在与我提到的增强版本不同?
我可能必须编写一个简单的测试程序来确定这一点。
解决方案
至少在 2016 年 7 月更改为使用 Ziggurat 方法(改进版本)的正态和指数分布,参见https://github.com/boostorg/random/commit/c7d1b4f3516098b3e2fc8f8531d716881ab5834e。这一特殊更改首次出现在版本 1.62(2016 年 10 月发布)中。我没有及时检查。
推荐阅读
- javascript - 数据表多过滤器相同的列
- paypal - 使用智能支付按钮进行一次性付款和定期付款的 PayPal 交易
- angular - ViewChild Angular 8 的继承
- active-directory - 无法通过 pyad 联系 Active Directory
- php - 在第 1 行 [mysqli] 的“1”附近找不到正确的语法
- c# - 实体框架 - 更新的关系不会检索从旧关系创建的数据
- sockets - 无需命令即可从 IoT 设备中提取每个示例日期时间
- python - Python:杀死父进程后保留子进程
- javascript - 无法使用 :not() 将按钮定位为分离行为
- java - 防止更改数组中的值