Erlang会有Bignums用于数学函数吗?

时间:2013-11-10 18:55:08

标签: erlang bignum

为什么Erlang不包含数学函数的任意精度?我最近不得不使用math:pow(2,4333),它会抛出错误。为什么Erlang不使用像GMP这样的库?有没有计划将它包含在标准库中? (Haskell使用它,[strike]甚至Java都有bignums [strike])。

感谢。

更新: 要添加更多透视图,我了解可以使用NIF完成。我正在解决来自hackerrank的问题,其中输入使用更大的数字。 pow / 2可以很容易地用Erlang编写,但它可以工作,但是对于更大的计算,它会很慢 Java为pow返回两倍,因此它不适用于Math.pow(2, 1024) Infinity

1 个答案:

答案 0 :(得分:6)

Erlang有整数的bignums但使用64位IEEE标准浮点数。因此,虽然默认情况下您可以愉快地使用整数计算factorial(10000),但math库使用浮点,因此math:pow(2, 4333)不起作用。