Erlang会有数学函数的bignum吗?

Erlang会有数学函数的bignum吗?,erlang,bignum,Erlang,Bignum,为什么Erlang不包含数学函数的任意精度?我最近不得不使用math:pow(24333),它抛出了一个错误。为什么Erlang不使用像GMP这样的库?是否有计划将其纳入标准库?(Haskell使用它,[strike],甚至Java也有bignums[strike]) 谢谢 更新: 为了增加更多的视角,我知道可以使用NIFs来完成。我在解决hackerrank的问题,其中输入使用了更大的数字。pow/2可以很容易地用Erlang编写,并且可以工作,但是对于较大的计算,它会很慢。 Java为pow

为什么Erlang不包含数学函数的任意精度?我最近不得不使用
math:pow(24333)
,它抛出了一个错误。为什么Erlang不使用像GMP这样的库?是否有计划将其纳入标准库?(Haskell使用它,[strike],甚至Java也有bignums[strike])

谢谢

更新: 为了增加更多的视角,我知道可以使用NIFs来完成。我在解决hackerrank的问题,其中输入使用了更大的数字。pow/2可以很容易地用Erlang编写,并且可以工作,但是对于较大的计算,它会很慢。

Java为
pow
返回double,因此它不适用于
Math.pow(2,1024)
,它给出
无穷大

Erlang对整数有bignum,但使用64位IEEE标准浮点数。因此,虽然您可以愉快地使用整数计算
阶乘(10000)
,但默认情况下
数学
库使用浮点,因此
数学:pow(24333)
不起作用。

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

加密
模块使用整数并定义
加密:mod_pow/3
,如果它适合您的需要,您可以使用它来代替
数学:pow/2
。这个答案根本无法回答问题。因为对于Erlang的大多数用途来说,它并不有趣。如果你想进行认真的数值计算,你可以从Erlang调用一个合适的包。
crypto
模块使用整数并定义
crypto:mod_pow/3
,如果它适合你的需要,你可以使用它来代替
math:pow/2
。这个答案没有回答问题,一点也不喜欢。因为对于Erlang的大多数用法来说,它并不有趣。如果您想进行认真的数值计算,可以从Erlang调用合适的包。