on master help sign in
Rename unsafeIndex in Array module to getIndexUnsafe (#2540)
commit2e8c9ac1fd66780862f28e6cfdc28c5a26b3ff8b authorRanjeet Ranjan <ranjeetr@composewell.com> dateFri 18 Aug 2023, 15:44 (3 years ago) parent5322566
6 files changed+23−15
core/src/Streamly/Internal/Data/Array/Type.hs+10−2 core/src/Streamly/Internal/Serialize/FromBytes.hs+2−2 src/Streamly/Internal/FileSystem/Event/Darwin.hs+3−3 test/Streamly/Test/Data/Array.hs+2−2 test/Streamly/Test/Data/Parser.hs+3−3 test/Streamly/Test/Data/ParserK.hs+3−3
core/src/Streamly/Internal/Data/Array/Type.hs+10−2
@@ -46,7 +46,7 @@ module Streamly.Internal.Data.Array.Type
4646
4747 -- * Elimination
4848 , unsafeIndexIO
49− , unsafeIndex -- getIndexUnsafe
49+ , getIndexUnsafe
5050 , byteLength
5151 , length
5252
@@ -83,6 +83,9 @@ module Streamly.Internal.Data.Array.Type
8383 , bufferChunks
8484 , flattenArrays
8585 , flattenArraysRev
86+
87+ -- * Deprecated
88+ , unsafeIndex
8689 )
8790where
8891
@@ -370,9 +373,14 @@ unsafeIndexIO :: forall a. Unbox a => Int -> Array a -> IO a
370373unsafeIndexIO i arr = MA.getIndexUnsafe i (unsafeThaw arr)
371374
372375-- | Return element at the specified index without checking the bounds.
376+{-# INLINE_NORMAL getIndexUnsafe #-}
377+getIndexUnsafe :: forall a. Unbox a => Int -> Array a -> a
378+getIndexUnsafe i arr = let !r = unsafeInlineIO $ unsafeIndexIO i arr in r
379+
380+{-# DEPRECATED unsafeIndex "Please use 'getIndexUnsafe' instead" #-}
373381{-# INLINE_NORMAL unsafeIndex #-}
374382unsafeIndex :: forall a. Unbox a => Int -> Array a -> a
375−unsafeIndex i arr = let !r = unsafeInlineIO $ unsafeIndexIO i arr in r
383+unsafeIndex = getIndexUnsafe
376384
377385-- | /O(1)/ Get the byte length of the array.
378386--
core/src/Streamly/Internal/Serialize/FromBytes.hs+2−2
@@ -51,7 +51,7 @@ import Streamly.Internal.Data.Maybe.Strict (Maybe'(..))
5151import Streamly.Internal.Data.Tuple.Strict (Tuple' (..))
5252import qualified Streamly.Data.Array as A
5353import qualified Streamly.Internal.Data.Array as A
54− (unsafeIndex, castUnsafe)
54+ (getIndexUnsafe, castUnsafe)
5555import qualified Streamly.Internal.Data.Parser as PR
5656 (fromPure, either, satisfy, takeEQ)
5757import qualified Streamly.Internal.Data.Parser as PRD
@@ -382,7 +382,7 @@ charLatin1 = fmap (chr . fromIntegral) word8
382382{-# INLINE word64host #-}
383383word64host :: MonadIO m => Parser Word8 m Word64
384384word64host =
385− fmap (A.unsafeIndex 0 . A.castUnsafe) $ PR.takeEQ 8 (A.writeN 8)
385+ fmap (A.getIndexUnsafe 0 . A.castUnsafe) $ PR.takeEQ 8 (A.writeN 8)
386386
387387-------------------------------------------------------------------------------
388388-- Type class
src/Streamly/Internal/FileSystem/Event/Darwin.hs+3−3
@@ -493,9 +493,9 @@ readOneEvent :: Parser Word8 IO Event
493493readOneEvent = do
494494 arr <- PR.takeEQ 24 (A.writeN 24)
495495 let arr1 = A.castUnsafe arr :: Array Word64
496− eid = A.unsafeIndex 0 arr1
497− eflags = A.unsafeIndex 1 arr1
498− pathLen = fromIntegral $ A.unsafeIndex 2 arr1
496+ eid = A.getIndexUnsafe 0 arr1
497+ eflags = A.getIndexUnsafe 1 arr1
498+ pathLen = fromIntegral $ A.getIndexUnsafe 2 arr1
499499 path <- PR.takeEQ pathLen (A.writeN pathLen)
500500 return $ Event
501501 { eventId = eid
test/Streamly/Test/Data/Array.hs+2−2
@@ -180,7 +180,7 @@ testFromToList inp = A.toList (A.fromList inp) `shouldBe` inp
180180testUnsafeIndxedFromList :: [Char] -> IO ()
181181testUnsafeIndxedFromList inp =
182182 let arr = A.fromList inp
183− in fmap (`A.unsafeIndex` arr) [0 .. (length inp - 1)] `shouldBe` inp
183+ in fmap (`A.getIndexUnsafe` arr) [0 .. (length inp - 1)] `shouldBe` inp
184184
185185testAsPtrUnsafeMA :: IO ()
186186testAsPtrUnsafeMA = do
@@ -267,7 +267,7 @@ main =
267267 describe "toList . fromList" $ do
268268 it "testFromToList abc" (testFromToList "abc")
269269 it "testFromToList \\22407" (testFromToList "\22407")
270− describe "unsafeIndex . fromList" $ do
270+ describe "getIndexUnsafe . fromList" $ do
271271 it "testUnsafeIndxedFromList abc" (testUnsafeIndxedFromList "abc")
272272 it "testUnsafeIndxedFromList \\22407"
273273 (testUnsafeIndxedFromList "\22407")
test/Streamly/Test/Data/Parser.hs+3−3
@@ -912,9 +912,9 @@ readOneEvent :: P.Parser Word8 IO Event
912912readOneEvent = do
913913 arr <- P.takeEQ 24 (A.writeN 24)
914914 let arr1 = A.castUnsafe arr :: A.Array Word64
915− eid = A.unsafeIndex 0 arr1
916− eflags = A.unsafeIndex 1 arr1
917− pathLen = fromIntegral $ A.unsafeIndex 2 arr1
915+ eid = A.getIndexUnsafe 0 arr1
916+ eflags = A.getIndexUnsafe 1 arr1
917+ pathLen = fromIntegral $ A.getIndexUnsafe 2 arr1
918918 -- XXX handle if pathLen is 0
919919 path <- P.takeEQ pathLen (A.writeN pathLen)
920920 return $ Event
test/Streamly/Test/Data/ParserK.hs+3−3
@@ -722,9 +722,9 @@ readOneEvent :: P.Parser Word8 IO Event
722722readOneEvent = do
723723 arr <- P.takeEQ 24 (A.writeN 24)
724724 let arr1 = A.castUnsafe arr :: A.Array Word64
725− eid = A.unsafeIndex 0 arr1
726− eflags = A.unsafeIndex 1 arr1
727− pathLen = fromIntegral $ A.unsafeIndex 2 arr1
725+ eid = A.getIndexUnsafe 0 arr1
726+ eflags = A.getIndexUnsafe 1 arr1
727+ pathLen = fromIntegral $ A.getIndexUnsafe 2 arr1
728728 path <- P.takeEQ pathLen (A.writeN pathLen)
729729 return $ Event
730730 { eventId = eid