packages feed

intset-0.1.0.2: intset.cabal

name:                  intset
version:               0.1.0.2
category:              Data
license:               BSD3
license-file:          LICENSE
author:                Sam Truzjan
maintainer:            Sam Truzjan <pxqr.sta@gmail.com>
copyright:             (c) 2013, Sam Truzjan
homepage:              https://github.com/pxqr/intset
bug-reports:           https://github.com/pxqr/intset/issues
build-type:            Simple
cabal-version:         >=1.8
synopsis:              Pure, mergeable, succinct Int sets.
description:

   This library provides persistent, time and space efficient integer
   sets implemented as dense big-endian patricia trees with buddy
   suffixes compaction. In randomized settings this structure expected
   to be as fast as Data.IntSet from containers, but if a sets is
   likely to have long continuous intervals it should be much faster.


extra-source-files:    README.md
                       .travis.yml


source-repository head
  type:                git
  location:            git://github.com/pxqr/intset.git

source-repository this
  type:                git
  location:            git://github.com/pxqr/intset.git
  branch:              master
  tag:                 v0.1.0.2


flag testing
  description:         Enable testing stuff and expose internals.
  default:             False


library
  exposed-modules:     Data.IntervalSet
                     , Data.IntervalSet.ByteString
  other-modules:       Data.IntervalSet.Internal
  build-depends:       base == 4.*
                     , bits-extras >= 0.1.2
                     , bytestring
                     , deepseq

  hs-source-dirs:      src
  ghc-options:         -Wall

  if flag(testing)
    cpp-options:       -DTESTING


test-suite properties
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      tests
  build-depends:       base == 4.*
                     , test-framework
                     , test-framework-quickcheck2 >= 0.3
                     , QuickCheck
                     , intset
  ghc-options:         -Wall
  if !flag(testing)
      buildable:       False


test-suite fusion
  type:                exitcode-stdio-1.0
  main-is:             Fusion.hs
  hs-source-dirs:      tests
  build-depends:       base == 4.*, intset
  ghc-options:         -Wall -ddump-simpl-stats
  -- to avoid -ddump-simpl-stats output
  if !flag(testing)
      buildable:       False


benchmark benchmarks
  type:                exitcode-stdio-1.0
  main-is:             Main.hs
  hs-source-dirs:      bench
  build-depends:       base == 4.*
                     , bytestring
                     , containers >= 0.5.2
                     , criterion
                     , deepseq
                     , intset
  ghc-options:         -O3 -Wall -fno-warn-orphans
--  -fllvm
  if !flag(testing)
      buildable:       False