packages feed

dynamic-mvector 0.1.0.3 → 0.1.0.4

raw patch · 2 files changed

+16/−12 lines, 2 filesdep ~vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: vector

API changes (from Hackage documentation)

Files

Data/Vector/Mutable/Dynamic.hs view
@@ -269,25 +269,29 @@ -- | Read the back value and remove it from the vector. Throws an error if the vector is empty.  popBack :: PrimMonad m => MVector (PrimState m) a -> m a  popBack (MVector v) = do-    MVectorData s v' <- readMutVar v+    MVectorData s vec <- readMutVar v     if (s <= 0) then         error "Data.Vector.Mutable.Dynamic: popBack: empty vector"     else do -        a <- MV.unsafeRead v' (s - 1)-        when (s < quot (MV.length v') 2) $ do -            v'' <- MV.unsafeGrow v' (s - 1)-            writeMutVar v (MVectorData (s - 1) v'')+        a <- MV.unsafeRead vec (s - 1)+        if (s < quot (MV.length vec) 2) then do+            vec' <- MV.unsafeGrow vec (s - 1)+            writeMutVar v (MVectorData (s - 1) vec')+        else+            writeMutVar v (MVectorData (s - 1) vec)         return a  {-# INLINABLE popBack #-}  -- | Read the back value and remove it from the vector, without checking. unsafePopBack :: PrimMonad m => MVector (PrimState m) a -> m a  unsafePopBack (MVector v) = do-    MVectorData s v' <- readMutVar v-    a <- MV.unsafeRead v' (s - 1)-    when (s < quot (MV.length v') 2) $ do -        v'' <- MV.unsafeGrow v' (s - 1)-        writeMutVar v (MVectorData (s - 1) v'')+    MVectorData s vec <- readMutVar v+    a <- MV.unsafeRead vec (s - 1)+    if (s < quot (MV.length vec) 2) then do +        vec' <- MV.unsafeGrow vec (s - 1)+        writeMutVar v (MVectorData (s - 1) vec')+    else+        writeMutVar v (MVectorData (s - 1) vec)             return a  {-# INLINABLE unsafePopBack #-} 
dynamic-mvector.cabal view
@@ -1,6 +1,6 @@  name:                dynamic-mvector-version:             0.1.0.3+version:             0.1.0.4 synopsis:            A wrapper around MVector that enables pushing, popping and extending.      homepage:            https://github.com/AndrasKovacs/dynamic-mvector license:             BSD3@@ -13,5 +13,5 @@  library   exposed-modules:     Data.Vector.Mutable.Dynamic-  build-depends:       base >=4.7 && <4.9, primitive >=0.5 && <0.7, vector >=0.10 && <0.11+  build-depends:       base >=4.7 && <4.9, primitive >=0.5 && <0.7, vector >=0.10   default-language:    Haskell2010