@@ -32,6 +32,7 @@ module Data.Text.Internal.Fusion.Size
35+import Data.Text.Internal (mul)
35#if defined(ASSERTS)
36#if defined(ASSERTS)
36import Control.Exception (assert)
37import Control.Exception (assert)
@@ -100,12 +101,6 @@ subtractSize (Between _ mb) Unknown = Between 0 mb
100subtractSize _ _ = Unknown
101subtractSize _ _ = Unknown
101{-# INLINE subtractSize #-}
102{-# INLINE subtractSize #-}
103−mul :: Int -> Int -> Int
105− | m <= maxBound `quot` n = m * n
106− | otherwise = overflowError
109mulSize :: Size -> Size -> Size
104mulSize :: Size -> Size -> Size
110mulSize (Between ma mb) (Between na nb) = Between (mul ma na) (mul mb nb)
105mulSize (Between ma mb) (Between na nb) = Between (mul ma na) (mul mb nb)
111mulSize _ _ = Unknown
106mulSize _ _ = Unknown