cabal-version: 3.0 name: variety version: 0.1.0.0 x-revision: 1 synopsis: integer arithmetic codes description: The @Variety@ 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@ provides similar interface with a precision parameter at small cost to code length. The @Combinatorics@ module provides functions to optimally encode and decode common combinatorial objects through ranking and unranking. The @Elias@ 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@ 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 , extra >= 1.8 && < 1.9 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