-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
-----------------------------------------------------------------------------
-- |
-- Module : GHC.Int
#include "MachDeps.h"
+-- #hide
module GHC.Int (
Int8(..), Int16(..), Int32(..), Int64(..))
where
instance Ix Int8 where
range (m,n) = [m..n]
- unsafeIndex b@(m,_) i = fromIntegral (i - m)
+ unsafeIndex b@(m,_) i = fromIntegral i - fromIntegral m
inRange (m,n) i = m <= i && i <= n
- unsafeRangeSize b@(_l,h) = unsafeIndex b h + 1
instance Read Int8 where
readsPrec p s = [(fromIntegral (x::Int), r) | (x, r) <- readsPrec p s]
instance Ix Int16 where
range (m,n) = [m..n]
- unsafeIndex b@(m,_) i = fromIntegral (i - m)
+ unsafeIndex b@(m,_) i = fromIntegral i - fromIntegral m
inRange (m,n) i = m <= i && i <= n
- unsafeRangeSize b@(_l,h) = unsafeIndex b h + 1
instance Read Int16 where
readsPrec p s = [(fromIntegral (x::Int), r) | (x, r) <- readsPrec p s]
instance Ix Int32 where
range (m,n) = [m..n]
- unsafeIndex b@(m,_) i = fromIntegral (i - m)
+ unsafeIndex b@(m,_) i = fromIntegral i - fromIntegral m
inRange (m,n) i = m <= i && i <= n
- unsafeRangeSize b@(_l,h) = unsafeIndex b h + 1
------------------------------------------------------------------------
-- type Int64
instance Ix Int64 where
range (m,n) = [m..n]
- unsafeIndex b@(m,_) i = fromIntegral (i - m)
+ unsafeIndex b@(m,_) i = fromIntegral i - fromIntegral m
inRange (m,n) i = m <= i && i <= n
- unsafeRangeSize b@(_l,h) = unsafeIndex b h + 1