packages feed

permutation-0.5.0.3: permutation.cabal

name:            permutation
version:         0.5.0.3
homepage:        https://github.com/spacekitteh/permutation
synopsis:        A library for permutations and combinations.
description:
    This library includes data types for storing permutations and
    combinations.  It implements pure and impure types, the latter of
    which can be modified in-place.  The library uses aggressive
    inlining and MutableByteArray#s internally, so it is very
    efficient.
    .
    The main utility of the library is converting between the linear
    representation of a permutation and a sequence of swaps.  This 
    allows, for instance, applying a permutation or its inverse
    to an array with O(1) memory use.
    .
    Much of the interface for the library is based on the permutation 
    and combination functions in the GNU Scientific Library (GSL).
    .
category:        Data Structures, Math
license:         BSD3
license-file:    LICENSE
copyright:       (c) 2008. Patrick Perry <patperry@stanford.edu>
author:          Patrick Perry
maintainer:      Sophie Taylor <sophie@traumapony.org>
cabal-version: >= 1.2.3
build-type:      Custom
tested-with:     GHC ==7.8.1

extra-source-files:  examples/Enumerate.hs
                     tests/Test/Choose.hs
                     tests/Test/Permute.hs
                     tests/Driver.hs
                     tests/Main.hs
                     tests/Choose.hs
                     tests/STChoose.hs
                     tests/Permute.hs
                     tests/STPermute.hs
                     tests/Makefile
                     NEWS

library
    hs-source-dirs:  lib
    exposed-modules: Data.Choose
                     Data.Choose.MChoose
                     Data.Choose.IO
                     Data.Choose.ST
                     Data.Permute
                     Data.Permute.MPermute
                     Data.Permute.IO
                     Data.Permute.ST
                     
    other-modules:   Data.IntArray
                     Data.Choose.Base
                     Data.Choose.IOBase
                     Data.Permute.Base
                     Data.Permute.IOBase

    build-depends:   base <4.8
    extensions:      BangPatterns, 
                     FlexibleContexts,
                     FunctionalDependencies, 
                     MagicHash,
                     MultiParamTypeClasses, 
                     Rank2Types,
                     UnboxedTuples,
                     CPP

    ghc-options:     -Wall -O3

    if impl(ghc >= 6.9)
      build-depends: ghc-prim