packages feed

enumset 0.0.5 → 0.1

raw patch · 8 files changed

+20/−90 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Data.EnumSet.PackedEnum: Cons :: w -> Int -> T w a b
- Data.EnumSet.PackedEnum: clear :: (Bits w, Enum a, Enum b) => T w a b -> T w a -> T w a
- Data.EnumSet.PackedEnum: data T w a b
- Data.EnumSet.PackedEnum: pack :: (Num w, Bits w, Enum a, Enum b) => T w a b -> b -> T w a
- Data.EnumSet.PackedEnum: put :: (Num w, Bits w, Enum a, Enum b) => T w a b -> b -> T w a -> T w a
- Data.EnumSet.PackedEnum: unpack :: (Integral w, Bits w, Enum a, Enum b) => T w a b -> T w a -> b

Files

enumset.cabal view
@@ -1,5 +1,5 @@ Name:             enumset-Version:          0.0.5+Version:          0.1 License:          BSD3 License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de>@@ -25,7 +25,7 @@ Build-Type:       Simple  Source-Repository this-  Tag:         0.0.5+  Tag:         0.1   Type:        darcs   Location:    http://code.haskell.org/~thielema/enumset/ @@ -45,9 +45,7 @@   Hs-Source-Dirs:   src   Exposed-Modules:     Data.EnumBitSet-    Data.EnumSet-    Data.EnumSet.PackedEnum     Data.FlagSet     Data.FlagSet.PackedRecord   Other-Modules:-    Data.EnumSet.Utility+    Data.EnumBitSet.Utility
src/Data/EnumBitSet.hs view
@@ -33,7 +33,7 @@    fromBool,    ) where -import qualified Data.EnumSet.Utility as U+import qualified Data.EnumBitSet.Utility as U import qualified Data.Bits as B import Data.Bits (Bits, ) 
+ src/Data/EnumBitSet/Utility.hs view
@@ -0,0 +1,14 @@+module Data.EnumBitSet.Utility where++import qualified Data.Bits as B+import Data.Bits (Bits, bit, xor, (.&.), )+++-- fixity like .&.+infixl 7 .-.++(.-.) :: (Bits w) => w -> w -> w+x .-. y = x .&. B.complement y++empty :: (Bits w) => w+empty = xor (bit 0) (bit 0)
− src/Data/EnumSet.hs
@@ -1,10 +0,0 @@-{- |-The module name clashes with a module from the package @enummapset@.-Thus we will remove this module in favor of "Data.EnumBitSet".--}-module Data.EnumSet-   {-# DEPRECATED "use Data.EnumBitSet instead" #-}-   (module Data.EnumBitSet)-   where--import Data.EnumBitSet
− src/Data/EnumSet/PackedEnum.hs
@@ -1,58 +0,0 @@-{- |-Extract and inject an Enum value into an EnumSet.--}-module Data.EnumSet.PackedEnum-   {-# DEPRECATED "use Data.FlagSet instead" #-}-   (T(Cons), unpack, pack, clear, put, )-   where--import qualified Data.EnumBitSet as ES--import qualified Data.Bits as B-import Data.Bits (Bits, (.&.), )---{- |-@ T w a b@ describes a contiguous set of bit indices into the word type @w@-where the indices are of type @a@ and the set of indices represent a value of type @b@.--}-data T w a b = Cons w Int--{- |-Extract an enumeration value from the specified index set.--}-unpack ::-   (Integral w, Bits w, Enum a, Enum b) =>-   T w a b -> ES.T w a -> b-unpack (Cons mask pos) =-   toEnum . fromIntegral . (mask .&.) .-   flip B.shiftR pos . ES.decons--{- |-Create an enumeration set, where an value of type @b@-is placed at the specified indices.--}-pack ::-   (Num w, Bits w, Enum a, Enum b) =>-   T w a b -> b -> ES.T w a-pack (Cons mask pos) =-   ES.Cons . flip B.shiftL pos .-   (mask .&.) . fromIntegral . fromEnum--{- |-Clear all bits at the specified indices.--}-clear ::-   (Bits w, Enum a, Enum b) =>-   T w a b -> ES.T w a -> ES.T w a-clear (Cons mask pos) =-   ES.Cons . (B.complement (B.shiftL mask pos) .&.) . ES.decons--{- |-Overwrite an enumset at the specified indices with the value of type @b@.--}-put ::-   (Num w, Bits w, Enum a, Enum b) =>-   T w a b -> b -> ES.T w a -> ES.T w a-put set x =-   (pack set x ES..|.) . clear set
− src/Data/EnumSet/Utility.hs
@@ -1,14 +0,0 @@-module Data.EnumSet.Utility where--import qualified Data.Bits as B-import Data.Bits (Bits, bit, xor, (.&.), )----- fixity like .&.-infixl 7 .-.--(.-.) :: (Bits w) => w -> w -> w-x .-. y = x .&. B.complement y--empty :: (Bits w) => w-empty = xor (bit 0) (bit 0)
src/Data/FlagSet.hs view
@@ -22,7 +22,7 @@  import qualified Data.Accessor.Basic as Acc -import Data.EnumSet.Utility (empty, (.-.), )+import Data.EnumBitSet.Utility (empty, (.-.), )  import qualified Prelude as P import Prelude hiding (Enum, fromEnum, toEnum, null, flip, )
src/Data/FlagSet/PackedRecord.hs view
@@ -10,7 +10,7 @@  import qualified Data.Accessor.Basic as Acc -import Data.EnumSet.Utility ((.-.), )+import Data.EnumBitSet.Utility ((.-.), )   leastSigBit :: (Num w, Bits w) => w -> w