packages feed

primitive-extras 0.7.1.1 → 0.8

raw patch · 7 files changed

+15/−48 lines, 7 filesdep +primitive-unlifteddep ~QuickCheckdep ~primitivedep ~quickcheck-instancesPVP ok

version bump matches the API change (PVP)

Dependencies added: primitive-unlifted

Dependency ranges changed: QuickCheck, primitive, quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck

API changes (from Hackage documentation)

- PrimitiveExtras.PrimMultiArray: instance (GHC.Classes.Ord a, Data.Primitive.Types.Prim a) => GHC.Classes.Ord (PrimitiveExtras.Types.PrimMultiArray a)
- PrimitiveExtras.TVarArray: data TVarArray a
- PrimitiveExtras.TVarArray: freezeAsPrimArray :: Prim a => TVarArray a -> IO (PrimArray a)
- PrimitiveExtras.TVarArray: modifyAt :: TVarArray a -> Int -> (a -> a) -> IO ()
- PrimitiveExtras.TVarArray: new :: a -> Int -> IO (TVarArray a)

Files

library/PrimitiveExtras/Folds.hs view
@@ -73,7 +73,7 @@           UA.generate outerLength $ \ index -> do             newPrimArray (fromIntegral (indexPrimArray sizeArray index))     step (Product2 indexArray multiArray) (outerIndex, element) = do-      innerArray <- indexUnliftedArrayM multiArray outerIndex+      let innerArray = indexUnliftedArray multiArray outerIndex        innerIndex <- readPrimArray indexArray outerIndex       writePrimArray indexArray outerIndex (succ innerIndex)       writePrimArray innerArray (fromIntegral innerIndex) element
library/PrimitiveExtras/Prelude.hs view
@@ -93,6 +93,11 @@ import Data.Primitive as Exports import Control.Monad.Primitive as Exports +-- primitive-unlifted+-------------------------+import Data.Primitive.Unlifted.Array as Exports+import Data.Primitive.Unlifted.Class as Exports+ -- focus ------------------------- import Focus as Exports (Focus(..))
library/PrimitiveExtras/PrimMultiArray.hs view
@@ -30,8 +30,6 @@  deriving instance (Eq a, Prim a) => Eq (PrimMultiArray a) -deriving instance (Ord a, Prim a) => Ord (PrimMultiArray a)- instance (Show a, Prim a) => Show (PrimMultiArray a) where   show (PrimMultiArray outerArray) =     unliftedArrayToList outerArray &
− library/PrimitiveExtras/TVarArray.hs
@@ -1,33 +0,0 @@-module PrimitiveExtras.TVarArray-(-  TVarArray,-  new,-  freezeAsPrimArray,-  modifyAt,-)-where--import PrimitiveExtras.Prelude-import PrimitiveExtras.Types-import qualified PrimitiveExtras.UnliftedArray as UnliftedArray---new :: a -> Int -> IO (TVarArray a)-new a size = TVarArray <$> UnliftedArray.replicateIO size (newTVarIO a)--freezeAsPrimArray :: Prim a => TVarArray a -> IO (PrimArray a)-freezeAsPrimArray (TVarArray varArray) =-  do-    let size = sizeofUnliftedArray varArray-    mpa <- newPrimArray size-    forMFromZero_ size $ \ index -> do-      var <- indexUnliftedArrayM varArray index-      value <- atomically (readTVar var)-      writePrimArray mpa index value-    unsafeFreezePrimArray mpa--modifyAt :: TVarArray a -> Int -> (a -> a) -> IO ()-modifyAt (TVarArray array) index fn =-  do-    var <- indexUnliftedArrayM array index-    atomically $ modifyTVar' var fn
library/PrimitiveExtras/Types.hs view
@@ -6,8 +6,6 @@  newtype PrimMultiArray a = PrimMultiArray (UnliftedArray (PrimArray a)) -newtype TVarArray a = TVarArray (UnliftedArray (TVar a))- {-| An immutable space-efficient sparse array,  which can only store not more than 32 or 64 elements depending on the system architecure.
library/PrimitiveExtras/UnliftedArray.hs view
@@ -47,8 +47,7 @@     size = sizeofUnliftedArray array     iterate index = if index < size       then do-        element <- indexUnliftedArrayM array index-        action element+        action (indexUnliftedArray array index)         iterate (succ index)       else return ()     in iterate 0
primitive-extras.cabal view
@@ -1,5 +1,5 @@ name: primitive-extras-version: 0.7.1.1+version: 0.8 category: Primitive synopsis: Extras for the "primitive" library homepage: https://github.com/metrix-ai/primitive-extras@@ -24,7 +24,6 @@     PrimitiveExtras.Bitmap     PrimitiveExtras.SmallArray     PrimitiveExtras.SparseSmallArray-    PrimitiveExtras.TVarArray     PrimitiveExtras.PrimArray     PrimitiveExtras.UnliftedArray     PrimitiveExtras.PrimMultiArray@@ -41,7 +40,8 @@     focus >=1 && <1.1,     foldl >=1 && <2,     list-t >=1.0.1 && <1.1,-    primitive >=0.6.4 && <0.8,+    primitive >=0.7 && <0.8,+    primitive-unlifted >=0.1.1.0 && <0.2,     profunctors >=5 && <6,     vector >=0.12 && <0.13 @@ -60,9 +60,9 @@     focus,     primitive,     primitive-extras,-    QuickCheck >=2.8.1 && <3,-    quickcheck-instances >=0.3.11 && <0.4,+    QuickCheck >=2.13.1 && <3,+    quickcheck-instances >=0.3.21 && <0.4,     rerebase <2,-    tasty >=0.12 && <2,-    tasty-hunit >=0.9 && <0.11,-    tasty-quickcheck >=0.9 && <0.11+    tasty >=1.2.2 && <2,+    tasty-hunit >=0.10.0.2 && <0.11,+    tasty-quickcheck >=0.10.1 && <0.11