packages feed

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 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