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 +1/−1
- library/PrimitiveExtras/Prelude.hs +5/−0
- library/PrimitiveExtras/PrimMultiArray.hs +0/−2
- library/PrimitiveExtras/TVarArray.hs +0/−33
- library/PrimitiveExtras/Types.hs +0/−2
- library/PrimitiveExtras/UnliftedArray.hs +1/−2
- primitive-extras.cabal +8/−8
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