Есть ли официальная спецификация функции round
в Haskell? В GHCi версии 7.0.3 я вижу следующее поведение:
ghci> round (0.5 :: Double)
0
ghci> round (1.5 :: Double)
2
Так как и 0.5, и 1.5 представлены точно как числа с плавающей запятой, я ожидал увидеть то же поведение, что и в Python:
>>> round(0.5)
1.0
>>> round(1.5)
2.0
Существует ли обоснование разницы, или это причуда GHCi?