cabal-version: 3.0 name: variety version: 0.2.1.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