hw-rankselect-base 0.3.2.3 → 0.3.2.4
raw patch · 3 files changed
+39/−1 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.RankSelect.Base.Rank: class Eq a => Rank v a
+ HaskellWorks.Data.RankSelect.Base.Rank: instance HaskellWorks.Data.RankSelect.Base.Rank.Rank [GHC.Types.Bool] GHC.Types.Bool
+ HaskellWorks.Data.RankSelect.Base.Rank: rank :: Rank v a => a -> v -> Count -> Count
+ HaskellWorks.Data.RankSelect.Base.Select: class Eq a => Select v a
+ HaskellWorks.Data.RankSelect.Base.Select: instance HaskellWorks.Data.RankSelect.Base.Select.Select [GHC.Types.Bool] GHC.Types.Bool
+ HaskellWorks.Data.RankSelect.Base.Select: select :: Select v a => a -> v -> Count -> Count
Files
- hw-rankselect-base.cabal +3/−1
- src/HaskellWorks/Data/RankSelect/Base/Rank.hs +18/−0
- src/HaskellWorks/Data/RankSelect/Base/Select.hs +18/−0
hw-rankselect-base.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: hw-rankselect-base-version: 0.3.2.3+version: 0.3.2.4 synopsis: Rank-select base description: Please see README.md category: Data, Bit, Succinct Data Structures, Data Structures@@ -57,8 +57,10 @@ , vector exposed-modules: HaskellWorks.Data.RankSelect.Base HaskellWorks.Data.RankSelect.Base.Internal+ HaskellWorks.Data.RankSelect.Base.Rank HaskellWorks.Data.RankSelect.Base.Rank0 HaskellWorks.Data.RankSelect.Base.Rank1+ HaskellWorks.Data.RankSelect.Base.Select HaskellWorks.Data.RankSelect.Base.Select0 HaskellWorks.Data.RankSelect.Base.Select1 other-modules: Paths_hw_rankselect_base
+ src/HaskellWorks/Data/RankSelect/Base/Rank.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}++module HaskellWorks.Data.RankSelect.Base.Rank+ ( -- * Rank & Select+ Rank(..)+ ) where++import HaskellWorks.Data.Positioning+import HaskellWorks.Data.RankSelect.Base.Rank0+import HaskellWorks.Data.RankSelect.Base.Rank1++class Eq a => Rank v a where+ rank :: a -> v -> Count -> Count++instance Rank [Bool] Bool where+ rank a = if a then rank1 else rank0+ {-# INLINABLE rank #-}
+ src/HaskellWorks/Data/RankSelect/Base/Select.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}++module HaskellWorks.Data.RankSelect.Base.Select+ ( -- * Rank & Select+ Select(..)+ ) where++import HaskellWorks.Data.Positioning+import HaskellWorks.Data.RankSelect.Base.Select0+import HaskellWorks.Data.RankSelect.Base.Select1++class Eq a => Select v a where+ select :: a -> v -> Count -> Count++instance Select [Bool] Bool where+ select a = if a then select1 else select0+ {-# INLINABLE select #-}