boost :: math :: pdf(distribution,value)是否每次调用时都使用查找表或计算exp()?

时间:2012-04-26 17:34:25

标签: c++ boost

我正在研究一种需要高斯函数和大量循环的算法 Boost :: math :: pdf具有我需要实现的正确公式。

我正在使用boost :: math :: normal_distribution normal_distribution(0,sigma)创建一个正态分布,其中均值将始终为零,并且当调用函数时,sigma可以在不同的时间变化。

然后我想在我的循环中使用函数boost :: math :: pdf(normal_distribution,dsitance_from_mean)来避免使用我自己的查找表重新发明轮子。我通过boost文档阅读了这个答案,但我不清楚该函数是如何工作的。

pdf函数是使用使用正态分布生成的查找表,还是每次调用时计算指数值?

1 个答案:

答案 0 :(得分:0)

我的期望是,Boost作者会优先考虑准确性而非性能。

浏览我安装的版本的源代码,我看到了很多 调用trig / log / exp函数,没有类似于查找表或插值的东西, 所以我认为它每次都在调用exp()。

我建议您自己进行基准测试,看看Boost代码是否真的是一个 性能瓶颈,在实现自己的查找表之前。