Skip to content

Commit 494dd4b

Browse files
committed
Fixed warnings in Data/Vector/Generic/Mutable.hs
- Exported some functions - growFront, unsafeGrowFront, exchange, unsafeExchange - Renamed variables/local definitions to avoid shadowing - Added a type signature to enlarge_delta
1 parent 193d030 commit 494dd4b

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

Data/Vector/Generic/Mutable.hs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,14 @@ module Data.Vector.Generic.Mutable (
3434

3535
-- ** Growing
3636
grow, unsafeGrow,
37+
growFront, unsafeGrowFront,
3738

3839
-- ** Restricting memory usage
3940
clear,
4041

4142
-- * Accessing individual elements
42-
read, write, swap,
43-
unsafeRead, unsafeWrite, unsafeSwap,
43+
read, write, swap, exchange,
44+
unsafeRead, unsafeWrite, unsafeSwap, unsafeExchange,
4445

4546
-- * Modifying vectors
4647

@@ -234,8 +235,8 @@ unsafePrepend1 v i x
234235
unsafeWrite v i' x
235236
return (v, i')
236237
| otherwise = do
237-
(v', i) <- enlargeFront v
238-
let i' = i-1
238+
(v', j) <- enlargeFront v
239+
let i' = j-1
239240
INTERNAL_CHECK(checkIndex) "unsafePrepend1" i' (length v')
240241
$ unsafeWrite v' i' x
241242
return (v', i')
@@ -406,13 +407,13 @@ vmunstreamMax s n
406407
= do
407408
v <- INTERNAL_CHECK(checkLength) "munstreamMax" n
408409
$ unsafeNew n
409-
let {-# INLINE_INNER copy #-}
410-
copy i (Chunk n f) =
411-
INTERNAL_CHECK(checkSlice) "munstreamMax.copy" i n (length v) $ do
412-
f (basicUnsafeSlice i n v)
413-
return (i+n)
410+
let {-# INLINE_INNER copyChunk #-}
411+
copyChunk i (Chunk m f) =
412+
INTERNAL_CHECK(checkSlice) "munstreamMax.copyChunk" i m (length v) $ do
413+
f (basicUnsafeSlice i m v)
414+
return (i+m)
414415

415-
n' <- Stream.foldlM' copy 0 (MBundle.chunks s)
416+
n' <- Stream.foldlM' copyChunk 0 (MBundle.chunks s)
416417
return $ INTERNAL_CHECK(checkSlice) "munstreamMax" 0 n' n
417418
$ unsafeSlice 0 n' v
418419

@@ -422,18 +423,18 @@ vmunstreamUnknown :: (PrimMonad m, V.Vector v a)
422423
vmunstreamUnknown s
423424
= do
424425
v <- unsafeNew 0
425-
(v', n) <- Stream.foldlM copy (v,0) (MBundle.chunks s)
426+
(v', n) <- Stream.foldlM copyChunk (v,0) (MBundle.chunks s)
426427
return $ INTERNAL_CHECK(checkSlice) "munstreamUnknown" 0 n (length v')
427428
$ unsafeSlice 0 n v'
428429
where
429-
{-# INLINE_INNER copy #-}
430-
copy (v,i) (Chunk n f)
430+
{-# INLINE_INNER copyChunk #-}
431+
copyChunk (v,i) (Chunk n f)
431432
= do
432433
let j = i+n
433434
v' <- if basicLength v < j
434435
then unsafeGrow v (delay_inline max (enlarge_delta v) (j - basicLength v))
435436
else return v
436-
INTERNAL_CHECK(checkSlice) "munstreamUnknown.copy" i n (length v')
437+
INTERNAL_CHECK(checkSlice) "munstreamUnknown.copyChunk" i n (length v')
437438
$ f (basicUnsafeSlice i n v')
438439
return (v',j)
439440

@@ -626,6 +627,7 @@ growFront :: (PrimMonad m, MVector v a)
626627
growFront v by = BOUNDS_CHECK(checkLength) "growFront" by
627628
$ unsafeGrowFront v by
628629

630+
enlarge_delta :: MVector v a => v s a -> Int
629631
enlarge_delta v = max (length v) 1
630632

631633
-- | Grow a vector logarithmically

0 commit comments

Comments
 (0)