on master help sign in
Add INLINE statements on lifted integer ops
0633ecbAdithya Kumar
core/src/Streamly/Internal/Data/Serialize.hs+4
@@ -77,6 +77,7 @@ $(Serialize.deriveSerialize ''LiftedInteger)
77
77
78#if __GLASGOW_HASKELL__ >= 900
78#if __GLASGOW_HASKELL__ >= 900
79
79
80+{-# INLINE liftInteger #-}
80liftInteger :: Integer -> LiftedInteger
81liftInteger :: Integer -> LiftedInteger
81liftInteger (IS x) = LIS (I# x)
82liftInteger (IS x) = LIS (I# x)
82liftInteger (IP x) =
83liftInteger (IP x) =
@@ -84,6 +85,7 @@ liftInteger (IP x) =
84liftInteger (IN x) =
85liftInteger (IN x) =
85 LIN (Array (MutableByteArray (unsafeCoerce# x)) 0 (I# (sizeofByteArray# x)))
86 LIN (Array (MutableByteArray (unsafeCoerce# x)) 0 (I# (sizeofByteArray# x)))
86
87
88+{-# INLINE unliftInteger #-}
87unliftInteger :: LiftedInteger -> Integer
89unliftInteger :: LiftedInteger -> Integer
88unliftInteger (LIS (I# x)) = IS x
90unliftInteger (LIS (I# x)) = IS x
89unliftInteger (LIP (Array (MutableByteArray x) _ _)) = IP (unsafeCoerce# x)
91unliftInteger (LIP (Array (MutableByteArray x) _ _)) = IP (unsafeCoerce# x)
@@ -91,6 +93,7 @@ unliftInteger (LIN (Array (MutableByteArray x) _ _)) = IN (unsafeCoerce# x)
91
93
92#else
94#else
93
95
96+{-# INLINE liftInteger #-}
94liftInteger :: Integer -> LiftedInteger
97liftInteger :: Integer -> LiftedInteger
95liftInteger (S# x) = LIS (I# x)
98liftInteger (S# x) = LIS (I# x)
96liftInteger (Jp# (BN# x)) =
99liftInteger (Jp# (BN# x)) =
@@ -98,6 +101,7 @@ liftInteger (Jp# (BN# x)) =
98liftInteger (Jn# (BN# x)) =
101liftInteger (Jn# (BN# x)) =
99 LIN (Array (MutableByteArray (unsafeCoerce# x)) 0 (I# (sizeofByteArray# x)))
102 LIN (Array (MutableByteArray (unsafeCoerce# x)) 0 (I# (sizeofByteArray# x)))
100
103
104+{-# INLINE unliftInteger #-}
101unliftInteger :: LiftedInteger -> Integer
105unliftInteger :: LiftedInteger -> Integer
102unliftInteger (LIS (I# x)) = S# x
106unliftInteger (LIS (I# x)) = S# x
103unliftInteger (LIP (Array (MutableByteArray x) _ _)) =
107unliftInteger (LIP (Array (MutableByteArray x) _ _)) =