Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rebuild
ghc-psqueues
psqueues.cabal
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File psqueues.cabal of Package ghc-psqueues
Name: psqueues Version: 0.2.8.0 X-revision: 1 License: BSD3 License-file: LICENSE Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com> Bug-reports: https://github.com/jaspervdj/psqueues/issues Synopsis: Pure priority search queues Category: Data Structures Build-type: Simple Cabal-version: >=1.10 Tested-with: GHC==9.6.1, GHC==9.4.2, GHC==9.2.2, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2 Description: The psqueues package provides <http://en.wikipedia.org/wiki/Priority_queue Priority Search Queues> in three different flavors. . * @OrdPSQ k p v@, which uses the @Ord k@ instance to provide fast insertion, deletion and lookup. This implementation is based on Ralf Hinze's <http://citeseer.ist.psu.edu/hinze01simple.html A Simple Implementation Technique for Priority Search Queues>. Hence, it is similar to the <http://hackage.haskell.org/package/PSQueue PSQueue> library, although it is considerably faster and provides a slightly different API. . * @IntPSQ p v@ is a far more efficient implementation. It fixes the key type to @Int@ and uses a <http://en.wikipedia.org/wiki/Radix_tree radix tree> (like @IntMap@) with an additional min-heap property. . * @HashPSQ k p v@ is a fairly straightforward extension of @IntPSQ@: it simply uses the keys' hashes as indices in the @IntPSQ@. If there are any hash collisions, it uses an @OrdPSQ@ to resolve those. The performance of this implementation is comparable to that of @IntPSQ@, but it is more widely applicable since the keys are not restricted to @Int@, but rather to any @Hashable@ datatype. . Each of the three implementations provides the same API, so they can be used interchangeably. The benchmarks show how they perform relative to one another, and also compared to the other Priority Search Queue implementations on Hackage: <http://hackage.haskell.org/package/PSQueue PSQueue> and <http://hackage.haskell.org/package/fingertree-psqueue fingertree-psqueue>. . <<http://i.imgur.com/KmbDKR6.png>> . <<http://i.imgur.com/ClT181D.png>> . Typical applications of Priority Search Queues include: . * Caches, and more specifically LRU Caches; . * Schedulers; . * Pathfinding algorithms, such as Dijkstra's and A*. Extra-source-files: CHANGELOG Source-repository head type: git location: http://github.com/jaspervdj/psqueues.git Library Default-language: Haskell2010 Ghc-options: -O2 -Wall Hs-source-dirs: src Build-depends: base >= 4.2 && < 5 , deepseq >= 1.2 && < 1.6 , hashable >= 1.1.2.3 && < 1.6 if impl(ghc>=6.10) Build-depends: ghc-prim Exposed-modules: Data.HashPSQ Data.IntPSQ Data.OrdPSQ Other-modules: Data.BitUtil Data.HashPSQ.Internal Data.IntPSQ.Internal Data.OrdPSQ.Internal Benchmark psqueues-benchmarks Default-language: Haskell2010 Ghc-options: -Wall Hs-source-dirs: src benchmarks Main-is: Main.hs Type: exitcode-stdio-1.0 Other-modules: BenchmarkTypes Data.BitUtil Data.HashPSQ Data.HashPSQ.Benchmark Data.HashPSQ.Internal Data.IntPSQ Data.IntPSQ.Benchmark Data.IntPSQ.Internal Data.OrdPSQ Data.OrdPSQ.Benchmark Data.OrdPSQ.Internal Data.PSQueue.Benchmark Build-depends: containers >= 0.5 , unordered-containers >= 0.2.4 , criterion >= 0.8 , mtl >= 2.1 , PSQueue >= 1.1 , random >= 1.0 , base , deepseq , ghc-prim , hashable , psqueues Test-suite psqueues-tests Cpp-options: -DTESTING -DSTRICT Default-language: Haskell2010 Ghc-options: -Wall Hs-source-dirs: src tests Main-is: Main.hs Type: exitcode-stdio-1.0 Other-modules: Data.BitUtil Data.HashPSQ Data.HashPSQ.Internal Data.HashPSQ.Tests Data.IntPSQ Data.IntPSQ.Internal Data.IntPSQ.Tests Data.OrdPSQ Data.OrdPSQ.Internal Data.OrdPSQ.Tests Data.PSQ.Class Data.PSQ.Class.Gen Data.PSQ.Class.Tests Data.PSQ.Class.Util Build-depends: HUnit >= 1.2 && < 1.7 , QuickCheck >= 2.7 && < 2.15 , tasty >= 1.2 && < 1.6 , tasty-hunit >= 0.9 && < 0.11 , tasty-quickcheck >= 0.8 && < 0.11 , base , array , deepseq , ghc-prim , hashable , psqueues , tagged
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor