packages feed

computational-algebra-0.5.1.0: computational-algebra.cabal

name: computational-algebra
version: 0.5.1.0
cabal-version: >=1.10
build-type: Simple
license: BSD3
license-file: LICENSE
copyright: (C) Hiromi ISHII 2013
maintainer: konn.jinro_at_gmail.com
homepage: https://konn.github.com/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
data-dir: ""
tested-with:        GHC == 8.0.2, GHC == 8.2.2
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
    manual:  True

flag profile
    manual:  True
    default: False
 
library
    build-depends: ListLike ==4.5.*,
                   MonadRandom >=0.1 && <0.6,
                   algebra >=4.1 && <4.4,
                   algebraic-prelude >=0.1.1.0 && <0.2,
                   arithmoi >=0.5 && <0.7,
                   base >=4 && <4.11,
                   constraints >=0.3 && <0.10,
                   containers ==0.5.*,
                   control-monad-loop ==0.1.*,
                   convertible ==1.1.*,
                   deepseq >=1.3 && <1.5,
                   dlist >=0.8.0.3 && <0.9,
                   entropy >=0.3.8 && <0.4,
                   equational-reasoning >=0.4.1.1 && <0.6,
                   ghc-typelits-knownnat >=0.3.1 && <0.4,
                   ghc-typelits-natnormalise >=0.5.7 && <0.6,
                   ghc-typelits-presburger >=0.1.1.1 && <0.2,
                   hashable >=1.1 && <1.3,
                   heaps ==0.3.*,
                   hmatrix >=0.16 && <0.19,
                   hybrid-vectors >=0.1 && <0.3,
                   hybrid-vectors >=0.1 && <0.3,
                   integer-logarithms ==1.0.*,
                   lens >=4.13 && <4.16,
                   matrix ==0.3.*,
                   monad-loops ==0.4.*,
                   mono-traversable >=0.10 && <1.1,
                   monomorphic >=0.0.3 && <0.1,
                   mtl >=2.1 && <2.3,
                   parallel ==3.2.*,
                   primes >=0.2.1 && <0.3,
                   reflection >=2 && <2.2,
                   semigroups >=0.15 && <0.19,
                   singletons >=2.2 && <2.4,
                   sized ==0.2.*,
                   tagged >=0.7 && <0.9,
                   template-haskell >=2.12.0.0 && <2.13,
                   text >=0.11 && <1.3,
                   type-natural >=0.7.1 && <0.8,
                   unamb ==0.2.*,
                   unordered-containers ==0.2.*,
                   vector >=0.10 && <0.13,
                   vector-algorithms >=0.7.0.1 && <0.8
    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
    exposed:           True
    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
    default-language:   Haskell2010
    default-extensions: CPP
                      , DataKinds
                      , FlexibleContexts
                      , FlexibleInstances
                      , GADTs
                      , MultiParamTypeClasses
                      , NoImplicitPrelude
                      , OverloadedLabels
                      , PolyKinds
                      , TypeFamilies
                      , UndecidableInstances
 
executable groebner-prof
  hs-source-dirs:      share examples
  Main-is:             groebner-prof.hs
  build-depends:       base
                     , computational-algebra
                     , deepseq
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -O2
  default-extensions:  NoImplicitPrelude

  if flag(profile)
      ghc-options:       -prof -fprof-auto-exported
  else
      Buildable: False

executable solve
    build-depends: MonadRandom
                 , algebra
                 , base
                 , type-natural
                 , computational-algebra
                 , constraints
                 , convertible
                 , hmatrix
                 , lens
                 , matrix
                 , random >=1.0 && <1.2
                 , semigroups
                 , sized
                 , vector
     
    main-is: solve.hs
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded
    default-language:   Haskell2010

    if !flag(examples)
        buildable: False

executable algebraic
  Main-is:             algebraic.hs
  hs-source-dirs:      examples
  build-depends:       algebraic-prelude
                     , base
                     , computational-algebra
  default-language:    Haskell2010
  ghc-options:         -Wall -O2 -threaded

  if !flag(examples)
      buildable: False


executable ipsolve
    build-depends: MonadRandom
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , convertible
                 , equational-reasoning
                 , hmatrix
                 , lens
                 , matrix
                 , parallel
                 , random >=1.0 && <1.2
                 , reflection
                 , semigroups
                 , singletons
                 , sized
                 , type-natural
                 , vector
     
    main-is: ipsolve.hs
    hs-source-dirs: share examples
    ghc-options: -caf-all -auto-all -rtsopts -O2 -threaded
    default-language:   Haskell2010

    if !flag(examples)
        buildable: False
 
executable hensel-prof
    build-depends: MonadRandom
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , convertible
                 , criterion >=0.8.1.0 && <1.3
                 , deepseq
                 , hmatrix
                 , lens
                 , matrix
                 , random >=1.0 && <1.2
                 , semigroups
                 , sized
                 , type-natural
                 , vector
    if flag(profile)
        ghc-options: -caf-all -auto-all -rtsopts -eventlog
    else
        buildable: False
    main-is: hensel-prof.hs
    hs-source-dirs: share examples
    ghc-options: -O2 -threaded
    default-language:   Haskell2010

executable sandpit-poly
    build-depends: algebra
                 , base
                 , computational-algebra
                 , constraints
                 , semigroups
                 , sized
                 , type-natural
     
    if !flag(examples)
        buildable: False
    main-is: sandpit-poly.hs
    hs-source-dirs: share examples
    default-language:   Haskell2010

executable quotient
    build-depends: algebra
                 , base
                 , computational-algebra
                 , constraints
                 , reflection
                 , semigroups
                 , sized
                 , type-natural
     
    if !flag(examples)
        buildable: False
    main-is: quotient.hs
    hs-source-dirs: share examples
    default-language:   Haskell2010
 
