packages feed

variety-0.2.0.0: variety.cabal

cabal-version:      3.0
name:               variety
version:            0.2.0.0
synopsis:           integer arithmetic codes

description: The
                    [Variety](https://hackage-content.haskell.org/package/variety/docs/Codec-Arithmetic-Variety.html)
                    module provides functions to optimally encode and
                    decode sequences of value-base pairs assuming
                    uniform probability.

                    If codes get too large and slow to process,
                    [Variety.Bounded](https://hackage-content.haskell.org/package/variety/docs/Codec-Arithmetic-Variety-Bounded.html)
                    provides a similar interface with a precision
                    parameter at small cost to code length.

                    The
                    [Combinatorics](https://hackage-content.haskell.org/package/variety/docs/Codec-Arithmetic-Combinatorics.html)
                    module provides functions to optimally encode and
                    decode (rank and unrank) common combinatorial
                    objects.

                    The
                    [Elias](https://hackage-content.haskell.org/package/variety/docs/Codec-Elias.html)
                    module provides entirely non-parametric encoding and
                    decoding of positive integers. The usual definition
                    doesn't allow for an encoding of 0, so a mapping is
                    baked into the functions in
                    [Elias.Natural](https://hackage-content.haskell.org/package/variety/docs/Codec-Elias-Natural.html)
                    that shifts the number line by 1.

license:            MIT
license-file:       LICENSE
author:             nbos
maintainer:         nbos@nbos.ca
homepage:           https://github.com/nbos/variety
bug-reports:        https://github.com/nbos/variety/issues
category:           Codec
build-type:         Simple
extra-doc-files:    CHANGELOG.md
tested-with:        GHC==9.4.8, GHC==9.6.7, GHC==9.8.4, GHC==9.10.1, GHC==9.12.2

source-repository head
    type: git
    location: https://github.com/nbos/variety

common warnings
    ghc-options: -Wall

library
    import:           warnings
    exposed-modules:  Codec.Arithmetic.Variety
                      Codec.Arithmetic.Variety.BitVec
                      Codec.Arithmetic.Variety.Bounded
                      Codec.Arithmetic.Combinatorics

                      Codec.Elias
                      Codec.Elias.Natural
    -- other-modules:
    -- other-extensions:
    build-depends:    base >= 4.17.2 && < 4.22
                    , bytestring >= 0.11.5 && < 0.13
                    , containers >= 0.6.7 && < 0.8
                    , exact-combinatorics >= 0.2.0 && < 0.3

    hs-source-dirs:   src
    default-language: Haskell2010

test-suite variety-test
    import:           warnings
    default-language: Haskell2010
    -- other-modules:
    -- other-extensions:
    type:             exitcode-stdio-1.0
    hs-source-dirs:   test
    main-is:          Main.hs
    build-depends:
        base >= 4.17.2 && < 4.22,
        variety,
        QuickCheck,
        HUnit