primitive-extras 0.1.8 → 0.1.9
raw patch · 3 files changed
+12/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ PrimitiveExtras.Unfold: primMultiArrayAssocs :: Prim a => PrimMultiArray a -> Unfold (Int, a)
+ PrimitiveExtras.UnfoldM: primMultiArrayAssocs :: (Monad m, Prim a) => PrimMultiArray a -> UnfoldM m (Int, a)
Files
- library/PrimitiveExtras/Unfold.hs +4/−0
- library/PrimitiveExtras/UnfoldM.hs +7/−0
- primitive-extras.cabal +1/−1
library/PrimitiveExtras/Unfold.hs view
@@ -6,7 +6,11 @@ import DeferredFolds.Unfold import qualified PrimitiveExtras.Fold as A import qualified PrimitiveExtras.UnliftedArray as B+import qualified PrimitiveExtras.UnfoldM as C ++primMultiArrayAssocs :: Prim a => PrimMultiArray a -> Unfold (Int, a)+primMultiArrayAssocs = unfoldM . C.primMultiArrayAssocs primMultiArrayIndices :: PrimMultiArray a -> Unfold Int primMultiArrayIndices (PrimMultiArray ua) =
library/PrimitiveExtras/UnfoldM.hs view
@@ -8,6 +8,13 @@ import qualified PrimitiveExtras.UnliftedArray as B +primMultiArrayAssocs :: (Monad m, Prim a) => PrimMultiArray a -> UnfoldM m (Int, a)+primMultiArrayAssocs pma =+ do+ index <- primMultiArrayIndices pma+ element <- primMultiArrayAt pma index+ return (index, element)+ primMultiArrayIndices :: Monad m => PrimMultiArray a -> UnfoldM m Int primMultiArrayIndices (PrimMultiArray ua) = intsInRange 0 (pred (sizeofUnliftedArray ua))
primitive-extras.cabal view
@@ -1,7 +1,7 @@ name: primitive-extras version:- 0.1.8+ 0.1.9 category: Primitive synopsis: