hw-bits 0.0.0.8 → 0.0.0.9
raw patch · 5 files changed
+99/−1 lines, 5 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: allExcess0 :: AllExcess0 a => a -> Int
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: class AllExcess0 a
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word16
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word32
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word64
+ HaskellWorks.Data.Bits.AllExcess.AllExcess0: instance HaskellWorks.Data.Bits.AllExcess.AllExcess0.AllExcess0 GHC.Word.Word8
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: allExcess1 :: AllExcess1 a => a -> Int
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: class AllExcess1 a
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word16
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word32
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word64
+ HaskellWorks.Data.Bits.AllExcess.AllExcess1: instance HaskellWorks.Data.Bits.AllExcess.AllExcess1.AllExcess1 GHC.Word.Word8
Files
- hw-bits.cabal +4/−1
- src/HaskellWorks/Data/Bits/AllExcess.hs +6/−0
- src/HaskellWorks/Data/Bits/AllExcess/AllExcess0.hs +44/−0
- src/HaskellWorks/Data/Bits/AllExcess/AllExcess1.hs +44/−0
- src/HaskellWorks/Data/Bits/BitLength.hs +1/−0
hw-bits.cabal view
@@ -1,5 +1,5 @@ name: hw-bits-version: 0.0.0.8+version: 0.0.0.9 synopsis: Conduits for tokenizing streams. description: Please see README.md homepage: http://github.com/haskell-works/hw-bits#readme@@ -29,6 +29,9 @@ library hs-source-dirs: src exposed-modules: HaskellWorks.Data.Bits+ , HaskellWorks.Data.Bits.AllExcess+ , HaskellWorks.Data.Bits.AllExcess.AllExcess0+ , HaskellWorks.Data.Bits.AllExcess.AllExcess1 , HaskellWorks.Data.Bits.BitLength , HaskellWorks.Data.Bits.BitParse , HaskellWorks.Data.Bits.BitRead
+ src/HaskellWorks/Data/Bits/AllExcess.hs view
@@ -0,0 +1,6 @@+module HaskellWorks.Data.Bits.AllExcess+ ( module X+ ) where++import HaskellWorks.Data.Bits.AllExcess.AllExcess0 as X+import HaskellWorks.Data.Bits.AllExcess.AllExcess1 as X
+ src/HaskellWorks/Data/Bits/AllExcess/AllExcess0.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE FlexibleInstances #-}++module HaskellWorks.Data.Bits.AllExcess.AllExcess0 where++import Data.Word+import qualified Data.Vector.Storable as DVS+import HaskellWorks.Data.Bits.PopCount.PopCount0+import HaskellWorks.Data.Bits.PopCount.PopCount1++-- TODO Optimise these instances+class AllExcess0 a where+ allExcess0 :: a -> Int++instance AllExcess0 Word8 where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 Word16 where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 Word32 where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 Word64 where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 (DVS.Vector Word8) where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 (DVS.Vector Word16) where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 (DVS.Vector Word32) where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}++instance AllExcess0 (DVS.Vector Word64) where+ allExcess0 w = fromIntegral (popCount0 w) - fromIntegral (popCount1 w)+ {-# INLINE allExcess0 #-}
+ src/HaskellWorks/Data/Bits/AllExcess/AllExcess1.hs view
@@ -0,0 +1,44 @@+{-# LANGUAGE FlexibleInstances #-}++module HaskellWorks.Data.Bits.AllExcess.AllExcess1 where++import Data.Word+import qualified Data.Vector.Storable as DVS+import HaskellWorks.Data.Bits.PopCount.PopCount0+import HaskellWorks.Data.Bits.PopCount.PopCount1++-- TODO Optimise these instances+class AllExcess1 a where+ allExcess1 :: a -> Int++instance AllExcess1 Word8 where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 Word16 where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 Word32 where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 Word64 where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 (DVS.Vector Word8) where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 (DVS.Vector Word16) where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 (DVS.Vector Word32) where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}++instance AllExcess1 (DVS.Vector Word64) where+ allExcess1 w = fromIntegral (popCount1 w) - fromIntegral (popCount0 w)+ {-# INLINE allExcess1 #-}
src/HaskellWorks/Data/Bits/BitLength.hs view
@@ -27,6 +27,7 @@ endPosition :: v -> Position endPosition = Position . fromIntegral . getCount . bitLength+ {-# INLINE endPosition #-} -------------------------------------------------------------------------------- -- Functions