on master help sign in
Switch to new mul function for Size
a2408d1Bryan O'Sullivan
Data/Text/Internal/Fusion/Size.hs+1−6
@@ -32,6 +32,7 @@ module Data.Text.Internal.Fusion.Size
32 , isEmpty
32 , isEmpty
33 ) where
33 ) where
34
34
35+import Data.Text.Internal (mul)
35#if defined(ASSERTS)
36#if defined(ASSERTS)
36import Control.Exception (assert)
37import Control.Exception (assert)
37#endif
38#endif
@@ -100,12 +101,6 @@ subtractSize (Between _ mb) Unknown = Between 0 mb
100subtractSize _ _ = Unknown
101subtractSize _ _ = Unknown
101{-# INLINE subtractSize #-}
102{-# INLINE subtractSize #-}
102
103
103−mul :: Int -> Int -> Int
104−mul m n
105− | m <= maxBound `quot` n = m * n
106− | otherwise = overflowError
107−{-# INLINE mul #-}
108−
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