[GHC] #9304: Floating point woes; Different behavior on Mac vs Linux

GHC ghc-devs at haskell.org
Sun Jul 13 21:01:44 UTC 2014


#9304: Floating point woes; Different behavior on Mac vs Linux
-------------------------------------+------------------------------------
        Reporter:  lerkok            |            Owner:
            Type:  bug               |           Status:  new
        Priority:  high              |        Milestone:
       Component:  Compiler          |          Version:  7.8.3
      Resolution:                    |         Keywords:  floating point
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:  9276
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by carter):

 ok, lets try again a different way!

 {{{
 {-# LANGUAGE MagicHash #-}
 module Main where
 import GHC.Types
 import GHC.Prim

 main = do
    x <- return ((-4.4)::Double)
    y <- return ((2.4999999999999956):: Double)
    putStrLn $ show $ decodeFloat (myTimes x y)

 {-# NOINLINE myTimes#-}
 myTimes (D# a) (D# b) =  D# res
    where
        res = a  *## b

 }}}

 If the results are the same, then the culprit is decodeFloat, not the
 floating point arithmetic

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9304#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list