packages feed

hw-prim 0.6.2.23 → 0.6.2.24

raw patch · 2 files changed

+145/−51 lines, 2 filesdep +ghc-primdep ~QuickCheckdep ~hedgehogdep ~hspecPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependencies added: ghc-prim

Dependency ranges changed: QuickCheck, hedgehog, hspec

API changes (from Hackage documentation)

+ HaskellWorks.Data.Branchless: geWord16 :: Word16 -> Word16 -> Word16
+ HaskellWorks.Data.Branchless: geWord32 :: Word32 -> Word32 -> Word32
+ HaskellWorks.Data.Branchless: geWord64 :: Word64 -> Word64 -> Word64
+ HaskellWorks.Data.Branchless: geWord8 :: Word8 -> Word8 -> Word8
+ HaskellWorks.Data.Branchless: gtWord16 :: Word16 -> Word16 -> Word16
+ HaskellWorks.Data.Branchless: gtWord32 :: Word32 -> Word32 -> Word32
+ HaskellWorks.Data.Branchless: gtWord64 :: Word64 -> Word64 -> Word64
+ HaskellWorks.Data.Branchless: gtWord8 :: Word8 -> Word8 -> Word8
+ HaskellWorks.Data.Branchless: leWord16 :: Word16 -> Word16 -> Word16
+ HaskellWorks.Data.Branchless: leWord32 :: Word32 -> Word32 -> Word32
+ HaskellWorks.Data.Branchless: leWord64 :: Word64 -> Word64 -> Word64
+ HaskellWorks.Data.Branchless: leWord8 :: Word8 -> Word8 -> Word8
+ HaskellWorks.Data.Branchless: ltWord16 :: Word16 -> Word16 -> Word16
+ HaskellWorks.Data.Branchless: ltWord32 :: Word32 -> Word32 -> Word32
+ HaskellWorks.Data.Branchless: ltWord64 :: Word64 -> Word64 -> Word64
+ HaskellWorks.Data.Branchless: ltWord8 :: Word8 -> Word8 -> Word8

Files

