packages feed

tdigest-0.2: tdigest.cabal

cabal-version:  >= 1.10
name:           tdigest
version:        0.2

synopsis:       On-line accumulation of rank-based statistics
description:    A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means.
                .
                See original paper: "Computing extremely accurate quantiles using t-digest" by Ted Dunning and Otmar Ertl
                for more details <https://github.com/tdunning/t-digest/blob/07b8f2ca2be8d0a9f04df2feadad5ddc1bb73c88/docs/t-digest-paper/histo.pdf>.
category:       Numeric

homepage:       https://github.com/futurice/haskell-tdigest#readme
bug-reports:    https://github.com/futurice/haskell-tdigest/issues
author:         Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi>
license:        BSD3
license-file:   LICENSE
tested-with:    GHC==7.8.4, GHC==7.10.3, GHC==8.0.1, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1
build-type:     Custom

extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/futurice/haskell-tdigest

custom-setup
  setup-depends:
    base          >=4.7 && <5,
    Cabal         >=1.14,
    cabal-doctest >=1.0.6 && <1.1

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

  -- GHC boot libraries
  build-depends:
      base                >=4.7      && <4.12
    , deepseq             >=1.3.0.2  && <1.5
    , binary              >=0.7.1.0  && <0.10
    , transformers        >=0.3      && <0.6

  if !impl(ghc >= 8.0)
    build-depends:
      semigroups          >=0.18.4   && <0.19

  -- other dependencies
  build-depends:
      base-compat         >=0.10.1   && <0.11
    , reducers            >=3.12.2   && <3.13
    , semigroupoids       >=5.2.2    && <5.3
    , vector              >=0.12.0.1 && <0.13
    , vector-algorithms   >=0.7.0.1  && <0.8

  exposed-modules:
      Data.TDigest
      Data.TDigest.NonEmpty
      Data.TDigest.Postprocess
      Data.TDigest.Tree
      Data.TDigest.Tree.NonEmpty
      Data.TDigest.Tree.Postprocess
      Data.TDigest.Vector
      Data.TDigest.Vector.NonEmpty
      Data.TDigest.Vector.Postprocess

  -- Internal modules are exposed, but aren't under PVP contract.
  exposed-modules:
      Data.TDigest.Internal
      Data.TDigest.Postprocess.Internal
      Data.TDigest.Tree.Internal
      Data.TDigest.Vector.Internal
  default-language: Haskell2010
  other-extensions:
      DataKinds
      KindSignatures
      MultiParamTypeClasses
      ScopedTypeVariables

test-suite tdigest-tests
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          Tests.hs
  ghc-options:      -Wall -threaded
  hs-source-dirs:   tests

  build-depends:
    base,
    tdigest,
    base-compat,
    deepseq,
    binary,
    semigroups,
    vector,
    vector-algorithms,
    tasty            >=0.11.0.4 && <1.1,
    tasty-quickcheck >=0.8.4    && <0.11

test-suite doctests
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          doctests.hs
  ghc-options:      -Wall -threaded
  hs-source-dirs:   tests

  build-depends:
    base,
    doctest        >=0.11.1 && <0.16