name:                vector-hashtables
version:             0.1.0.1
synopsis:            Efficient vector-based mutable hashtables implementation.
description:
  This package provides efficient vector-based hashtable implementation similar to .NET Generic Dictionary implementation (at the time of 2015).
  .
  See "Data.Vector.Hashtables" for documentation.
homepage:            https://github.com/klapaucius/vector-hashtables#readme
license:             BSD3
license-file:        LICENSE
author:              klapaucius
maintainer:          klapaucius, swamp_agr
copyright:           2016-2021 klapaucius, swamp_agr
category:            Data
build-type:          Simple
extra-source-files:  README.md,
                     src-i386/Data/Vector/Hashtables/Internal/Mask.hs,
                     src-gen/Data/Vector/Hashtables/Internal/Mask.hs,
                     changelog.md
cabal-version:       >=1.10

library
  if arch(i386)
    hs-source-dirs:    src, src-i386
  else
    hs-source-dirs:    src, src-gen
  exposed-modules:     Data.Vector.Hashtables,
                       Data.Vector.Hashtables.Internal,
                       Data.Vector.Hashtables.Internal.Mask,
                       Data.Primitive.PrimArray.Utils
  ghc-options:         -O2
  build-depends:       base >= 4.7 && < 5
                     , primitive
                     , vector
                     , hashable
  default-language:    Haskell2010

benchmark vector-hashtables-bench
  type:                exitcode-stdio-1.0
  hs-source-dirs:      bench
  main-is:             Main.hs
  ghc-options:         -O2 -rtsopts
  build-depends:       base
                     , vector-hashtables
                     , vector
                     , primitive
                     , criterion
                     , hashtables
                     , unordered-containers
  default-language:    Haskell2010

test-suite vector-hashtables-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010
  other-modules:       Data.Vector.HashTablesSpec
  build-depends:       base
                     , primitive
                     , containers
                     , hashable
                     , vector
                     , vector-hashtables

  -- Additional dependencies
  build-depends:
      hspec                >= 2.6.0    && < 2.8
    , QuickCheck           >= 2.12.6.1 && < 2.15
    , quickcheck-instances >= 0.3.19   && < 0.4

  build-tool-depends:
    hspec-discover:hspec-discover >= 2.6.0 && < 2.8

source-repository head
  type:     git
  location: https://github.com/klapaucius/vector-hashtables