hw-prim.cabal view
@@ -1,7 +1,7 @@ cabal-version:  2.2  name:           hw-prim-version:        0.6.2.23+version:        0.6.2.24 synopsis:       Primitive functions and data types description:    Primitive functions and data types. category:       Data@@ -10,10 +10,10 @@ bug-reports:    https://github.com/haskell-works/hw-prim/issues author:         John Ky maintainer:     newhoggy@gmail.com-copyright:      2016-2018 John Ky+copyright:      2016-2019 John Ky license:        BSD-3-Clause license-file:   LICENSE-tested-with:    GHC == 8.6.3, GHC == 8.4.4, GHC == 8.2.2, GHC == 8.0.2+tested-with:    GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2 build-type:     Simple extra-source-files:     README.md@@ -34,11 +34,12 @@ common criterion            { build-depends: criterion            >= 1.2        && < 1.6    } common directory            { build-depends: directory            >= 1.2        && < 1.4    } common exceptions           { build-depends: exceptions           >= 0.8        && < 0.11   }-common hedgehog             { build-depends: hedgehog             >= 0.5        && < 0.7    }+common ghc-prim             { build-depends: ghc-prim                                       }+common hedgehog             { build-depends: hedgehog             >= 0.5        && < 1.1    } common hspec                { build-depends: hspec                >= 2.4        && < 2.6    } common hw-hspec-hedgehog    { build-depends: hw-hspec-hedgehog    >= 0.1        && < 0.2    } common mmap                 { build-depends: mmap                 >= 0.5        && < 0.6    }-common semigroups           { build-depends: semigroups           >= 0.8.4      && < 0.19   }+common semigroups           { build-depends: semigroups           >= 0.8.4      && < 0.20   } common transformers         { build-depends: transformers         >= 0.4        && < 0.6    } common vector               { build-depends: vector               >= 0.12       && < 0.13   } @@ -52,47 +53,49 @@   import:   base           , common           , bytestring+          , ghc-prim           , mmap           , semigroups           , transformers           , vector   exposed-modules:-      HaskellWorks.Data.AtIndex-      HaskellWorks.Data.ByteString-      HaskellWorks.Data.ByteString.Builder-      HaskellWorks.Data.ByteString.Lazy-      HaskellWorks.Data.Char-      HaskellWorks.Data.Char.IsChar-      HaskellWorks.Data.Concat-      HaskellWorks.Data.Container-      HaskellWorks.Data.Decode-      HaskellWorks.Data.Drop-      HaskellWorks.Data.Empty-      HaskellWorks.Data.Filter-      HaskellWorks.Data.FromByteString-      HaskellWorks.Data.FromForeignRegion-      HaskellWorks.Data.Generate-      HaskellWorks.Data.Head-      HaskellWorks.Data.Length-      HaskellWorks.Data.Naive-      HaskellWorks.Data.Positioning-      HaskellWorks.Data.Product-      HaskellWorks.Data.Search-      HaskellWorks.Data.Sign-      HaskellWorks.Data.Snoc-      HaskellWorks.Data.Take-      HaskellWorks.Data.TreeCursor-      HaskellWorks.Data.Uncons-      HaskellWorks.Data.Unsign-      HaskellWorks.Data.Vector.AsVector64-      HaskellWorks.Data.Vector.AsVector64ns-      HaskellWorks.Data.Vector.AsVector64s-      HaskellWorks.Data.Vector.AsVector8-      HaskellWorks.Data.Vector.AsVector8ns-      HaskellWorks.Data.Vector.AsVector8s-      HaskellWorks.Data.Vector.BoxedVectorLike-      HaskellWorks.Data.Vector.Storable-      HaskellWorks.Data.Vector.StorableVectorLike+    HaskellWorks.Data.AtIndex+    HaskellWorks.Data.Branchless+    HaskellWorks.Data.ByteString+    HaskellWorks.Data.ByteString.Builder+    HaskellWorks.Data.ByteString.Lazy+    HaskellWorks.Data.Char+    HaskellWorks.Data.Char.IsChar+    HaskellWorks.Data.Concat+    HaskellWorks.Data.Container+    HaskellWorks.Data.Decode+    HaskellWorks.Data.Drop+    HaskellWorks.Data.Empty+    HaskellWorks.Data.Filter+    HaskellWorks.Data.FromByteString+    HaskellWorks.Data.FromForeignRegion+    HaskellWorks.Data.Generate+    HaskellWorks.Data.Head+    HaskellWorks.Data.Length+    HaskellWorks.Data.Naive+    HaskellWorks.Data.Positioning+    HaskellWorks.Data.Product+    HaskellWorks.Data.Search+    HaskellWorks.Data.Sign+    HaskellWorks.Data.Snoc+    HaskellWorks.Data.Take+    HaskellWorks.Data.TreeCursor+    HaskellWorks.Data.Uncons+    HaskellWorks.Data.Unsign+    HaskellWorks.Data.Vector.AsVector64+    HaskellWorks.Data.Vector.AsVector64ns+    HaskellWorks.Data.Vector.AsVector64s+    HaskellWorks.Data.Vector.AsVector8+    HaskellWorks.Data.Vector.AsVector8ns+    HaskellWorks.Data.Vector.AsVector8s+    HaskellWorks.Data.Vector.BoxedVectorLike+    HaskellWorks.Data.Vector.Storable+    HaskellWorks.Data.Vector.StorableVectorLike   other-modules:      Paths_hw_prim   autogen-modules:    Paths_hw_prim   hs-source-dirs:     src@@ -115,16 +118,16 @@   type: exitcode-stdio-1.0   main-is: Spec.hs   other-modules:-      HaskellWorks.Data.ByteStringSpec-      HaskellWorks.Data.FromByteStringSpec-      HaskellWorks.Data.FromForeignRegionSpec-      HaskellWorks.Data.SearchSpec-      HaskellWorks.Data.Vector.AsVector64nsSpec-      HaskellWorks.Data.Vector.AsVector64sSpec-      HaskellWorks.Data.Vector.AsVector8nsSpec-      HaskellWorks.Data.Vector.AsVector8sSpec-      HaskellWorks.Data.Vector.StorableSpec-      Paths_hw_prim+    HaskellWorks.Data.ByteStringSpec+    HaskellWorks.Data.FromByteStringSpec+    HaskellWorks.Data.FromForeignRegionSpec+    HaskellWorks.Data.SearchSpec+    HaskellWorks.Data.Vector.AsVector64nsSpec+    HaskellWorks.Data.Vector.AsVector64sSpec+    HaskellWorks.Data.Vector.AsVector8nsSpec+    HaskellWorks.Data.Vector.AsVector8sSpec+    HaskellWorks.Data.Vector.StorableSpec+    Paths_hw_prim   autogen-modules:    Paths_hw_prim   build-depends:      hw-prim   hs-source-dirs:     test
+ src/HaskellWorks/Data/Branchless.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE MagicHash #-}++module HaskellWorks.Data.Branchless+  ( ltWord8+  , ltWord16+  , ltWord32+  , ltWord64++  , leWord8+  , leWord16+  , leWord32+  , leWord64++  , gtWord8+  , gtWord16+  , gtWord32+  , gtWord64++  , geWord8+  , geWord16+  , geWord32+  , geWord64+  ) where++import GHC.Int+import GHC.Prim+import GHC.Word (Word16 (..), Word32 (..), Word64 (..), Word8 (..))++ltWord8 :: Word8 -> Word8 -> Word8+ltWord8 (W8# a#) (W8# b#) = fromIntegral (I8# (ltWord# a# b#))+{-# INLINE ltWord8 #-}++ltWord16 :: Word16 -> Word16 -> Word16+ltWord16 (W16# a#) (W16# b#) = fromIntegral (I16# (ltWord# a# b#))+{-# INLINE ltWord16 #-}++ltWord32 :: Word32 -> Word32 -> Word32+ltWord32 (W32# a#) (W32# b#) = fromIntegral (I32# (ltWord# a# b#))+{-# INLINE ltWord32 #-}++ltWord64 :: Word64 -> Word64 -> Word64+ltWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (ltWord# a# b#))+{-# INLINE ltWord64 #-}++leWord8 :: Word8 -> Word8 -> Word8+leWord8 (W8# a#) (W8# b#) = fromIntegral (I8# (leWord# a# b#))+{-# INLINE leWord8 #-}++leWord16 :: Word16 -> Word16 -> Word16+leWord16 (W16# a#) (W16# b#) = fromIntegral (I16# (leWord# a# b#))+{-# INLINE leWord16 #-}++leWord32 :: Word32 -> Word32 -> Word32+leWord32 (W32# a#) (W32# b#) = fromIntegral (I32# (leWord# a# b#))+{-# INLINE leWord32 #-}++leWord64 :: Word64 -> Word64 -> Word64+leWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (leWord# a# b#))+{-# INLINE leWord64 #-}++gtWord8 :: Word8 -> Word8 -> Word8+gtWord8 (W8# a#) (W8# b#) = fromIntegral (I8# (gtWord# a# b#))+{-# INLINE gtWord8 #-}++gtWord16 :: Word16 -> Word16 -> Word16+gtWord16 (W16# a#) (W16# b#) = fromIntegral (I16# (gtWord# a# b#))+{-# INLINE gtWord16 #-}++gtWord32 :: Word32 -> Word32 -> Word32+gtWord32 (W32# a#) (W32# b#) = fromIntegral (I32# (gtWord# a# b#))+{-# INLINE gtWord32 #-}++gtWord64 :: Word64 -> Word64 -> Word64+gtWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (gtWord# a# b#))+{-# INLINE gtWord64 #-}++geWord8 :: Word8 -> Word8 -> Word8+geWord8 (W8# a#) (W8# b#) = fromIntegral (I8# (geWord# a# b#))+{-# INLINE geWord8 #-}++geWord16 :: Word16 -> Word16 -> Word16+geWord16 (W16# a#) (W16# b#) = fromIntegral (I16# (geWord# a# b#))+{-# INLINE geWord16 #-}++geWord32 :: Word32 -> Word32 -> Word32+geWord32 (W32# a#) (W32# b#) = fromIntegral (I32# (geWord# a# b#))+{-# INLINE geWord32 #-}++geWord64 :: Word64 -> Word64 -> Word64+geWord64 (W64# a#) (W64# b#) = fromIntegral (I64# (geWord# a# b#))+{-# INLINE geWord64 #-}