Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

與NTL庫一起使用-一個高精度的浮點庫(Using With NTL - a High-Precision Floating-Point Library)

這個庫中的特殊函數和工具可以與NTL::RR (一個任意精度的浮點類型)一起使用,通過使用boost/math/bindings/rr.hpp參考 NTL: A Library for doing Number Theory by Victor Shoup

不幸地是NTL::RR 並沒有很好地滿足我們的概念要求( conceptual requirements),所以在 boost/math/bindings/rr.hpp 中定義了一個boost::math::ntl::RR 包裝類,用於取代NTL::RR。這個類打算作為「真正的」NTL_RR庫的一個混入的(drop-in)替代,增加了一些語法糖(syntactic sugar)來滿足這個庫的需要,以及在NTL中沒有實現的一些標準庫函數。

最後,在libs/math/tools/ntl_rr_lanczos.hpp中有一個高精度的蘭克澤斯逼近(Lanczos approximation) 適合與boost::math::ntl::RR一起使用, 使用精度為1000-bit。這個逼近的理論精確度大於90個十進制數字,以及一個實驗精度大於100個十進制數字。為了使用這個逼近,在所有的特殊函數頭文件之前包含這個頭文件(如果你沒有這樣做,那麼對於所有類似於gamma的函數,你將得到一個更慢的,但完全通用的實現)。


PrevUpHomeNext