{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE CPP #-}
module GHC.Int.Compat (W.Int8,
W.Int16,
W.Int32,
W.Int64(..),
Int(..),
#if MIN_VERSION_ghc_prim(0,8,0)
pattern GHC.Int.Compat.I8#,
pattern GHC.Int.Compat.I16#,
pattern GHC.Int.Compat.I32#,
#else
pattern W.I8#,
pattern W.I16#,
pattern W.I32#,
#endif
uncheckedIShiftL64#, uncheckedIShiftRA64#,
eqInt, neInt, gtInt, geInt, ltInt, leInt,
eqInt8, neInt8, gtInt8, geInt8, ltInt8, leInt8,
eqInt16, neInt16, gtInt16, geInt16, ltInt16, leInt16,
eqInt32, neInt32, gtInt32, geInt32, ltInt32, leInt32,
eqInt64, neInt64, gtInt64, geInt64, ltInt64, leInt64) where
import GHC.Int hiding (Int8(..), Int16(..), Int32(..))
import qualified GHC.Int as W
#if MIN_VERSION_ghc_prim(0,8,0)
import GHC.Prim
pattern I8# :: Int# -> W.Int8
pattern $bI8# :: Int# -> Int8
$mI8# :: forall {r}. Int8 -> (Int# -> r) -> ((# #) -> r) -> r
I8# x <- (W.I8# (int8ToInt# -> x)) where
I8# Int#
x = Int8# -> Int8
W.I8# (Int# -> Int8#
intToInt8# Int#
x)
{-# COMPLETE I8# #-}
pattern I16# :: Int# -> W.Int16
pattern $bI16# :: Int# -> Int16
$mI16# :: forall {r}. Int16 -> (Int# -> r) -> ((# #) -> r) -> r
I16# x <- (W.I16# (int16ToInt# -> x)) where
I16# Int#
x = Int16# -> Int16
W.I16# (Int# -> Int16#
intToInt16# Int#
x)
{-# COMPLETE I16# #-}
pattern I32# :: Int# -> W.Int32
pattern $bI32# :: Int# -> Int32
$mI32# :: forall {r}. Int32 -> (Int# -> r) -> ((# #) -> r) -> r
I32# x <- (W.I32# (int32ToInt# -> x)) where
I32# Int#
x = Int32# -> Int32
W.I32# (Int# -> Int32#
intToInt32# Int#
x)
{-# COMPLETE I32# #-}
#endif