hw-bits 0.0.0.11 → 0.0.0.12
raw patch · 2 files changed
+21/−19 lines, 2 files
Files
- hw-bits.cabal +1/−1
- src/HaskellWorks/Data/Bits/BitLength.hs +20/−18
hw-bits.cabal view
@@ -1,5 +1,5 @@ name: hw-bits-version: 0.0.0.11+version: 0.0.0.12 synopsis: Conduits for tokenizing streams. description: Please see README.md homepage: http://github.com/haskell-works/hw-bits#readme
src/HaskellWorks/Data/Bits/BitLength.hs view
@@ -34,81 +34,83 @@ elemBitLength :: (VectorLike v, BitLength (Elem v)) => v -> Count elemBitLength v = bitLength (v !!! 0)+{-# INLINE elemBitLength #-} elemBitEnd :: (VectorLike v, BitLength (Elem v)) => v -> Position elemBitEnd v = endPosition (v !!! 0)+{-# INLINE elemBitEnd #-} -------------------------------------------------------------------------------- -- Instances instance BitLength Bool where bitLength _ = 1- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength [Bool] where bitLength = fromIntegral . P.length- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength Word8 where bitLength _ = 8- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength Word16 where bitLength _ = 16- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength Word32 where bitLength _ = 32- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength Word64 where bitLength _ = 64- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength [Word8] where bitLength v = fromIntegral (P.length v) * bitLength (head v)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength [Word16] where bitLength v = fromIntegral (P.length v) * bitLength (head v)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength [Word32] where bitLength v = fromIntegral (P.length v) * bitLength (head v)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength [Word64] where bitLength v = fromIntegral (P.length v) * bitLength (head v)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DV.Vector Word8) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DV.Vector Word16) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DV.Vector Word32) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DV.Vector Word64) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DVS.Vector Word8) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DVS.Vector Word16) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DVS.Vector Word32) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-} instance BitLength (DVS.Vector Word64) where bitLength v = vLength v * bitLength (v !!! 0)- {-# INLINABLE bitLength #-}+ {-# INLINE bitLength #-}