test-suite test-multi-table
    build-depends: HUnit >=1.2.5.2 && <1.7
                 , QuickCheck >=2.6 && <2.11
                 , algebra
                 , base
                 , computational-algebra -any
                 , constraints
                 , containers
                 , equational-reasoning
                 , hspec >=1.9.5 && <2.5
                 , lazysmallcheck ==0.6.*
                 , lens
                 , quickcheck-instances >=0.3.8 && <0.4
                 , reflection
                 , sized
                 , smallcheck >=1.1.1 && <1.2
                 , tagged
                 , test-framework >=0.8.0.3 && <0.9
                 , test-framework-hunit >=0.3.0.1 && <0.4
                 , transformers
                 , type-natural
                 , vector

    type: exitcode-stdio-1.0
    main-is: multi-table.hs
    buildable: False
    hs-source-dirs: tests share
    other-modules: Utils
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

test-suite singular-test
    main-is: SingularTest.hs
    type: exitcode-stdio-1.0
    buildable: False
    hs-source-dirs: tests share
    other-modules: Utils SingularBridge
    ghc-options: -Wall -threaded
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , quickcheck-instances
                 , reflection
                 , singletons
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , text
                 , type-natural
                 , vector
    default-language:   Haskell2010

test-suite monomial-order-test
    build-depends: HUnit -any
                 , MonadRandom
                 , QuickCheck
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , monomorphic
                 , sized
                 , smallcheck
                 , test-framework
                 , test-framework-hunit
                 , vector
    type: exitcode-stdio-1.0
    main-is: monomials.hs
    buildable: False
    hs-source-dirs: tests share
    other-modules: Utils
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

test-suite linear-test
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base >=4
                 , computational-algebra
                 , constraints
                 , containers
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , quickcheck-instances
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: linear.hs
    buildable: True
    hs-source-dirs: tests share
    other-modules: Utils
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

test-suite matrix-test
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , quickcheck-instances
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: matrix.hs
    buildable: False
    hs-source-dirs: tests share
    other-modules: Utils
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

test-suite specs
    build-depends: HUnit -any
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , convertible
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , process >=1.1 && <1.7
                 , quickcheck-instances
                 , reflection
                 , singletons
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , text
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    buildable: True
    hs-source-dirs: tests share
    other-modules: QuotientSpec PolynomialSpec SingularBridge
                   Utils UnivariateSpec GroebnerSpec ZeroDimSpec
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

test-suite new-div-test
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , quickcheck-instances
                 , reflection
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: division.hs
    buildable: False
    hs-source-dirs: tests share
    other-modules: Utils
    ghc-options: -Wall -threaded
    default-language:   Haskell2010

benchmark unipol-bench
    build-depends: algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , matrix
                 , parallel
                 , process
                 , singletons
                 , sized
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: unipol-bench.hs
    hs-source-dirs: bench share
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark normal-bench
    build-depends: algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , matrix
                 , parallel
                 , process
                 , singletons
                 , sized
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: bench.hs
    -- buildable: False
    hs-source-dirs: bench share
    other-modules: SingularBench
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark elimination-bench
    build-depends: algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers 
                 , criterion
                 , deepseq
                 , matrix
                 , parallel
                 , process
                 , singletons
                 , sized
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: elimination-bench.hs
    buildable: False
    hs-source-dirs: bench share
    other-modules: SingularBench
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark quotient-bench-randomized
    build-depends: QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , reflection
                 , singletons
                 , sized
                 , smallcheck
                 , tagged
                 , transformers
                 , type-natural
                 , vector
                 , constraints
    type: exitcode-stdio-1.0
    main-is: quotient-bench-randomized.hs
    buildable: True
    hs-source-dirs: bench share
    other-modules: SingularBench Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark monomial-order-bench
    build-depends: QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraint
                 , containers
                 , criterion
                 , deepseq
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , random
                 , reflection
                 , singletons
                 , sized
                 , smallcheck
                 , tagged
                 , transformers
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: monomials.hs
    buildable: False
    hs-source-dirs: bench share
    other-modules: SingularBench Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark linear-bench
    build-depends: HUnit -any
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: linear.hs
    buildable: False
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark division-bench
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: division.hs
    buildable: False
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark sugar-paper-bench
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: sugar-paper.hs
    buildable: True
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark solve-bench
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , random
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: solve.hs
    buildable: True
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark coercion-bench
    build-depends: HUnit
                 , MonadRandom
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , random
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: coercion.hs
    buildable: False
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark unipol-mult-bench
    build-depends: HUnit
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , constraints
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , random
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
    type: exitcode-stdio-1.0
    main-is: unipol-mult.hs
    buildable: True
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
    default-language:   Haskell2010

benchmark unipol-div-bench
    build-depends: HUnit
                 , QuickCheck
                 , algebra
                 , base
                 , computational-algebra
                 , containers
                 , criterion
                 , deepseq
                 , equational-reasoning
                 , hspec
                 , lens
                 , matrix
                 , monomorphic
                 , parallel
                 , process
                 , quickcheck-instances
                 , random
                 , reflection
                 , sized
                 , smallcheck
                 , tagged
                 , test-framework
                 , test-framework-hunit
                 , type-natural
                 , vector
                , constraints
    type: exitcode-stdio-1.0
    main-is: unipol-div.hs
    buildable: True
    hs-source-dirs: bench share
    other-modules: Utils
    ghc-options: -Wall -O2 -threaded -rtsopts
    default-language:   Haskell2010