Why does Erlang not include arbitrary precision for math functions? I recently had to use math:pow(2,4333)
, and it throws an error. Why does Erlang not use libraries like GMP? Are there any plans to include it in the standard library? (Haskell uses it, [strike]even Java has bignums[strike]).
Thanks.
Update:
To add more perspective, I understand that it can be done using NIFs. I was solving problems from hackerrank in which the input uses larger numbers. pow/2 can be easily written in Erlang and it worked, but for larger computations, it would be slow.
Java returns double for pow
so it does not work for Math.pow(2, 1024)
which gives Infinity
.
Erlang has bignums for integers but uses 64-bit IEEE standard floating point numbers. So while you can happily compute
factorial(10000)
with integers by default themath
library uses floating point somath:pow(2, 4333)
does not work.