![]() |
Home | Libraries | People | FAQ | More |
#include <boost/math/special_functions/sqrt1pm1.hpp>
namespace boost{ namespace math{ template <class T> calculated-result-type sqrt1pm1(T x); template <class T, class Policy> calculated-result-type sqrt1pm1(T x, const Policy&); }} // namespaces
返回 sqrt(1+x) - 1.
函數返回值的類型使用返回值推導法則:來確定,當x是整型的時候,返回值的類型是double,否則返回值是類型是T.
最後一個策略 參數是可選的並且可以用來控制函數的行為: 如何處理誤差, 使用哪種層次的精度等等. 參見策略文檔瞭解更多信息。
當x本身接近於1,而你又需要計算 sqrt(x) 與 1之間的差值的時候這個函數就很有用。
使用函數log1p
和 函數expm1來實現函數sqrt1pm1
下面的圖像顯示了 sqrt1pm1的特性:
對於內建的浮點類型,sqrt1pm1 具有近似於 3 epsilon(10的-5次方) 的精確度。
使用1000-bits精度的NTL::RR庫生成的隨機的高精度測試數據。