on master help sign in
Fix some remaining sizeOf to sizeOfElem conversions
commit6238f5d57e600433115ffae9827ef43bad424a65 authorHarendra Kumar <harendra@composewell.com> dateThu 6 Jan 2022, 13:04 (5 years ago) parent91e4160
3 files changed+10−10
src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs+5−5 src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+3−3 src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs+2−2
src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs+5−5
@@ -634,7 +634,7 @@ modifyIndexUnsafe Array{..} i f = do
634634modifyIndexPtr :: forall m a b. (MonadIO m, Storable a) =>
635635 Int -> (a -> (a, b)) -> Ptr a -> Ptr a -> m b
636636modifyIndexPtr i f start end = liftIO $ do
637− let elemSize = sizeOf (undefined :: a)
637+ let elemSize = sizeOfElem (undefined :: a)
638638 elemPtr = start `plusPtr` (elemSize * i)
639639 if i >= 0 && elemPtr `plusPtr` elemSize <= end
640640 then do
@@ -682,7 +682,7 @@ modify Array{..} f = liftIO $
682682 where
683683
684684 go ptr = do
685− let elemSize = sizeOf (undefined :: a)
685+ let elemSize = sizeOfElem (undefined :: a)
686686 when (ptr `plusPtr` elemSize <= aEnd) $ do
687687 r <- peek ptr
688688 poke ptr (f r)
@@ -706,7 +706,7 @@ unsafeSwapIndices :: forall m a. (MonadIO m, Storable a)
706706 => Array a -> Int -> Int -> m ()
707707unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
708708 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
709− let elemSize = sizeOf (undefined :: a)
709+ let elemSize = sizeOfElem (undefined :: a)
710710 ptr1 = ptr `plusPtr` (elemSize * i1)
711711 ptr2 = ptr `plusPtr` (elemSize * i2)
712712 swapPtrs ptr1 (ptr2 :: Ptr a)
@@ -717,7 +717,7 @@ unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
717717swapIndices :: forall m a. (MonadIO m, Storable a)
718718 => Array a -> Int -> Int -> m ()
719719swapIndices Array{..} i1 i2 = liftIO $ do
720− let elemSize = sizeOf (undefined :: a)
720+ let elemSize = sizeOfElem (undefined :: a)
721721 ptr1 = arrStart `plusPtr` (elemSize * i1)
722722 ptr2 = arrStart `plusPtr` (elemSize * i2)
723723 when (i1 < 0 || ptr1 >= aEnd ) $ invalidIndex "swapIndices" i1
@@ -1208,7 +1208,7 @@ reverse Array{..} = liftIO $ do
12081208
12091209 where
12101210
1211− elemSize = sizeOf (undefined :: a)
1211+ elemSize = sizeOfElem (undefined :: a)
12121212
12131213 swap l h = do
12141214 when (l < h) $ do
src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+3−3
@@ -31,7 +31,7 @@ import Control.Monad (when)
3131import Control.Monad.Catch (MonadThrow)
3232import Data.Bifunctor (first)
3333import Foreign.Storable (Storable(..))
34−import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
34+import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..), sizeOfElem)
3535import Streamly.Internal.Data.Fold.Type (Fold(..))
3636import Streamly.Internal.Data.Stream.Serial (SerialT(..))
3737import Streamly.Internal.Data.Stream.IsStream.Type
@@ -211,7 +211,7 @@ compactLEParserD n = ParserD.Parser step initial extract
211211
212212 where
213213
214− nBytes = n * sizeOf (undefined :: a)
214+ nBytes = n * sizeOfElem (undefined :: a)
215215
216216 initial =
217217 return
@@ -261,7 +261,7 @@ compactGEFold n = Fold step initial extract
261261
262262 where
263263
264− nBytes = n * sizeOf (undefined :: a)
264+ nBytes = n * sizeOfElem (undefined :: a)
265265
266266 initial =
267267 return
src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs+2−2
@@ -1720,7 +1720,7 @@ splitOnSeq patArr (Fold fstep initial done) (Stream step state) =
17201720 then do
17211721 pat <- liftIO $ A.unsafeIndexIO patArr 0
17221722 return $ Skip $ SplitOnSeqSingle acc state pat
1723− else if sizeOf (undefined :: a) * patLen
1723+ else if sizeOfElem (undefined :: a) * patLen
17241724 <= sizeOf (undefined :: Word)
17251725 then return $ Skip $ SplitOnSeqWordInit acc state
17261726 else do
@@ -2053,7 +2053,7 @@ splitOnSuffixSeq withSep patArr (Fold fstep initial done) (Stream step state) =
20532053 then do
20542054 pat <- liftIO $ A.unsafeIndexIO patArr 0
20552055 skip $ SplitOnSuffixSeqSingleInit fs state pat
2056− else if sizeOf (undefined :: a) * patLen
2056+ else if sizeOfElem (undefined :: a) * patLen
20572057 <= sizeOf (undefined :: Word)
20582058 then skip $ SplitOnSuffixSeqWordInit fs state
20592059 else do