5 This library provides signed integers of various sizes. The types
6 supported are as follows:
9 type | number of bits @
18 For each type <it/I/ above, we provide the following instances.
22 iToInt :: I -> Int -- not provided for Int64
23 intToI :: Int -> I -- not provided for Int64
37 Plus the coercion functions
40 int8ToInt16 :: Int8 -> Int16
41 int8ToInt32 :: Int8 -> Int32
42 int8ToInt64 :: Int8 -> Int64
44 int16ToInt8 :: Int16 -> Int8
45 int16ToInt32 :: Int16 -> Int32
46 int16ToInt64 :: Int16 -> Int64
48 int32ToInt8 :: Int32 -> Int8
49 int32ToInt16 :: Int32 -> Int16
50 int32ToInt64 :: Int32 -> Int64
52 int64ToInt8 :: Int64 -> Int8
53 int64ToInt16 :: Int64 -> Int16
54 int64ToInt32 :: Int64 -> Int32
56 int8ToInt :: Int8 -> Int
57 int16ToInt :: Int16 -> Int
58 int32ToInt :: Int32 -> Int
59 int64ToInt :: Int64 -> Int
61 intToInt8 :: Int -> Int8
62 intToInt16 :: Int -> Int16
63 intToInt32 :: Int -> Int32
64 intToInt64 :: Int -> Int64
66 integerToInt8 :: Integer -> Int8
67 integerToInt16 :: Integer -> Int16
68 integerToInt32 :: Integer -> Int32
69 integerToInt64 :: Integer -> Int64
71 int64ToInteger :: Int64 -> Integer
72 int32ToInteger :: Int32 -> Integer
73 int16ToInteger :: Int16 -> Integer
74 int8ToInteger :: Int8 -> Integer
80 The rules that hold for <tt/Enum/ instances over a bounded type
81 such as <tt/Int/ (see the section of the Haskell report dealing
82 with arithmetic sequences) also hold for the <tt/Enum/ instances
83 over the various <tt/Int/ types defined here.
86 Right and left shifts by amounts greater than or equal to the width of
87 the type result in either zero or -1, depending on the sign of the
88 value being shifted. This is contrary to the behaviour in C, which is
89 undefined; a common interpretation is to truncate the shift count to
90 the width of the type, for example <tt>1 << 32 == 1</tt> in some
94 Hugs does not provide <tt/Int64/ at the moment.