hw-bits 0.7.0.4 → 0.7.0.5
raw patch · 2 files changed
+48/−1 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.Bits.BitWise: bit :: Bit a => Position -> a
+ HaskellWorks.Data.Bits.BitWise: class Bit a
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit (HaskellWorks.Data.Naive.Naive GHC.Word.Word16)
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit (HaskellWorks.Data.Naive.Naive GHC.Word.Word32)
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit (HaskellWorks.Data.Naive.Naive GHC.Word.Word64)
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit (HaskellWorks.Data.Naive.Naive GHC.Word.Word8)
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Types.Bool
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Types.Int
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Word.Word16
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Word.Word32
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Word.Word64
+ HaskellWorks.Data.Bits.BitWise: instance HaskellWorks.Data.Bits.BitWise.Bit GHC.Word.Word8
Files
- hw-bits.cabal +1/−1
- src/HaskellWorks/Data/Bits/BitWise.hs +47/−0
hw-bits.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: hw-bits-version: 0.7.0.4+version: 0.7.0.5 synopsis: Bit manipulation description: Please see README.md category: Data, Bit
src/HaskellWorks/Data/Bits/BitWise.hs view
@@ -5,6 +5,7 @@ module HaskellWorks.Data.Bits.BitWise ( -- * Bit map BitWise(..)+ , Bit(..) , Shift(..) , TestBit(..) ) where@@ -57,6 +58,9 @@ -- | Bit-wise value of the given type with all bits set to one all1s :: a +class Bit a where+ bit :: Position -> a+ -------------------------------------------------------------------------------- -- Instances @@ -266,3 +270,46 @@ (.>.) w n = B.shiftR w (fromIntegral n) {-# INLINE (.>.) #-}++-----++instance Bit Bool where+ bit 1 = True+ bit _ = False+ {-# INLINE bit #-}++instance Bit Int where+ bit n = 1 .<. toCount n+ {-# INLINE bit #-}++instance Bit Word8 where+ bit n = 1 .<. toCount n+ {-# INLINE bit #-}++instance Bit Word16 where+ bit n = 1 .<. toCount n+ {-# INLINE bit #-}++instance Bit Word32 where+ bit n = 1 .<. toCount n+ {-# INLINE bit #-}++instance Bit Word64 where+ bit n = 1 .<. toCount n+ {-# INLINE bit #-}++instance Bit (Naive Word8) where+ bit n = Naive (bit n)+ {-# INLINE bit #-}++instance Bit (Naive Word16) where+ bit n = Naive (bit n)+ {-# INLINE bit #-}++instance Bit (Naive Word32) where+ bit n = Naive (bit n)+ {-# INLINE bit #-}++instance Bit (Naive Word64) where+ bit n = Naive (bit n)+ {-# INLINE bit #-}