packages feed

hw-simd 0.1.1.0 → 0.1.1.1

raw patch · 3 files changed

+9/−8 lines, 3 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ HaskellWorks.Data.Simd.Comparison.Avx2: instance HaskellWorks.Data.Simd.Comparison.Avx2.CmpEqWord8s HaskellWorks.Data.Simd.Internal.ChunkString.ChunkString

Files

hw-simd.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           hw-simd-version:        0.1.1.0+version:        0.1.1.1 synopsis:       SIMD library description:    Please see the README on Github at <https://github.com/haskell-works/hw-simd#readme> category:       Data, Bit, SIMD
src/HaskellWorks/Data/Simd/Comparison/Avx2.hs view
@@ -14,6 +14,7 @@ import qualified Foreign.Marshal.Unsafe                  as F import qualified Foreign.Ptr                             as F import qualified HaskellWorks.Data.ByteString            as BS+import qualified HaskellWorks.Data.Simd.ChunkString      as CS import qualified HaskellWorks.Data.Simd.Internal.Foreign as F import qualified HaskellWorks.Data.Vector.AsVector8      as V import qualified HaskellWorks.Data.Vector.Storable       as DVS@@ -35,7 +36,7 @@           let ending = DVS.padded ((DVS.length v + 63) `div` 64)  (DVS.drop alignment v)           let (endFptr, _, _) = DVS.unsafeToForeignPtr ending           F.withForeignPtr endFptr $ \endPtr -> do-            void $ F.avx2Cmpeq8 (fromIntegral w8) (tgtPtr `F.plusPtr` (w64sLen * 64)) (fromIntegral w64sLen) (F.castPtr endPtr)+            void $ F.avx2Cmpeq8 (fromIntegral w8) (tgtPtr `F.plusPtr` (w64sLen * 8)) (fromIntegral disalignment) (F.castPtr endPtr)          return $ DVS.unsafeFromForeignPtr tgtFptr 0 tgtLen     where (srcFptr, srcOffset, srcLen) = DVS.unsafeToForeignPtr v@@ -81,7 +82,9 @@   cmpEqWord8s w8 vs = BS.toByteString . cmpEqWord8s w8 . V.asVector8 <$> vs   {-# INLINE cmpEqWord8s #-} --- instance CmpEqWord8s CS.ChunkString where---   type Target CS.ChunkString = CS.ChunkString---   cmpEqWord8s w8 = CS.toChunkString . cmpEqWord8s w8 . BS.toByteStrings---   {-# INLINE cmpEqWord8s #-}+instance CmpEqWord8s CS.ChunkString where+  type Target CS.ChunkString = CS.ChunkString+  cmpEqWord8s w8 = CS.toChunkString . cmpEqWord8s w8 . BS.toByteStrings+  {-# INLINE cmpEqWord8s #-}++
src/HaskellWorks/Data/Simd/Internal/ChunkString.hs view
@@ -4,8 +4,6 @@ module HaskellWorks.Data.Simd.Internal.ChunkString where  import Data.Word-import HaskellWorks.Data.AtIndex-import HaskellWorks.Data.Bits.BitWise import HaskellWorks.Data.ByteString import HaskellWorks.Data.ByteString.Lazy