[英]C++: TR1 vs GSL vs Boost for statistical distributions?
Take Boost非常流行,并且为C ++设计良好。
GSL是一个非常好的库,提供了远远落后于发行版的工具,但是GPL(不是LGPL)覆盖了它,这意味着如果您要开发非GPL应用程序并进行分发,则不能。
以下是有关使用C ++ TR1生成随机数的一些说明。
梅森捻线器给出均匀分布的数字。 有两种常见的方法可以从中生成正态分布的数字:
以我的经验,Ziggurat在Java中的速度是以前的2倍,因为它调用缓慢的log / exp函数的频率要比Box-Muller少得多。 我不知道它在C ++中的表现。
Boost很不错,因为它是跨平台的。 但是,老实说,如果您只需要数字不加密,那么使用任何这些库中的mersenne捻线器都会非常快。 如果这是瓶颈,只需进行一些测试以找出最快的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.