Lua的标准(或最佳支持)大数(任意精度)库是什么?
题
我正在处理我无法完成的大数字。使用Lua的标准数学库,似乎没有方便的方法来保持精度超过某些内部限制。我还看到有几个库可以加载来处理大数字:
- http://oss.digirati.com.br/luabignum/
- http://www.tc.umn.edu/~ringx004/ MAPM-main.html中
- http://lua-users.org/lists/ lua-l / 2002-02 / msg00312.html (可能与#2相同)
- http://www.gammon.com.au/scripts/ doc.php?general = lua_bc (但我找不到任何来源) 醇>
此外,C中有许多图书馆可以调用来自Lua,如果绑定在哪里建立。
您是否有过使用这些库中的一个或多个的经验?
解决方案
Luiz Figueiredo的 lmapm图书馆 Lua语言的作者。
其他提示
使用 lbc 代替lmapm会更容易,因为lbc是自包含的。
require"bc"
s=bc.pow(2,1000):tostring()
z=0
for i=1,#s do
z=z+s:byte(i)-("0"):byte(1)
end
print(z)
我无法回答,但我会添加 LGMP ,GMP绑定。没用过。
不是我的专业领域,但我希望GNU多精度算术库在这里非常标准,不是吗?
虽然不是任意精度,但是 Lua decNumber ,Lua 5.1 IBM decNumber的包装器实现了所提出的通用十进制算术标准IEEE 754r。它具有Lua 5.1算术运算符和更多,完全控制舍入模式,工作精度高达69位十进制数。
不隶属于 StackOverflow