summaryrefslogtreecommitdiff
path: root/testsuite/tests/numeric/should_run/arith001.hs
blob: ed9cd5febc2d1c642cad14c529f5b36d6e1d8a0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- !!! conversions: Double <=> Rational/Integer things
--
import Data.Ratio

main = putStr (show r42  ++ "\n" ++
	       show nu42 ++ ", " ++
	       show de42 ++ "\n" ++
	       show nu42d ++ ", " ++
	       show de42d ++ "\n" ++
	       show s2 ++ ", " ++
	       show e2 ++ "\n" ++
	       show s ++ ", " ++
	       show e ++ "\n" )
  where  
    d42 :: Double
    r42 :: Rational
    nu42, de42 :: Integer
    nu42d, de42d :: Double

    d42  = 42
    r42  = toRational d42
    nu42 = numerator   r42
    de42 = denominator r42
    nu42d= fromInteger nu42
    de42d= fromInteger de42

    (s,e)= decodeFloat (nu42d / de42d )   
    (s2,e2) = decodeFloat d42