[erlang-questions] Inf, NaN, and -Inf
Peer Stritzinger
peerst@REDACTED
Mon Feb 27 22:47:07 CET 2012
On Mon, Feb 27, 2012 at 9:47 PM, Richard O'Keefe <ok@REDACTED> wrote:
>> Is there some sane way to do this in erlang? Is there a way to get the
>> floating point values inf and -inf in erlang
>
> I haven't found one. Somebody might want to write an EEP recommending
> richer access to IEEE arithmetic features. (Is anyone running Erlang
> on z/Series?)
Its worse than I thought: even building a binary for e.g. +Inf and
matching it as float doesn't work
1> <<F:32/float>> = <<0:1, 255:8, 0:23>>.
** exception error: no match of right hand side value <<127,128,0,0>>
This looks like an effort was made not having the value Inf in the system ever.
Overflowing a operation doesn't work either (gives a badarg).
The failure of the pattern matching is not very nice if one wants to
use it to read binary floating point streams (which might be argued
one shouldn't).
Could a NIF be build to grandfather the forbidden values in?
Is the runtime somehow built around assumptions that Inf and NaN never
occur as values?
-- Peer
More information about the erlang-questions
mailing list