[GHC] #8780: abs for IEEE floating point is slightly wrong.
GHC
ghc-devs at haskell.org
Thu Feb 13 10:41:47 UTC 2014
#8780: abs for IEEE floating point is slightly wrong.
------------------------------------+-------------------------------------
Reporter: augustss | Owner:
Type: bug | Status: new
Priority: low | Milestone:
Component: Compiler | Version: 7.6.3
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
------------------------------------+-------------------------------------
Evaluating abs(-0) gives the answer -0. This unexpected since it breaks
invariants like 1/(abs x) >= 0. So abs(-0) should be 0. This is also the
norm for other languages.
Together with this change, signum should also be changed so signum(-0) is
-0. This maintains the invariant abs x * signum x == x.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8780>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list