我在C或C ++中寻找一个好的任意精度数学库。你能给我一些意见/建议吗?
主要要求:
以下是我到目前为止所发现的内容:
我所知道的:
我不知道的是:
我很感激:
如果符合以下情况,请请勿回答此问题:
答案 0 :(得分:24)
GMP是热门的选择。 Squeak Smalltalk有一个非常好的库,但它是用Smalltalk编写的。
您要求提供相关书籍或文章。 bignums的棘手部分是长期划分。我推荐Per Brinch Hansen的论文Multiple-Length Division Revisited: A Tour of the Minefield。
答案 1 :(得分:13)
总的来说,他最快的通用任意精度库是GMP。如果要使用浮点值,请查看MPFR库。 MPFR基于GMP。
关于其他语言中的本机任意精度支持,由于许可证,代码大小和代码可移植性原因,Python使用自己的实现。 GMPY模块允许Python访问GMP库。
casevh
答案 2 :(得分:8)
小型模板化标题库,供个人和商业免费使用。
答案 3 :(得分:7)
我自己并没有将任意精确算术库相互比较,但似乎或多或少地确定了GMP的人。对于它的价值,GHC Haskell和GNU Guile Scheme中的任意精度整数都是使用GMP实现的,而pidigits benchmark on the language shootout的最快实现是基于GMP。
答案 4 :(得分:3)
Pari怎么样?它建立在顶级GMP之上,提供了您需要的数论运算的所有其他好处(以及许多符号计算的东西)。