{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE CPP #-}
module GHC.Int.Compat (Int8, pattern GHC.Int.Compat.I8#,
Int16, pattern GHC.Int.Compat.I16#,
Int32, pattern GHC.Int.Compat.I32#,
Int64(..),
Int(..),
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.Prim
import GHC.Int as W
pattern I8# :: Int# -> Int8
#if MIN_VERSION_ghc_prim(0,8,0)
pattern I8# x <- (W.I8# (int8ToInt# -> x)) where
I8# x = W.I8# (intToInt8# x)
#else
pattern $bI8# :: Int# -> Int8
$mI8# :: forall r. Int8 -> (Int# -> r) -> (Void# -> r) -> r
I8# x = W.I8# x
#endif
pattern I16# :: Int# -> Int16
#if MIN_VERSION_ghc_prim(0,8,0)
pattern I16# x <- (W.I16# (int16ToInt# -> x)) where
I16# x = W.I16# (intToInt16# x)
#else
pattern $bI16# :: Int# -> Int16
$mI16# :: forall r. Int16 -> (Int# -> r) -> (Void# -> r) -> r
I16# x = W.I16# x
#endif
pattern I32# :: Int# -> Int32
#if MIN_VERSION_ghc_prim(0,8,0)
pattern I32# x <- (W.I32# (int32ToInt# -> x)) where
I32# x = W.I32# (intToInt32# x)
#else
pattern $bI32# :: Int# -> Int32
$mI32# :: forall r. Int32 -> (Int# -> r) -> (Void# -> r) -> r
I32# x = W.I32# x
#endif