on master help sign in
Fix some remaining sizeOf to sizeOfElem conversions
6238f5dHarendra Kumar
src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs+5−5
@@ -634,7 +634,7 @@ modifyIndexUnsafe Array{..} i f = do
634modifyIndexPtr :: forall m a b. (MonadIO m, Storable a) =>
634modifyIndexPtr :: forall m a b. (MonadIO m, Storable a) =>
635 Int -> (a -> (a, b)) -> Ptr a -> Ptr a -> m b
635 Int -> (a -> (a, b)) -> Ptr a -> Ptr a -> m b
636modifyIndexPtr i f start end = liftIO $ do
636modifyIndexPtr i f start end = liftIO $ do
637− let elemSize = sizeOf (undefined :: a)
637+ let elemSize = sizeOfElem (undefined :: a)
638 elemPtr = start `plusPtr` (elemSize * i)
638 elemPtr = start `plusPtr` (elemSize * i)
639 if i >= 0 && elemPtr `plusPtr` elemSize <= end
639 if i >= 0 && elemPtr `plusPtr` elemSize <= end
640 then do
640 then do
@@ -682,7 +682,7 @@ modify Array{..} f = liftIO $
682 where
682 where
683
683
684 go ptr = do
684 go ptr = do
685− let elemSize = sizeOf (undefined :: a)
685+ let elemSize = sizeOfElem (undefined :: a)
686 when (ptr `plusPtr` elemSize <= aEnd) $ do
686 when (ptr `plusPtr` elemSize <= aEnd) $ do
687 r <- peek ptr
687 r <- peek ptr
688 poke ptr (f r)
688 poke ptr (f r)
@@ -706,7 +706,7 @@ unsafeSwapIndices :: forall m a. (MonadIO m, Storable a)
706 => Array a -> Int -> Int -> m ()
706 => Array a -> Int -> Int -> m ()
707unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
707unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
708 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
708 unsafeWithArrayContents arrContents arrStart $ \ptr -> do
709− let elemSize = sizeOf (undefined :: a)
709+ let elemSize = sizeOfElem (undefined :: a)
710 ptr1 = ptr `plusPtr` (elemSize * i1)
710 ptr1 = ptr `plusPtr` (elemSize * i1)
711 ptr2 = ptr `plusPtr` (elemSize * i2)
711 ptr2 = ptr `plusPtr` (elemSize * i2)
712 swapPtrs ptr1 (ptr2 :: Ptr a)
712 swapPtrs ptr1 (ptr2 :: Ptr a)
@@ -717,7 +717,7 @@ unsafeSwapIndices Array{..} i1 i2 = liftIO $ do
717swapIndices :: forall m a. (MonadIO m, Storable a)
717swapIndices :: forall m a. (MonadIO m, Storable a)
718 => Array a -> Int -> Int -> m ()
718 => Array a -> Int -> Int -> m ()
719swapIndices Array{..} i1 i2 = liftIO $ do
719swapIndices Array{..} i1 i2 = liftIO $ do
720− let elemSize = sizeOf (undefined :: a)
720+ let elemSize = sizeOfElem (undefined :: a)
721 ptr1 = arrStart `plusPtr` (elemSize * i1)
721 ptr1 = arrStart `plusPtr` (elemSize * i1)
722 ptr2 = arrStart `plusPtr` (elemSize * i2)
722 ptr2 = arrStart `plusPtr` (elemSize * i2)
723 when (i1 < 0 || ptr1 >= aEnd ) $ invalidIndex "swapIndices" i1
723 when (i1 < 0 || ptr1 >= aEnd ) $ invalidIndex "swapIndices" i1
@@ -1208,7 +1208,7 @@ reverse Array{..} = liftIO $ do
1208
1208
1209 where
1209 where
1210
1210
1211− elemSize = sizeOf (undefined :: a)
1211+ elemSize = sizeOfElem (undefined :: a)
1212
1212
1213 swap l h = do
1213 swap l h = do
1214 when (l < h) $ do
1214 when (l < h) $ do
src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+3−3
@@ -31,7 +31,7 @@ import Control.Monad (when)
31import Control.Monad.Catch (MonadThrow)
31import Control.Monad.Catch (MonadThrow)
32import Data.Bifunctor (first)
32import Data.Bifunctor (first)
33import Foreign.Storable (Storable(..))
33import Foreign.Storable (Storable(..))
34−import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
34+import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..), sizeOfElem)
35import Streamly.Internal.Data.Fold.Type (Fold(..))
35import Streamly.Internal.Data.Fold.Type (Fold(..))
36import Streamly.Internal.Data.Stream.Serial (SerialT(..))
36import Streamly.Internal.Data.Stream.Serial (SerialT(..))
37import Streamly.Internal.Data.Stream.IsStream.Type
37import Streamly.Internal.Data.Stream.IsStream.Type
@@ -211,7 +211,7 @@ compactLEParserD n = ParserD.Parser step initial extract
211
211
212 where
212 where
213
213
214− nBytes = n * sizeOf (undefined :: a)
214+ nBytes = n * sizeOfElem (undefined :: a)
215
215
216 initial =
216 initial =
217 return
217 return
@@ -261,7 +261,7 @@ compactGEFold n = Fold step initial extract
261
261
262 where
262 where
263
263
264− nBytes = n * sizeOf (undefined :: a)
264+ nBytes = n * sizeOfElem (undefined :: a)
265
265
266 initial =
266 initial =
267 return
267 return
src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs+2−2
@@ -1720,7 +1720,7 @@ splitOnSeq patArr (Fold fstep initial done) (Stream step state) =
1720 then do
1720 then do
1721 pat <- liftIO $ A.unsafeIndexIO patArr 0
1721 pat <- liftIO $ A.unsafeIndexIO patArr 0
1722 return $ Skip $ SplitOnSeqSingle acc state pat
1722 return $ Skip $ SplitOnSeqSingle acc state pat
1723− else if sizeOf (undefined :: a) * patLen
1723+ else if sizeOfElem (undefined :: a) * patLen
1724 <= sizeOf (undefined :: Word)
1724 <= sizeOf (undefined :: Word)
1725 then return $ Skip $ SplitOnSeqWordInit acc state
1725 then return $ Skip $ SplitOnSeqWordInit acc state
1726 else do
1726 else do
@@ -2053,7 +2053,7 @@ splitOnSuffixSeq withSep patArr (Fold fstep initial done) (Stream step state) =
2053 then do
2053 then do
2054 pat <- liftIO $ A.unsafeIndexIO patArr 0
2054 pat <- liftIO $ A.unsafeIndexIO patArr 0
2055 skip $ SplitOnSuffixSeqSingleInit fs state pat
2055 skip $ SplitOnSuffixSeqSingleInit fs state pat
2056− else if sizeOf (undefined :: a) * patLen
2056+ else if sizeOfElem (undefined :: a) * patLen
2057 <= sizeOf (undefined :: Word)
2057 <= sizeOf (undefined :: Word)
2058 then skip $ SplitOnSuffixSeqWordInit fs state
2058 then skip $ SplitOnSuffixSeqWordInit fs state
2059 else do
2059 else do