Skip to content

`round (± ∞ :: Double)` not infinite

Rounding 1/0 or -1/0 results in an arbitrary chosen Integer value, e.g.

λ:2> (round (1/0 :: Double) :: Integer)  == 2^1024
True

λ:3> (round (-1/0 :: Double) :: Integer)  == -(2^1024)
True

λ:4> (round (0/0 :: Double) :: Integer)  == -(2^1024 + 2^1023)
True

I'm not sure if this is more desirable than returning a bottom value (e.g. by throwing some ArithException)

Edited by Herbert Valerio Riedel
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information