hw-eliasfano 0.1.2.0 → 0.1.2.1
raw patch · 8 files changed
+23/−23 lines, 8 filesdep ~criteriondep ~doctestdep ~hedgehogPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: criterion, doctest, hedgehog, optparse-applicative, vector
API changes (from Hackage documentation)
Files
- app/App/Codec.hs +1/−3
- app/App/Commands.hs +2/−0
- app/App/Commands/CreateIndex.hs +3/−2
- app/App/Commands/LoadSave.hs +2/−2
- hw-eliasfano.cabal +10/−10
- src/HaskellWorks/Data/EliasFano/Internal.hs +0/−1
- test/HaskellWorks/Data/EliasFano/ReferenceSpec.hs +2/−2
- test/HaskellWorks/Data/EliasFanoSpec.hs +3/−3
app/App/Codec.hs view
@@ -13,6 +13,4 @@ go lbs = case LBS.splitAt 4 lbs of (lt, rt) -> if LBS.length lt == 4 then lt:go rt- else if LBS.length lt == 0- then []- else [LBS.take 4 (lt <> LBS.replicate 4 0)]+ else [LBS.take 4 (lt <> LBS.replicate 4 0) | LBS.length lt /= 0]
app/App/Commands.hs view
@@ -4,6 +4,8 @@ import App.Commands.LoadSave import Options.Applicative +{- HLINT ignore "Monoid law, left identity" -}+ commands :: Parser (IO ()) commands = commandsGeneral
app/App/Commands/CreateIndex.hs view
@@ -26,8 +26,9 @@ import qualified System.IO as IO import qualified System.IO.Temp as RIO -{-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}-{-# ANN module ("HLint: ignore Redundant do" :: String) #-}+{- HLINT ignore "Monoid law, left identity" -}+{- HLINT ignore "Reduce duplication" -}+{- HLINT ignore "Redundant do" -} readWord32s :: MonadIO m => FilePath -> m [Word32] readWord32s fp = do
app/App/Commands/LoadSave.hs view
@@ -20,8 +20,8 @@ import qualified HaskellWorks.Data.PackedVector.PackedVector64 as PV import qualified System.IO as IO -{-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}-{-# ANN module ("HLint: ignore Redundant do" :: String) #-}+{- HLINT ignore "Redundant do" -}+{- HLINT ignore "Reduce duplication" -} runLoadSave :: Z.LoadSaveOptions -> IO () runLoadSave opts = do
hw-eliasfano.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: hw-eliasfano-version: 0.1.2.0+version: 0.1.2.1 synopsis: Elias-Fano description: Please see README.md category: Data, Succinct Data Structures, Data Structures@@ -9,10 +9,10 @@ bug-reports: https://github.com/haskell-works/hw-eliasfano/issues author: John Ky maintainer: newhoggy@gmail.com-copyright: 2016-2020 John Ky+copyright: 2016-2021 John Ky license: BSD-3-Clause license-file: LICENSE-tested-with: GHC == 8.10.1, GHC == 8.8.3, GHC == 8.6.5, GHC == 8.4.4+tested-with: GHC == 9.2.2, GHC == 9.0.2, GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5 build-type: Simple extra-source-files: README.md @@ -22,14 +22,14 @@ common base { build-depends: base >= 4.11 && < 5 } -common bytestring { build-depends: bytestring >= 0.10.8.2 && < 0.11 }+common bytestring { build-depends: bytestring >= 0.10.8.2 && < 0.12 } common binary { build-depends: binary >= 0.8 && < 0.9 } common criterion { build-depends: criterion >= 1.5.5.0 && < 1.6 } common deepseq { build-depends: deepseq >= 1.4 && < 1.5 }-common doctest { build-depends: doctest >= 0.16.2 && < 0.17 }+common doctest { build-depends: doctest >= 0.16.2 && < 0.21 } common doctest-discover { build-depends: doctest-discover >= 0.2 && < 0.3 }-common generic-lens { build-depends: generic-lens >= 1.2.0.1 && < 1.3 }-common hedgehog { build-depends: hedgehog >= 0.6 && < 1.1 }+common generic-lens { build-depends: generic-lens >= 2.2 && < 2.3 }+common hedgehog { build-depends: hedgehog >= 0.6 && < 1.2 } common hspec { build-depends: hspec >= 2.7.1 && < 3 } common hw-bits { build-depends: hw-bits >= 0.7.0.6 && < 0.8 } common hw-hedgehog { build-depends: hw-hedgehog >= 0.1.0.3 && < 0.2 }@@ -39,9 +39,9 @@ common hw-prim { build-depends: hw-prim >= 0.6.2.26 && < 0.7 } common hw-rankselect { build-depends: hw-rankselect >= 0.13 && < 0.14 } common hw-rankselect-base { build-depends: hw-rankselect-base >= 0.3.2.1 && < 0.4 }-common lens { build-depends: lens >= 4 && < 5 }+common lens { build-depends: lens >= 4 && < 6 } common mmap { build-depends: mmap >= 0.5.9 && < 0.6 }-common optparse-applicative { build-depends: optparse-applicative >= 0.14 && < 0.16 }+common optparse-applicative { build-depends: optparse-applicative >= 0.14 && < 0.18 } common resourcet { build-depends: resourcet >= 1.2.2 && < 1.3 } common temporary-resourcet { build-depends: temporary-resourcet >= 0.1.0.1 && < 0.2 } common vector { build-depends: vector >= 0.12.0.3 && < 0.13 }@@ -146,7 +146,7 @@ , hw-eliasfano default-language: Haskell2010 type: exitcode-stdio-1.0- ghc-options: -threaded+ ghc-options: -threaded -rtsopts -with-rtsopts=-N main-is: DoctestDriver.hs HS-Source-Dirs: doctest build-tool-depends: doctest-discover:doctest-discover
src/HaskellWorks/Data/EliasFano/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeFamilies #-}
test/HaskellWorks/Data/EliasFano/ReferenceSpec.hs view
@@ -11,12 +11,12 @@ import qualified Hedgehog.Gen as G import qualified Hedgehog.Range as R -{-# ANN module ("HLint: ignore Redundant do" :: String) #-}+{- HLINT ignore "Redundant do" -} spec :: Spec spec = describe "HaskellWorks.Data.EliasFano.ReferenceSpec" $ do it "List to EliasFano" $ require $ withTests 1 $ property $ do- ws <- forAll $ pure $ [2, 3, 5, 7, 11, 13, 24]+ ws <- forAll $ pure [2, 3, 5, 7, 11, 13, 24] let actual = fromWord64s ws let expected = EliasFano { efBucketBits = [ True
test/HaskellWorks/Data/EliasFanoSpec.hs view
@@ -17,12 +17,12 @@ import qualified Hedgehog.Gen as G import qualified Hedgehog.Range as R -{-# ANN module ("HLint: ignore Redundant do" :: String) #-}+{- HLINT ignore "Redundant do" -} spec :: Spec spec = describe "HaskellWorks.Data.EliasFanoSpec" $ do it "List to EliasFano" $ requireTest $ do- ws <- forAll $ pure $ [2, 3, 5, 7, 11, 13, 24]+ ws <- forAll $ pure [2, 3, 5, 7, 11, 13, 24] let actual = fromWord64s ws let expected = EliasFano { efBucketBits = makeCsPoppy (DVS.fromList [4443])@@ -86,7 +86,7 @@ let expected = [2, 3, 5, 7, 11, 13, 24] actual === expected it "hiSegmentToWords" $ requireTest $ do- ws <- forAll $ pure $ [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]+ ws <- forAll $ pure [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144] filter (/= ' ') (bitShow (hiSegmentToWords ws)) === concat [ "01101010", "01000100", "00010000", "00001000", "00000000", "00100000", "00000000", "00000000"