blob: 37d0513a39de5b29c13531805597fa82e7a34c37 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
-- !!! tests that minBound::Int is correctly handled (for Int & Integer
-- (not necessarily Haskell 98: relies on Int being a 32-bit type.)
main = do
print (-2147483648 :: Int) -- -2147483648
print ((-2147483647)-1 :: Int) -- -2147483648
print (-2147483648 :: Integer) -- -2147483648
print ((-2147483648 :: Int) >= 0) -- False
print ((-2147483648 :: Integer) >= 0) -- False
print (-(-2147483648) :: Int) -- <undefined>
print (abs (-2147483648) :: Int) -- <undefined>
print (abs ((-2147483647)-1) :: Int) -- <undefined>
print (abs (-2147483648) :: Integer) -- 2147483648
print (abs ((-2147483647)-1) :: Integer) -- 2147483648 (wrong in 4.04)
print (fromInteger (-2147483648 :: Integer) :: Int) -- -2147483648
print (fromInteger ((-2147483647)-1 :: Integer) :: Int) -- -2147483648
|