packages feed

computational-algebra-0.5.0.0: computational-algebra.cabal

name: computational-algebra
version: 0.5.0.0
cabal-version: >=1.10
build-type: Simple
license: BSD3
license-file: LICENSE
copyright: (C) Hiromi ISHII 2017
maintainer: konn.jinro_at_gmail.com
homepage: https://github.com/konn/computational-algebra
synopsis: Well-kinded computational algebra library, currently supporting Groebner basis.
description:
    Dependently-typed computational algebra library for Groebner basis.
category: Math
author: Hiromi ISHII
tested-with: GHC ==8.0.1
extra-source-files:
    README.md
    examples/*.hs
    tests/*.hs
    bench/*.hs
    share/*.hs
    data/conway.txt

source-repository head
    type: git
    location: git://github.com/konn/computational-algebra.git

flag examples
    default: False

library
    exposed-modules:
        Algebra.Algorithms.ChineseRemainder
        Algebra.Algorithms.Groebner
        Algebra.Algorithms.PrimeTest
        Algebra.Algorithms.ZeroDim
        Algebra.Field.AlgebraicReal
        Algebra.Field.Finite
        Algebra.Field.Galois
        Algebra.Instances
        Algebra.Internal
        Algebra.LinkedMatrix
        Algebra.Matrix
        Algebra.Normed
        Algebra.Prelude
        Algebra.Prelude.Core
        Algebra.Ring.Ideal
        Algebra.Ring.Polynomial
        Algebra.Ring.Polynomial.Class
        Algebra.Ring.Polynomial.Factorise
        Algebra.Ring.Polynomial.Labeled
        Algebra.Ring.Polynomial.Monomial
        Algebra.Ring.Polynomial.Quotient
        Algebra.Ring.Polynomial.Univariate
        Algebra.Scalar
    build-depends:
        template-haskell >=2.11.0.0 && <2.12,
        MonadRandom >=0.1 && <0.5,
        algebraic-prelude ==0.1.*,
        algebra >=4.1 && <4.4,
        base >=4 && <4.10,
        semigroups >=0.15 && <0.19,
        containers ==0.5.*,
        convertible ==1.1.*,
        constraints >=0.3 && <0.9,
        deepseq >=1.3 && <1.5,
        equational-reasoning >=0.4.1.1 && <0.5,
        hashable >=1.1 && <1.3,
        heaps ==0.3.*,
        hmatrix >=0.16 && <0.18,
        matrix ==0.3.*,
        entropy >=0.3.7 && <0.4,
        lens >=4.13 && <4.15,
        monad-loops ==0.4.*,
        dlist >=0.8.0.2 && <0.9,
        monomorphic >=0.0.3 && <0.1,
        mtl >=2.1 && <2.3,
        reflection >=2 && <2.2,
        sized ==0.2.*,
        tagged >=0.7 && <0.9,
        hybrid-vectors >=0.1 && <0.3,
        text >=0.11 && <1.3,
        type-natural >=0.7.1 && <0.8,
        unamb ==0.2.*,
        unordered-containers ==0.2.*,
        vector >=0.10 && <0.12,
        parallel ==3.2.*,
        mono-traversable >=0.10 && <1.1,
        control-monad-loop ==0.1.*,
        primes >=0.2.1 && <0.3,
        singletons ==2.2.*,
        arithmoi >=0.4.3.0 && <0.5,
        ghc-typelits-knownnat >=0.2.2 && <0.3
    default-language: Haskell2010
    default-extensions: CPP DataKinds PolyKinds GADTs
                        MultiParamTypeClasses TypeFamilies FlexibleContexts
                        FlexibleInstances UndecidableInstances NoImplicitPrelude
    other-modules:
        Algebra.Algorithms.FGLM
        Algebra.Field.Galois.Conway
        Algebra.Field.Galois.Internal
        Algebra.Ring.Polynomial.Internal
    ghc-options: -O2 -Wall -Wno-unused-top-binds -fplugin GHC.TypeLits.KnownNat.Solver

executable groebner-prof
    main-is: groebner-prof.hs
    buildable: False
    build-depends:
        base >=4.9.0.0 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        deepseq >=1.4.2.0 && <1.5
    default-language: Haskell2010
    extensions: NoImplicitPrelude
    hs-source-dirs: share examples
    ghc-options: -Wall -prof -fprof-auto -threaded -O2

executable solve
    main-is: solve.hs
    buildable: False
    build-depends:
        semigroups >=0.15.2 && <0.19,
        constraints >=0.3 && <0.9,
        algebra >=4.1 && <4.4,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        computational-algebra >=0.5.0.0 && <0.6,
        random >=1.0 && <1.2,
        hmatrix >=0.17.0.2 && <0.18,
        matrix ==0.3.*,
        sized >=0.2.1.0 && <0.3,
        vector >=0.10 && <0.12,
        convertible ==1.1.*,
        lens >=3.9 && <4.15,
        MonadRandom >=0.1 && <0.5
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded

executable algebraic
    main-is: algebraic.hs
    buildable: False
    build-depends:
        base >=4.9.0.0 && <4.10,
        algebraic-prelude >=0.1.0.1 && <0.2,
        computational-algebra >=0.5.0.0 && <0.6
    default-language: Haskell2010
    hs-source-dirs: examples
    ghc-options: -Wall -O2 -threaded

executable ipsolve
    main-is: ipsolve.hs
    buildable: False
    build-depends:
        semigroups >=0.15.2 && <0.19,
        parallel ==3.2.*,
        constraints >=0.3 && <0.9,
        algebra >=4.1 && <4.4,
        equational-reasoning >=0.2 && <0.5,
        reflection >=1.4 && <2.2,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        computational-algebra >=0.5.0.0 && <0.6,
        random >=1.0 && <1.2,
        hmatrix >=0.17.0.2 && <0.18,
        matrix ==0.3.*,
        sized >=0.2.1.0 && <0.3,
        vector >=0.10 && <0.12,
        convertible ==1.1.*,
        lens >=3.9 && <4.15,
        MonadRandom >=0.1 && <0.5,
        singletons ==2.2.*
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded

executable faugere-prof
    main-is: faugere-prof.hs
    buildable: False
    build-depends:
        criterion >=0.8.1.0 && <1.2,
        semigroups >=0.15.2 && <0.19,
        constraints >=0.3 && <0.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        computational-algebra >=0.5.0.0 && <0.6,
        random >=1.0 && <1.2,
        hmatrix >=0.17.0.2 && <0.18,
        matrix ==0.3.*,
        sized >=0.2.1.0 && <0.3,
        vector >=0.10 && <0.12,
        convertible ==1.1.*,
        lens >=3.9 && <4.15,
        deepseq >=1.3 && <1.5,
        MonadRandom >=0.1 && <0.5
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded

executable hensel-prof
    main-is: hensel-prof.hs
    buildable: False
    build-depends:
        criterion >=0.8.1.0 && <1.2,
        semigroups >=0.15.2 && <0.19,
        constraints >=0.3 && <0.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        computational-algebra >=0.5.0.0 && <0.6,
        random >=1.0 && <1.2,
        hmatrix >=0.17.0.2 && <0.18,
        matrix ==0.3.*,
        sized >=0.2.1.0 && <0.3,
        vector >=0.10 && <0.12,
        convertible ==1.1.*,
        lens >=3.9 && <4.15,
        deepseq >=1.3 && <1.5,
        MonadRandom >=0.1 && <0.5
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded -eventlog

executable sandpit-poly
    main-is: sandpit-poly.hs
    buildable: False
    build-depends:
        semigroups >=0.15.2 && <0.19,
        constraints >=0.3 && <0.9,
        computational-algebra >=0.5.0.0 && <0.6,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        algebra ==4.3.*,
        sized >=0.2.1.0 && <0.3
    hs-source-dirs: share examples

executable quotient
    main-is: quotient.hs
    buildable: False
    build-depends:
        semigroups >=0.15.2 && <0.19,
        constraints >=0.3 && <0.9,
        computational-algebra >=0.5.0.0 && <0.6,
        base >=4 && <4.10,
        type-natural >=0.7.1.2 && <0.8,
        algebra ==4.3.*,
        sized >=0.2.1.0 && <0.3,
        reflection >=2.1.2 && <2.2
    hs-source-dirs: share examples

test-suite test-multi-table
    type: exitcode-stdio-1.0
    main-is: multi-table.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.2.5.2 && <1.4,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        hspec >=1.9.5 && <2.3,
        lazysmallcheck ==0.6.*,
        lens >=3.9 && <4.15,
        quickcheck-instances >=0.3.8 && <0.4,
        reflection >=1.4 && <2.2,
        sized >=0.2.1.0 && <0.3,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.0.3 && <0.9,
        test-framework-hunit >=0.3.0.1 && <0.4,
        transformers >=0.3 && <0.6,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5
    hs-source-dirs: tests share
    other-modules:
        Utils
    ghc-options: -Wall -threaded
test-suite singular-test
    type: exitcode-stdio-1.0
    main-is: SingularTest.hs
    buildable: False
    build-depends:
        algebra ==4.3.*,
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        monomorphic >=0.0.3 && <0.1,
        smallcheck >=1.1.1 && <1.2,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        quickcheck-instances >=0.3.8 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        sized >=0.2.1.0 && <0.3,
        reflection >=2.1.2 && <2.2,
        tagged >=0.8.5 && <0.9,
        lens ==4.14.*,
        matrix >=0.3.5.0 && <0.4,
        text >=1.2.2.1 && <1.3,
        singletons ==2.2.*
    hs-source-dirs: tests share
    other-modules:
        Utils
        SingularBridge
    ghc-options: -Wall -threaded
test-suite monomial-order-test
    type: exitcode-stdio-1.0
    main-is: monomials.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        monomorphic >=0.0.3 && <0.1,
        smallcheck >=1.1.1 && <1.2,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        sized >=0.2.1.0 && <0.3
    hs-source-dirs: tests share
    other-modules:
        Utils
    ghc-options: -Wall -threaded
test-suite linear-test
    type: exitcode-stdio-1.0
    main-is: linear.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        sized >=0.2.1.0 && <0.3,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: tests share
    other-modules:
        Utils
    ghc-options: -Wall -threaded
test-suite matrix-test
    type: exitcode-stdio-1.0
    main-is: matrix.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        sized >=0.2.1.0 && <0.3,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*,
        equational-reasoning >=0.2 && <0.5
    hs-source-dirs: tests share
    other-modules:
        Utils
    ghc-options: -Wall -threaded
test-suite specs
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        sized >=0.2.1.0 && <0.3,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        convertible >=1.1.1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        process >=1.1 && <1.5,
        text >=0.11 && <1.3,
        singletons ==2.2.*,
        matrix ==0.3.*
    hs-source-dirs: tests share
    other-modules:
        Utils
        UnivariateSpec
        GroebnerSpec
        ZeroDimSpec
        QuotientSpec
        PolynomialSpec
        SingularBridge
    ghc-options: -Wall -threaded
test-suite new-div-test
    type: exitcode-stdio-1.0
    main-is: division.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: tests share
    other-modules:
        Utils
    ghc-options: -Wall -threaded

benchmark unipol-bench
    type: exitcode-stdio-1.0
    main-is: unipol-bench.hs
    build-depends:
        constraints >=0.3 && <0.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        singletons ==2.2.*,
        sized >=0.2.1.0 && <0.3,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*
    hs-source-dirs: bench share
    ghc-options: -O2 -threaded -rtsopts
benchmark normal-bench
    type: exitcode-stdio-1.0
    main-is: bench.hs
    build-depends:
        constraints >=0.3 && <0.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        singletons ==2.2.*,
        sized >=0.2.1.0 && <0.3,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        SingularBench
    ghc-options: -O2 -threaded -rtsopts
benchmark elimination-bench
    type: exitcode-stdio-1.0
    main-is: elimination-bench.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        singletons ==2.2.*,
        sized >=0.2.1.0 && <0.3,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        SingularBench
    ghc-options: -O2 -threaded -rtsopts
benchmark quotient-bench-randomized
    type: exitcode-stdio-1.0
    main-is: quotient-bench-randomized.hs
    build-depends:
        constraints >=0.3 && <0.9,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        lens >=3.9 && <4.15,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        singletons ==2.2.*,
        smallcheck >=1.1.1 && <1.2,
        sized >=0.2.1.0 && <0.3,
        tagged >=0.7 && <0.9,
        transformers >=0.3 && <0.6,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*,
        equational-reasoning >=0.2 && <0.5,
        monomorphic >=0.0.3 && <0.1
    hs-source-dirs: bench share
    other-modules:
        SingularBench
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark monomial-order-bench
    type: exitcode-stdio-1.0
    main-is: monomials.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        random >=1.0 && <1.2,
        reflection >=1.4 && <2.2,
        singletons ==2.2.*,
        sized >=0.2.1.0 && <0.3,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        transformers >=0.3 && <0.6,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        SingularBench
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark linear-bench
    type: exitcode-stdio-1.0
    main-is: linear.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        sized >=0.2.1.0 && <0.3,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*,
        monomorphic >=0.0.3 && <0.1
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark division-bench
    type: exitcode-stdio-1.0
    main-is: division.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        sized >=0.2.1.0 && <0.3,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*,
        monomorphic >=0.0.3 && <0.1
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark sugar-paper-bench
    type: exitcode-stdio-1.0
    main-is: sugar-paper.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*,
        monomorphic >=0.0.3 && <0.1
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark solve-bench
    type: exitcode-stdio-1.0
    main-is: solve.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        random >=1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -O2 -threaded -rtsopts
benchmark coercion-bench
    type: exitcode-stdio-1.0
    main-is: coercion.hs
    buildable: False
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        MonadRandom >=0.1 && <0.5,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        random >=1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
benchmark faugere4-bench
    type: exitcode-stdio-1.0
    main-is: faugere4.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        random >=1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
benchmark unipol-mult-bench
    type: exitcode-stdio-1.0
    main-is: unipol-mult.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        random >=1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
benchmark unipol-div-bench
    type: exitcode-stdio-1.0
    main-is: unipol-div.hs
    build-depends:
        constraints >=0.3 && <0.9,
        HUnit >=1.3.1.2 && <1.4,
        sized >=0.2.1.0 && <0.3,
        QuickCheck >=2.6 && <2.9,
        algebra ==4.3.*,
        base >=4 && <4.10,
        computational-algebra >=0.5.0.0 && <0.6,
        containers ==0.5.*,
        criterion >=0.8.1.0 && <1.2,
        deepseq >=1.3 && <1.5,
        hspec >=2.2.4 && <2.3,
        lens >=3.9 && <4.15,
        monomorphic >=0.0.3 && <0.1,
        parallel ==3.2.*,
        process >=1.1 && <1.5,
        quickcheck-instances >=0.3.12 && <0.4,
        reflection >=1.4 && <2.2,
        smallcheck >=1.1.1 && <1.2,
        tagged >=0.7 && <0.9,
        test-framework >=0.8.1.1 && <0.9,
        test-framework-hunit >=0.3.0.2 && <0.4,
        type-natural >=0.7.1.2 && <0.8,
        vector >=0.10 && <0.12,
        random >=1.0 && <1.2,
        equational-reasoning >=0.2 && <0.5,
        matrix ==0.3.*
    hs-source-dirs: bench share
    other-modules:
        Utils
    ghc-options: -Wall -O2 -threaded -rtsopts