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 29
|
module Main(main) where
main = sequence_ [ f x y | x <- [0,
1000,
1000000000000, -- > 2^32
1000000000000000000000000, -- > 2^64
-1000,
-1000000000000, -- < -2^32
-1000000000000000000000000] -- < -2^64
, y <- [0, -10, 10] ]
f :: Integer -> Int -> IO ()
f x y = do putStrLn "------------------------"
print x
print y
let d :: Double
d = encodeFloat x y
(xd, yd) = decodeFloat d
let f :: Float
f = encodeFloat x y
(xf, yf) = decodeFloat f
print d
print xd
print yd
print f
print xf
print yf
|