hw-bits 0.2.0.0 → 0.2.0.1
raw patch · 3 files changed
+25/−17 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- HaskellWorks.Data.Bits.SubWord64Vector.Internal: instance HaskellWorks.Data.Bits.SubWord64Vector.Internal.LoBitsSized GHC.Word.Word16
- HaskellWorks.Data.Bits.SubWord64Vector.Internal: instance HaskellWorks.Data.Bits.SubWord64Vector.Internal.LoBitsSized GHC.Word.Word32
- HaskellWorks.Data.Bits.SubWord64Vector.Internal: instance HaskellWorks.Data.Bits.SubWord64Vector.Internal.LoBitsSized GHC.Word.Word64
- HaskellWorks.Data.Bits.SubWord64Vector.Internal: instance HaskellWorks.Data.Bits.SubWord64Vector.Internal.LoBitsSized GHC.Word.Word8
+ HaskellWorks.Data.Bits.LoBitsSized: class LoBitsSized a
+ HaskellWorks.Data.Bits.LoBitsSized: instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word16
+ HaskellWorks.Data.Bits.LoBitsSized: instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word32
+ HaskellWorks.Data.Bits.LoBitsSized: instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word64
+ HaskellWorks.Data.Bits.LoBitsSized: instance HaskellWorks.Data.Bits.LoBitsSized.LoBitsSized GHC.Word.Word8
+ HaskellWorks.Data.Bits.LoBitsSized: loBitsSized :: LoBitsSized a => Int -> a
+ HaskellWorks.Data.Bits.SubWord64Vector.Internal: class LoBitsSized a
Files
- hw-bits.cabal +2/−1
- src/HaskellWorks/Data/Bits/LoBitsSized.hs +21/−0
- src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs +2/−16
hw-bits.cabal view
@@ -1,5 +1,5 @@ name: hw-bits-version: 0.2.0.0+version: 0.2.0.1 synopsis: Conduits for tokenizing streams. description: Please see README.md homepage: http://github.com/haskell-works/hw-bits#readme@@ -42,6 +42,7 @@ , HaskellWorks.Data.Bits.ElemFixedBitSize , HaskellWorks.Data.Bits.FixedBitSize , HaskellWorks.Data.Bits.FromBitTextByteString+ , HaskellWorks.Data.Bits.LoBitsSized , HaskellWorks.Data.Bits.Log2 , HaskellWorks.Data.Bits.PopCount , HaskellWorks.Data.Bits.PopCount.PopCount0
+ src/HaskellWorks/Data/Bits/LoBitsSized.hs view
@@ -0,0 +1,21 @@+module HaskellWorks.Data.Bits.LoBitsSized+ ( LoBitsSized(..)+ ) where++import Data.Word+import HaskellWorks.Data.Bits.BitWise++class LoBitsSized a where+ loBitsSized :: Int -> a++instance LoBitsSized Word64 where+ loBitsSized n = let o = fromIntegral (64 - n) in 0xFFFFFFFFFFFFFFFF .<. o .>. o++instance LoBitsSized Word32 where+ loBitsSized n = let o = fromIntegral (32 - n) in 0xFFFFFFFF .<. o .>. o++instance LoBitsSized Word16 where+ loBitsSized n = let o = fromIntegral (16 - n) in 0xFFFF .<. o .>. o++instance LoBitsSized Word8 where+ loBitsSized n = let o = fromIntegral (8 - n) in 0xFF .<. o .>. o
src/HaskellWorks/Data/Bits/SubWord64Vector/Internal.hs view
@@ -1,5 +1,5 @@ module HaskellWorks.Data.Bits.SubWord64Vector.Internal- ( loBitsSized+ ( LoBitsSized(..) , packBits , packBits' , unpackBits@@ -9,12 +9,10 @@ import Data.Word import HaskellWorks.Data.Bits.BitWise import HaskellWorks.Data.Bits.FixedBitSize+import HaskellWorks.Data.Bits.LoBitsSized {-# ANN module ("HLint: Reduce duplication" :: String) #-} -class LoBitsSized a where- loBitsSized :: Int -> a- class Integral a => PackBits a where packBits :: Int -> [a] -> [a] packBits = packBits' 0 0@@ -26,18 +24,6 @@ unpackBits = unpackBits' 0 0 unpackBits' :: Int -> a -> Int -> Int -> [a] -> [a]--instance LoBitsSized Word64 where- loBitsSized n = let o = fromIntegral (64 - n) in 0xFFFFFFFFFFFFFFFF .<. o .>. o--instance LoBitsSized Word32 where- loBitsSized n = let o = fromIntegral (32 - n) in 0xFFFFFFFF .<. o .>. o--instance LoBitsSized Word16 where- loBitsSized n = let o = fromIntegral (16 - n) in 0xFFFF .<. o .>. o--instance LoBitsSized Word8 where- loBitsSized n = let o = fromIntegral (8 - n) in 0xFF .<. o .>. o instance PackBits Word64 where packBits' filled carry bitLen (w:ws) = if fillNeeded < fromIntegral (fixedBitSize carry)