on master help sign in
Rename unsafeSnoc to snocUnsafe
b5b5d9bHarendra Kumar
src/Streamly/Internal/Data/Array/Foreign.hs+2−1
@@ -305,7 +305,8 @@ writeLastN n
305 arr <- liftIO $ MA.newArray n
305 arr <- liftIO $ MA.newArray n
306 foldFunc i rh snoc' arr rb
306 foldFunc i rh snoc' arr rb
307
307
308+ -- XXX We should write a read unfold for ring.
308− snoc' b a = liftIO $ MA.unsafeSnoc b a
309+ snoc' b a = liftIO $ MA.snocUnsafe b a
309
310
310 foldFunc i
311 foldFunc i
311 | i < n = RB.unsafeFoldRingM
312 | i < n = RB.unsafeFoldRingM
src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs+5−5
@@ -41,7 +41,7 @@ module Streamly.Internal.Data.Array.Foreign.Mut.Type
41
41
42 -- * Mutation
42 -- * Mutation
43 , unsafeWriteIndex
43 , unsafeWriteIndex
44− , unsafeSnoc
44+ , snocUnsafe
45 , snoc
45 , snoc
46
46
47 -- * Casting
47 -- * Casting
@@ -328,10 +328,10 @@ unsafeWriteIndex Array {..} i x =
328-- Internal routine for when the array is being created. Appends one item at
328-- Internal routine for when the array is being created. Appends one item at
329-- the end of the array. Useful when sequentially writing a stream to the
329-- the end of the array. Useful when sequentially writing a stream to the
330-- array.
330-- array.
331−{-# INLINE unsafeSnoc #-}
331+{-# INLINE snocUnsafe #-}
332−unsafeSnoc :: forall m a. (MonadIO m, Storable a) => Array a -> a -> m (Array a)
332+snocUnsafe :: forall m a. (MonadIO m, Storable a) => Array a -> a -> m (Array a)
333−unsafeSnoc arr@Array {..} x = liftIO $ do
333+snocUnsafe arr@Array {..} x = liftIO $ do
334− when (aEnd == aBound) $ error "BUG: unsafeSnoc: writing beyond array bounds"
334+ when (aEnd == aBound) $ error "BUG: snocUnsafe: writing beyond array bounds"
335 poke aEnd x
335 poke aEnd x
336 touchForeignPtr aStart
336 touchForeignPtr aStart
337 return $ arr {aEnd = aEnd `plusPtr` sizeOf (undefined :: a)}
337 return $ arr {aEnd = aEnd `plusPtr` sizeOf (undefined :: a)}
src/Streamly/Internal/System/IOVec.hs+3−3
@@ -77,7 +77,7 @@ groupIOVecsOfMut n maxIOVLen (D.Stream step state) =
77 let p = unsafeForeignPtrToPtr (aStart arr)
77 let p = unsafeForeignPtrToPtr (aStart arr)
78 len = MArray.byteLength arr
78 len = MArray.byteLength arr
79 iov <- liftIO $ MArray.newArray maxIOVLen
79 iov <- liftIO $ MArray.newArray maxIOVLen
80− iov' <- liftIO $ MArray.unsafeSnoc iov (IOVec (castPtr p)
80+ iov' <- liftIO $ MArray.snocUnsafe iov (IOVec (castPtr p)
81 (fromIntegral len))
81 (fromIntegral len))
82 if len >= n
82 if len >= n
83 then return $ D.Skip (GatherYielding iov' (GatherInitial s))
83 then return $ D.Skip (GatherYielding iov' (GatherInitial s))
@@ -95,12 +95,12 @@ groupIOVecsOfMut n maxIOVLen (D.Stream step state) =
95 if len' > n || length iov >= maxIOVLen
95 if len' > n || length iov >= maxIOVLen
96 then do
96 then do
97 iov' <- liftIO $ MArray.newArray maxIOVLen
97 iov' <- liftIO $ MArray.newArray maxIOVLen
98− iov'' <- liftIO $ MArray.unsafeSnoc iov' (IOVec (castPtr p)
98+ iov'' <- liftIO $ MArray.snocUnsafe iov' (IOVec (castPtr p)
99 (fromIntegral alen))
99 (fromIntegral alen))
100 return $ D.Skip (GatherYielding iov
100 return $ D.Skip (GatherYielding iov
101 (GatherBuffering s iov'' alen))
101 (GatherBuffering s iov'' alen))
102 else do
102 else do
103− iov' <- liftIO $ MArray.unsafeSnoc iov (IOVec (castPtr p)
103+ iov' <- liftIO $ MArray.snocUnsafe iov (IOVec (castPtr p)
104 (fromIntegral alen))
104 (fromIntegral alen))
105 return $ D.Skip (GatherBuffering s iov' len')
105 return $ D.Skip (GatherBuffering s iov' len')
106 D.Skip s -> return $ D.Skip (GatherBuffering s iov len)
106 D.Skip s -> return $ D.Skip (GatherBuffering s iov len)