Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

powm1

#include <boost/math/special_functions/powm1.hpp>

namespace boost{ namespace math{

template <class T1, class T2>
calculated-result-type powm1(T1 x, T2 y);

template <class T1, class T2, class Policy>
calculated-result-type powm1(T1 x, T2 y, const Policy&);

}} // namespaces

返回 xy - 1.

當T1和T2是不同類型的時候,函數返回值的類型使用返回值推導法則:來確定。

最後一個策略 參數是可選的並且可以用來控制函數的行為: 如何處理錯誤, 使用哪種層次的精度等等. 參見策略文檔瞭解更多信息。

在兩種情況下這個函數很有用: 當 y 很小, 或 x 接近於 1.

通過使用expm1來實現。

下面的圖像顯示 powm1 的特性:

精確度

具有 2-3 epsilon(10的-5次方)的精度.

測試

使用1000-bits精度的NTL::RR庫生成的隨機的高精度測試數據。


PrevUpHomeNext