packages feed

contiguous 0.3.1.0 → 0.3.2.0

raw patch · 2 files changed

+15/−4 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Data.Primitive.Contiguous: thaw :: (Contiguous arr, PrimMonad m, Element arr b) => arr b -> Int -> Int -> m (Mutable arr (PrimState m) b)
- Data.Primitive.Contiguous: traverseP :: (PrimMonad m, Contiguous arr, Element arr a, Element arr b) => (a -> m b) -> arr a -> m (arr b)
+ Data.Primitive.Contiguous: traverseP :: (PrimMonad m, Contiguous arr1, Contiguous arr2, Element arr1 a, Element arr2 b) => (a -> m b) -> arr1 a -> m (arr2 b)

Files

contiguous.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.0 name: contiguous-version: 0.3.1.0+version: 0.3.2.0 homepage: https://github.com/andrewthad/contiguous bug-reports: https://github.com/andrewthad/contiguous/issues author: Andrew Martin
src/Data/Primitive/Contiguous.hs view
@@ -67,6 +67,7 @@   size :: Element arr b => arr b -> Int   sizeMutable :: (PrimMonad m, Element arr b) => Mutable arr (PrimState m) b -> m Int   unsafeFreeze :: PrimMonad m => Mutable arr (PrimState m) b -> m (arr b)+  thaw :: (PrimMonad m, Element arr b) => arr b -> Int -> Int -> m (Mutable arr (PrimState m) b)   copy :: (PrimMonad m, Element arr b) => Mutable arr (PrimState m) b -> Int -> arr b -> Int -> Int -> m ()   copyMutable :: (PrimMonad m, Element arr b) => Mutable arr (PrimState m) b -> Int -> Mutable arr (PrimState m) b -> Int -> Int -> m ()   clone :: Element arr b => arr b -> Int -> Int -> arr b@@ -95,6 +96,7 @@   size = sizeofPrimArray   sizeMutable = getSizeofMutablePrimArray   unsafeFreeze = unsafeFreezePrimArray+  thaw = thawPrimArray   copy = copyPrimArray   copyMutable = copyMutablePrimArray   clone = clonePrimArray@@ -138,6 +140,7 @@   size = sizeofArray   sizeMutable = pure . sizeofMutableArray   unsafeFreeze = unsafeFreezeArray+  thaw = thawArray   copy = copyArray   copyMutable = copyMutableArray   clone = cloneArray@@ -183,6 +186,7 @@   size = sizeofUnliftedArray   sizeMutable = pure . sizeofMutableUnliftedArray   unsafeFreeze = unsafeFreezeUnliftedArray+  thaw = thawUnliftedArray   copy = copyUnliftedArray   copyMutable = copyMutableUnliftedArray   clone = cloneUnliftedArray@@ -356,6 +360,13 @@       | otherwise = return acc1 {-# INLINABLE foldlM' #-} +thawPrimArray :: (PrimMonad m, Prim a) => PrimArray a -> Int -> Int -> m (MutablePrimArray (PrimState m) a)+thawPrimArray !arr !off !len = do+  marr <- newPrimArray len+  copyPrimArray marr 0 arr off len+  return marr+{-# INLINE thawPrimArray #-}+ clonePrimArray :: Prim a => PrimArray a -> Int -> Int -> PrimArray a clonePrimArray !arr !off !len = runST $ do   marr <- newPrimArray len@@ -446,10 +457,10 @@           go (i + 1)   go 0 -traverseP :: (PrimMonad m, Contiguous arr, Element arr a, Element arr b)+traverseP :: (PrimMonad m, Contiguous arr1, Contiguous arr2, Element arr1 a, Element arr2 b)   => (a -> m b)-  -> arr a-  -> m (arr b)+  -> arr1 a+  -> m (arr2 b) traverseP f = \ !ary ->   let     !sz = size ary