@@ -51,7 +51,7 @@ module Data.Text.Internal.Fusion
52import Prelude (Bool(..), Char, Maybe(..), Monad(..), Int,
52import Prelude (Bool(..), Char, Maybe(..), Monad(..), Int,
53 Num(..), Ord(..), ($), (&&),
53 Num(..), Ord(..), ($), (&&),
54− fromIntegral, otherwise, quot)
54+ fromIntegral, otherwise)
55import Data.Bits ((.&.))
55import Data.Bits ((.&.))
56import Data.Text.Internal (Text(..))
56import Data.Text.Internal (Text(..))
57import Data.Text.Internal.Private (runText)
57import Data.Text.Internal.Private (runText)
@@ -68,7 +68,7 @@ default(Int)
69-- | /O(n)/ Convert a 'Text' into a 'Stream Char'.
69-- | /O(n)/ Convert a 'Text' into a 'Stream Char'.
70stream :: Text -> Stream Char
70stream :: Text -> Stream Char
71−stream (Text arr off len) = Stream next off (betweenSize (len `quot` 2) len)
71+stream (Text arr off len) = Stream next off (betweenSize (len `shiftR` 1) len)
73 !end = off+len
73 !end = off+len
@@ -83,7 +83,7 @@ stream (Text arr off len) = Stream next off (betweenSize (len `quot` 2) len)
83-- | /O(n)/ Convert a 'Text' into a 'Stream Char', but iterate
83-- | /O(n)/ Convert a 'Text' into a 'Stream Char', but iterate
84-- backwards.
84-- backwards.
85reverseStream :: Text -> Stream Char
85reverseStream :: Text -> Stream Char
86−reverseStream (Text arr off len) = Stream next (off+len-1) (betweenSize (len `quot` 2) len)
86+reverseStream (Text arr off len) = Stream next (off+len-1) (betweenSize (len `shiftR` 1) len)
88 {-# INLINE next #-}
88 {-# INLINE next #-}