packages feed

hw-prim 0.0.3.5 → 0.0.3.6

raw patch · 2 files changed

+122/−1 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ HaskellWorks.Data.Vector.VectorLike: instance HaskellWorks.Data.Vector.VectorLike.VectorLike (Data.Vector.Vector GHC.Int.Int16)
+ HaskellWorks.Data.Vector.VectorLike: instance HaskellWorks.Data.Vector.VectorLike.VectorLike (Data.Vector.Vector GHC.Int.Int32)
+ HaskellWorks.Data.Vector.VectorLike: instance HaskellWorks.Data.Vector.VectorLike.VectorLike (Data.Vector.Vector GHC.Int.Int64)
+ HaskellWorks.Data.Vector.VectorLike: instance HaskellWorks.Data.Vector.VectorLike.VectorLike (Data.Vector.Vector GHC.Int.Int8)

Files

hw-prim.cabal view
@@ -1,5 +1,5 @@ name:                   hw-prim-version:                0.0.3.5+version:                0.0.3.6 synopsis:               Primitive functions and data types description:            Please see README.md homepage:               http://github.com/haskell-works/hw-prim#readme
src/HaskellWorks/Data/Vector/VectorLike.hs view
@@ -7,6 +7,7 @@   ) where  import qualified Data.ByteString               as BS+import           Data.Int import qualified Data.Vector                   as DV import qualified Data.Vector.Storable          as DVS import           Data.Word@@ -318,6 +319,126 @@   vIndex v (Position i) = DVS.unsafeIndex v (fromIntegral i)   vSlice (Position i) (Position j) = DVS.unsafeSlice (fromIntegral i) (fromIntegral j)   vUncons s = if DVS.length s == 0 then Nothing else Just (s !!! 0, vDrop 1 s)+  {-# INLINE (!!!)     #-}+  {-# INLINE vConcat   #-}+  {-# INLINE vEmpty    #-}+  {-# INLINE vFilter   #-}+  {-# INLINE vGenerate #-}+  {-# INLINE vLength   #-}+  {-# INLINE vEnd      #-}+  {-# INLINE vSnoc     #-}+  {-# INLINE vDrop     #-}+  {-# INLINE vTake     #-}+  {-# INLINE vIndex    #-}+  {-# INLINE vSlice    #-}+  {-# INLINE vUncons   #-}++instance VectorLike (DV.Vector Int8) where+  type Elem (DV.Vector Int8) = Int8++  (!!!) v (Position i) = v DV.! fromIntegral i+  vConcat = DV.concat+  vEmpty = DV.empty+  vFilter = DV.filter+  vGenerate = DV.generate+  vLength = Count . fromIntegral . DV.length+  vEnd = Position . fromIntegral . DV.length+  vSnoc = DV.snoc+  vDrop = DV.drop . fromIntegral+  vTake = DV.take . fromIntegral+  vIndex v (Position i) = DV.unsafeIndex v (fromIntegral i)+  vSlice (Position i) (Position j) = DV.unsafeSlice (fromIntegral i) (fromIntegral j)+  vUncons s = if DV.length s == 0 then Nothing else Just (s !!! 0, vDrop 1 s)+  {-# INLINE (!!!)     #-}+  {-# INLINE vConcat   #-}+  {-# INLINE vEmpty    #-}+  {-# INLINE vFilter   #-}+  {-# INLINE vGenerate #-}+  {-# INLINE vLength   #-}+  {-# INLINE vEnd      #-}+  {-# INLINE vSnoc     #-}+  {-# INLINE vDrop     #-}+  {-# INLINE vTake     #-}+  {-# INLINE vIndex    #-}+  {-# INLINE vSlice    #-}+  {-# INLINE vUncons   #-}++instance VectorLike (DV.Vector Int16) where+  type Elem (DV.Vector Int16) = Int16++  (!!!) v (Position i) = v DV.! fromIntegral i+  vConcat = DV.concat+  vEmpty = DV.empty+  vFilter = DV.filter+  vGenerate = DV.generate+  vLength = Count . fromIntegral . DV.length+  vEnd = Position . fromIntegral . DV.length+  vSnoc = DV.snoc+  vDrop = DV.drop . fromIntegral+  vTake = DV.take . fromIntegral+  vIndex v (Position i) = DV.unsafeIndex v (fromIntegral i)+  vSlice (Position i) (Position j) = DV.unsafeSlice (fromIntegral i) (fromIntegral j)+  vUncons s = if DV.length s == 0 then Nothing else Just (s !!! 0, vDrop 1 s)+  {-# INLINE (!!!)     #-}+  {-# INLINE vConcat   #-}+  {-# INLINE vEmpty    #-}+  {-# INLINE vFilter   #-}+  {-# INLINE vGenerate #-}+  {-# INLINE vLength   #-}+  {-# INLINE vEnd      #-}+  {-# INLINE vSnoc     #-}+  {-# INLINE vDrop     #-}+  {-# INLINE vTake     #-}+  {-# INLINE vIndex    #-}+  {-# INLINE vSlice    #-}+  {-# INLINE vUncons   #-}++instance VectorLike (DV.Vector Int32) where+  type Elem (DV.Vector Int32) = Int32++  (!!!) v (Position i) = v DV.! fromIntegral i+  vConcat = DV.concat+  vEmpty = DV.empty+  vFilter = DV.filter+  vGenerate = DV.generate+  vLength = Count . fromIntegral . DV.length+  vEnd = Position . fromIntegral . DV.length+  vSnoc = DV.snoc+  vDrop = DV.drop . fromIntegral+  vTake = DV.take . fromIntegral+  vIndex v (Position i) = DV.unsafeIndex v (fromIntegral i)+  vSlice (Position i) (Position j) = DV.unsafeSlice (fromIntegral i) (fromIntegral j)+  vUncons s = if DV.length s == 0 then Nothing else Just (s !!! 0, vDrop 1 s)+  {-# INLINE (!!!)     #-}+  {-# INLINE vConcat   #-}+  {-# INLINE vEmpty    #-}+  {-# INLINE vFilter   #-}+  {-# INLINE vGenerate #-}+  {-# INLINE vLength   #-}+  {-# INLINE vEnd      #-}+  {-# INLINE vSnoc     #-}+  {-# INLINE vDrop     #-}+  {-# INLINE vTake     #-}+  {-# INLINE vIndex    #-}+  {-# INLINE vSlice    #-}+  {-# INLINE vUncons   #-}++instance VectorLike (DV.Vector Int64) where+  type Elem (DV.Vector Int64) = Int64++  (!!!) v (Position i) = v DV.! fromIntegral i+  vConcat = DV.concat+  vEmpty = DV.empty+  vFilter = DV.filter+  vGenerate = DV.generate+  vLength = Count . fromIntegral . DV.length+  vEnd = Position . fromIntegral . DV.length+  vSnoc = DV.snoc+  vDrop = DV.drop . fromIntegral+  vTake = DV.take . fromIntegral+  vIndex v (Position i) = DV.unsafeIndex v (fromIntegral i)+  vSlice (Position i) (Position j) = DV.unsafeSlice (fromIntegral i) (fromIntegral j)+  vUncons s = if DV.length s == 0 then Nothing else Just (s !!! 0, vDrop 1 s)   {-# INLINE (!!!)     #-}   {-# INLINE vConcat   #-}   {-# INLINE vEmpty    #-}