variety-0.1.0.0: variety.cabal
cabal-version: 3.0
name: variety
version: 0.1.0.0
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
-- copyright:
category: Codec
build-type: Simple
extra-doc-files: CHANGELOG.md
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.1
, bytestring >= 0.11.5 && < 0.12
, containers >= 0.6.7 && < 0.7
, 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.1,
variety,
QuickCheck,
HUnit