packages feed

hw-simd 0.1.0.0 → 0.1.0.2

raw patch · 4 files changed

+36/−3 lines, 4 filesdep ~criterionPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: criterion

API changes (from Hackage documentation)

+ HaskellWorks.Data.Simd.Comparison: instance HaskellWorks.Data.Simd.Comparison.CmpEqWord8s (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Simd.Comparison: instance HaskellWorks.Data.Simd.Comparison.CmpEqWord8s [Data.Vector.Storable.Vector GHC.Word.Word64]
+ HaskellWorks.Data.Simd.Comparison: instance HaskellWorks.Data.Simd.Comparison.CmpEqWord8s [Data.Vector.Storable.Vector GHC.Word.Word8]
+ HaskellWorks.Data.Simd.Comparison.Avx2: instance HaskellWorks.Data.Simd.Comparison.Avx2.CmpEqWord8s (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Simd.Comparison.Avx2: instance HaskellWorks.Data.Simd.Comparison.Avx2.CmpEqWord8s [Data.Vector.Storable.Vector GHC.Word.Word8]
+ HaskellWorks.Data.Simd.Comparison.Stock: instance HaskellWorks.Data.Simd.Comparison.Stock.CmpEqWord8s (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Simd.Comparison.Stock: instance HaskellWorks.Data.Simd.Comparison.Stock.CmpEqWord8s [Data.Vector.Storable.Vector GHC.Word.Word8]

Files

hw-simd.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           hw-simd-version:        0.1.0.0+version:        0.1.0.2 synopsis:       SIMD library description:    Please see the README on Github at <https://github.com/haskell-works/hw-simd#readme> category:       Data, Bit, SIMD@@ -166,7 +166,7 @@     , vector                >= 0.12.0.1 && < 0.13     , cassava               >= 0.5.1.0    && < 0.6     , containers-    , criterion             >= 1.4.1.0    && < 1.5+    , criterion             >= 1.4.1.0    && < 1.6     , directory             >= 1.3.1.5    && < 1.4     , hw-simd     , mmap                  >= 0.5.9      && < 0.6
src/HaskellWorks/Data/Simd/Comparison.hs view
@@ -17,6 +17,24 @@  instance CmpEqWord8s (DVS.Vector Word64) where   cmpEqWord8s w bs = if-    | avx2Enabled -> AVX2.cmpEqWord8s w bs+    | avx2Enabled -> AVX2.cmpEqWord8s  w bs+    | True        -> STOCK.cmpEqWord8s w bs+  {-# INLINE cmpEqWord8s #-}++instance CmpEqWord8s (DVS.Vector Word8) where+  cmpEqWord8s w bs = if+    | avx2Enabled -> AVX2.cmpEqWord8s  w bs+    | True        -> STOCK.cmpEqWord8s w bs+  {-# INLINE cmpEqWord8s #-}++instance CmpEqWord8s [DVS.Vector Word64] where+  cmpEqWord8s w bs = if+    | avx2Enabled -> AVX2.cmpEqWord8s  w bs+    | True        -> STOCK.cmpEqWord8s w bs+  {-# INLINE cmpEqWord8s #-}++instance CmpEqWord8s [DVS.Vector Word8] where+  cmpEqWord8s w bs = if+    | avx2Enabled -> AVX2.cmpEqWord8s  w bs     | True        -> STOCK.cmpEqWord8s w bs   {-# INLINE cmpEqWord8s #-}
src/HaskellWorks/Data/Simd/Comparison/Avx2.hs view
@@ -17,6 +17,9 @@ class CmpEqWord8s a where   cmpEqWord8s :: Word8 -> a -> a +instance CmpEqWord8s (DVS.Vector Word8) where+  cmpEqWord8s w8 v = DVS.unsafeCast (cmpEqWord8s w8 (DVS.unsafeCast v :: DVS.Vector Word64))+ instance CmpEqWord8s (DVS.Vector Word64) where   cmpEqWord8s w8 v = case DVS.unsafeCast v :: DVS.Vector Word8 of     u -> case DVS.unsafeToForeignPtr u of@@ -37,5 +40,9 @@   {-# INLINE cmpEqWord8s #-}  instance CmpEqWord8s [DVS.Vector Word64] where+  cmpEqWord8s w8 vs = cmpEqWord8s w8 <$> vs+  {-# INLINE cmpEqWord8s #-}++instance CmpEqWord8s [DVS.Vector Word8] where   cmpEqWord8s w8 vs = cmpEqWord8s w8 <$> vs   {-# INLINE cmpEqWord8s #-}
src/HaskellWorks/Data/Simd/Comparison/Stock.hs view
@@ -15,6 +15,9 @@ class CmpEqWord8s a where   cmpEqWord8s :: Word8 -> a -> a +instance CmpEqWord8s (DVS.Vector Word8) where+  cmpEqWord8s w8 v = DVS.unsafeCast (cmpEqWord8s w8 (DVS.unsafeCast v :: DVS.Vector Word64))+ instance CmpEqWord8s (DVS.Vector Word64) where   cmpEqWord8s w8 v = DVS.constructN ((DVS.length v + 7) `div` 8) go     where iw = fillWord64 w8@@ -62,3 +65,8 @@ instance CmpEqWord8s [DVS.Vector Word64] where   cmpEqWord8s w8 vs = cmpEqWord8s w8 <$> vs   {-# INLINE cmpEqWord8s #-}++instance CmpEqWord8s [DVS.Vector Word8] where+  cmpEqWord8s w8 vs = cmpEqWord8s w8 <$> vs+  {-# INLINE cmpEqWord8s #-}+