packages feed

hw-simd 0.1.0.2 → 0.1.0.3

raw patch · 3 files changed

+1/−67 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- HaskellWorks.Data.Simd.Internal.ByteString: rechunkAlignedAt :: Int -> [ByteString] -> [ByteString]
- HaskellWorks.Data.Simd.Internal.ByteString: rechunkPaddedAlignedAt :: Int -> [ByteString] -> [ByteString]
- HaskellWorks.Data.Simd.Internal.ByteString: toByteString :: Vector Word64 -> ByteString
- HaskellWorks.Data.Simd.Internal.ByteString.Lazy: toByteString :: [Vector Word64] -> ByteString

Files

hw-simd.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           hw-simd-version:        0.1.0.2+version:        0.1.0.3 synopsis:       SIMD library description:    Please see the README on Github at <https://github.com/haskell-works/hw-simd#readme> category:       Data, Bit, SIMD@@ -89,8 +89,6 @@       HaskellWorks.Data.Simd.Comparison.Stock       HaskellWorks.Data.Simd.Internal.Bits       HaskellWorks.Data.Simd.Internal.Broadword-      HaskellWorks.Data.Simd.Internal.ByteString-      HaskellWorks.Data.Simd.Internal.ByteString.Lazy       HaskellWorks.Data.Simd.Internal.Foreign       HaskellWorks.Data.Simd.Internal.Marshal       HaskellWorks.Data.Simd.Logical
− src/HaskellWorks/Data/Simd/Internal/ByteString.hs
@@ -1,53 +0,0 @@-module HaskellWorks.Data.Simd.Internal.ByteString-  ( toByteString-  , rechunkAlignedAt-  , rechunkPaddedAlignedAt-  ) where--import Data.Monoid ((<>))-import Data.Word--import qualified Data.ByteString          as BS-import qualified Data.ByteString.Internal as BS-import qualified Data.Vector.Storable     as DVS--toByteString :: DVS.Vector Word64 -> BS.ByteString-toByteString v = case DVS.unsafeToForeignPtr (DVS.unsafeCast v) of-  (fptr, vOffset, vLength) -> BS.fromForeignPtr fptr vOffset vLength-{-# INLINE toByteString #-}--rechunkAlignedAt :: Int -> [BS.ByteString] -> [BS.ByteString]-rechunkAlignedAt alignment = go-  where go (bs:bss) = case BS.length bs of-              bsLen -> if bsLen < alignment-                then case alignment - bsLen of-                  bsNeed -> case bss of-                    (cs:css) -> case BS.length cs of-                      csLen | csLen >  bsNeed -> (bs <> BS.take bsNeed cs ):go (BS.drop bsNeed cs:css)-                      csLen | csLen == bsNeed -> (bs <> cs                ):go                    css-                      _     | otherwise       ->                            go ((bs <> cs)       :css)-                    [] -> [bs]-                else case (bsLen `div` alignment) * alignment of-                  bsCroppedLen -> if bsCroppedLen == bsLen-                    then bs:go bss-                    else BS.take bsCroppedLen bs:go (BS.drop bsCroppedLen bs:bss)-        go [] = []-{-# INLINE rechunkAlignedAt #-}--rechunkPaddedAlignedAt :: Int -> [BS.ByteString] -> [BS.ByteString]-rechunkPaddedAlignedAt alignment = go-  where go (bs:bss) = case BS.length bs of-              bsLen -> if bsLen < alignment-                then case alignment - bsLen of-                  bsNeed -> case bss of-                    (cs:css) -> case BS.length cs of-                      csLen | csLen >  bsNeed -> (bs <> BS.take bsNeed cs ):go (BS.drop bsNeed cs:css)-                      csLen | csLen == bsNeed -> (bs <> cs                ):go                    css-                      _     | otherwise       ->                            go ((bs <> cs)       :css)-                    [] -> [bs <> BS.replicate bsNeed 0]-                else case (bsLen `div` alignment) * alignment of-                  bsCroppedLen -> if bsCroppedLen == bsLen-                    then bs:go bss-                    else BS.take bsCroppedLen bs:go (BS.drop bsCroppedLen bs:bss)-        go [] = []-{-# INLINE rechunkPaddedAlignedAt #-}
− src/HaskellWorks/Data/Simd/Internal/ByteString/Lazy.hs
@@ -1,11 +0,0 @@-module HaskellWorks.Data.Simd.Internal.ByteString.Lazy where--import Data.Word--import qualified Data.ByteString.Lazy                       as LBS-import qualified Data.Vector.Storable                       as DVS-import qualified HaskellWorks.Data.Simd.Internal.ByteString as BS--toByteString :: [DVS.Vector Word64] -> LBS.ByteString-toByteString vs = LBS.fromChunks $ BS.toByteString <$> vs-{-# INLINE toByteString #-}