toysolver-0.4.0: toysolver.cabal
Name: toysolver
Version: 0.4.0
License: BSD3
License-File: COPYING
Author: Masahiro Sakai (masahiro.sakai@gmail.com)
Maintainer: masahiro.sakai@gmail.com
Category: Algorithms, Optimisation, Optimization, Theorem Provers, Constraints, Logic
Cabal-Version: >= 1.10
Synopsis: Assorted decision procedures for SAT, Max-SAT, PB, MIP, etc
Description: Toy-level implementation of some decision procedures
Bug-Reports: https://github.com/msakai/toysolver/issues
Tested-With:
GHC ==7.6.3
GHC ==7.8.3
GHC ==7.10.3
Extra-Source-Files:
README.md
CHANGELOG.markdown
COPYING
COPYING-GPL
.ghci
.travis.yml
appveyor.yml
build_bdist_linux.sh
build_bdist_macos.sh
build_bdist_win32.sh
build_bdist_win64.sh
build_bdist_maxsat_evaluation.sh
build_bdist_pb_evaluation.sh
misc/maxsat/toysat/README.md
misc/maxsat/toysat/toysat
misc/maxsat/toysat_ls/README.md
misc/maxsat/toysat_ls/toysat_ls
misc/pb/README.md
src/TseitinEncode.hs
src/ToySolver/Data/Polyhedron.hs
samples/gcnf/*.cnf
samples/gcnf/*.gcnf
samples/gcnf/edn_20403_8.cnf_0.03000000.unsat.gcnf
samples/lp/*.lp
samples/lp/error/*.lp
samples/maxsat/*.cnf
samples/maxsat/t3pm3-5555.spn.cnf
samples/maxsat/*.wcnf
samples/maxsat/ram_k3_n10.ra1.wcnf
samples/mps/*.mps
samples/pbo/*.opb
samples/pbs/*.opb
samples/pbs/normalized-1096.cudf.paranoid.opb
samples/sat/*.cnf
samples/wbo/*.wbo
samples/sdp/*.dat
samples/sdp/*.dat-s
samples/smt/*.smt2
samples/smt/*.ys
samples/qbf/*.qdimacs
samples/programs/sudoku/*.sdk
samples/programs/knapsack/README.md
samples/programs/knapsack/*.txt
samples/programs/htc/test1.dat
samples/programs/htc/test2.dat
samples/programs/svm2lp/a1a
samples/programs/nonogram/*.cwd
samples/programs/nonogram/README.md
benchmarks/UF250.1065.100/*.cnf
benchmarks/UUF250.1065.100/*.cnf
Build-Type: Simple
Flag ForceChar8
Description: set default encoding to char8 (not to use iconv)
Default: False
Manual: True
Flag LinuxStatic
Description: build statically linked binaries
Default: False
Manual: True
Flag BuildToyFMF
Description: build toyfmf command
Default: False
Manual: True
Flag BuildSamplePrograms
Description: build sample programs
Default: False
Manual: True
Flag BuildMiscPrograms
Description: build misc programs
Default: False
Manual: True
Flag Exceptions06
Description: use exceptions >=0.6
Manual: False
Flag Time15
Description: use time >=1.5.0
Manual: False
Flag Transformers051
Description: use transformers >=0.5.1
Manual: False
Flag UseHaskeline
Description: use haskeline package
Manual: True
Default: True
source-repository head
type: git
location: git://github.com/msakai/toysolver.git
Library
Exposed: True
Hs-source-dirs: src
Build-Depends:
base >=4.6 && <5,
template-haskell,
-- IntMap.mergeWithKey and IntMap.toDescList require containers >=0.5.0
containers >=0.5.0,
unordered-containers >=0.2.3 && <0.3.0,
transformers >=0.2,
transformers-compat >=0.3,
mtl >=2.1.2,
array >=0.4.0.0,
stm >=2.3,
parsec >=3.1.2 && <4,
bytestring >=0.9.2.1 && <0.11,
bytestring-builder,
filepath,
deepseq,
time,
primes,
process >=1.1.0.2,
parse-dimacs,
queue,
heaps,
vector,
vector-space >=0.8.6,
multiset,
prettyclass >=1.0.0,
type-level-numbers >=0.1.1.0 && <0.2.0.0,
hashable >=1.1.2.5 && <1.3.0.0,
intern >=0.9.1.2 && <1.0.0.0,
loop >=0.2.0 && < 1.0.0,
data-default-class,
-- createSystemRandom requires mwc-random >=0.13.1.0
mwc-random >=0.13.1 && <0.14,
semigroups >=0.17,
OptDir,
extended-reals >=0.1 && <1.0,
data-interval >=1.0.1 && <1.3.0,
finite-field >=0.7.0 && <1.0.0,
sign >=0.2.0 && <1.0.0,
pseudo-boolean >=0.1.3.0 && <0.2.0.0
-- NOTE: temporary-1.2.0.2 does not work with exceptions-0.6
if flag(Exceptions06)
Build-Depends: temporary >1.2.0.2, exceptions >=0.6
else
Build-Depends: temporary >=1.2, exceptions ==0.5
if impl(ghc <7.7)
Build-Depends:
-- vector-space depends on MemoTrie, but MemoTrie >=0.6.3 uses extensions that are not available on GHC 7.6.
MemoTrie <=0.6.2
if flag(Transformers051)
Build-Depends: transformers >=0.5.1.0
else
Build-Depends: transformers <0.5.1.0
if impl(ghc)
Build-Depends: ghc-prim
Default-Language: Haskell2010
Other-Extensions:
BangPatterns
CPP
DeriveDataTypeable
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GeneralizedNewtypeDeriving
MultiParamTypeClasses
OverloadedStrings
RecursiveDo
Rank2Types
ScopedTypeVariables
TemplateHaskell
TypeFamilies
TypeSynonymInstances
if impl(ghc)
Other-Extensions:
MagicHash
UnboxedTuples
Exposed-Modules:
ToySolver.Arith.BoundsInference
ToySolver.Arith.CAD
ToySolver.Arith.ContiTraverso
ToySolver.Arith.Cooper
ToySolver.Arith.Cooper.Base
ToySolver.Arith.Cooper.FOL
ToySolver.Arith.FourierMotzkin
ToySolver.Arith.FourierMotzkin.Base
ToySolver.Arith.FourierMotzkin.FOL
ToySolver.Arith.FourierMotzkin.Optimization
ToySolver.Arith.LPSolver
ToySolver.Arith.LPSolverHL
ToySolver.Arith.LPUtil
ToySolver.Arith.MIPSolverHL
ToySolver.Arith.MIPSolver2
ToySolver.Arith.OmegaTest
ToySolver.Arith.OmegaTest.Base
ToySolver.Arith.Simplex
ToySolver.Arith.Simplex2
ToySolver.Arith.VirtualSubstitution
ToySolver.EUF.CongruenceClosure
ToySolver.EUF.EUFSolver
ToySolver.EUF.FiniteModelFinder
ToySolver.Combinatorial.HittingSet.Simple
ToySolver.Combinatorial.HittingSet.HTCBDD
ToySolver.Combinatorial.HittingSet.SHD
ToySolver.Combinatorial.HittingSet.FredmanKhachiyan1996
ToySolver.Combinatorial.HittingSet.GurvichKhachiyan1999
ToySolver.Combinatorial.Knapsack.BB
ToySolver.Combinatorial.Knapsack.DPDense
ToySolver.Combinatorial.Knapsack.DPSparse
ToySolver.Combinatorial.SubsetSum
ToySolver.Converter.ObjType
ToySolver.Converter.MIP2SMT
ToySolver.Converter.MaxSAT2IP
ToySolver.Converter.MaxSAT2NLPB
ToySolver.Converter.MaxSAT2WBO
ToySolver.Converter.PB2IP
ToySolver.Converter.PB2LSP
ToySolver.Converter.PB2WBO
ToySolver.Converter.PBSetObj
ToySolver.Converter.PB2SMP
ToySolver.Converter.SAT2PB
ToySolver.Converter.SAT2IP
ToySolver.Converter.WBO2PB
ToySolver.Data.AlgebraicNumber.Complex
ToySolver.Data.AlgebraicNumber.Real
ToySolver.Data.AlgebraicNumber.Root
ToySolver.Data.AlgebraicNumber.Sturm
ToySolver.Data.Boolean
ToySolver.Data.BoolExpr
ToySolver.Data.Delta
ToySolver.Data.DNF
ToySolver.Data.FOL.Arith
ToySolver.Data.FOL.Formula
ToySolver.Data.LA
ToySolver.Data.LA.FOL
ToySolver.Data.LBool
ToySolver.Data.MIP
ToySolver.Data.MIP.Base
ToySolver.Data.MIP.LPFile
ToySolver.Data.MIP.MPSFile
ToySolver.Data.OrdRel
ToySolver.Data.Polynomial
ToySolver.Data.Polynomial.Factorization.FiniteField
ToySolver.Data.Polynomial.Factorization.Hensel
ToySolver.Data.Polynomial.Factorization.Hensel.Internal
ToySolver.Data.Polynomial.Factorization.Integer
ToySolver.Data.Polynomial.Factorization.Kronecker
ToySolver.Data.Polynomial.Factorization.Rational
ToySolver.Data.Polynomial.Factorization.SquareFree
ToySolver.Data.Polynomial.Factorization.Zassenhaus
ToySolver.Data.Polynomial.GroebnerBasis
ToySolver.Data.Polynomial.Interpolation.Lagrange
ToySolver.Data.Var
ToySolver.SAT
ToySolver.SAT.Integer
ToySolver.SAT.MUS
ToySolver.SAT.MUS.CAMUS
ToySolver.SAT.MUS.DAA
ToySolver.SAT.MUS.Types
ToySolver.SAT.MUS.QuickXplain
ToySolver.SAT.PBNLC
ToySolver.SAT.PBO
ToySolver.SAT.PBO.Context
ToySolver.SAT.PBO.BC
ToySolver.SAT.PBO.BCD
ToySolver.SAT.PBO.BCD2
ToySolver.SAT.PBO.MSU4
ToySolver.SAT.PBO.UnsatBased
ToySolver.SAT.TheorySolver
ToySolver.SAT.TseitinEncoder
ToySolver.SAT.Types
ToySolver.SAT.Printer
ToySolver.SMT
ToySolver.Text.GCNF
ToySolver.Text.GurobiSol
ToySolver.Text.MaxSAT
ToySolver.Text.SDPFile
ToySolver.Internal.Data.IndexedPriorityQueue
ToySolver.Internal.Data.IOURef
ToySolver.Internal.Data.PriorityQueue
ToySolver.Internal.Data.SeqQueue
ToySolver.Internal.Data.Vec
ToySolver.Internal.ProcessUtil
ToySolver.Internal.TextUtil
ToySolver.Internal.Util
ToySolver.Wang
ToySolver.Version
Other-Modules:
ToySolver.Data.AlgebraicNumber.Graeffe
ToySolver.Data.Polynomial.Base
ToySolver.Version.TH
Paths_toysolver
-- GHC-Prof-Options: -auto-all
Executable toysolver
Main-is: toysolver.hs
HS-Source-Dirs: toysolver
Build-Depends:
base,
containers,
array,
data-default-class,
filepath,
OptDir,
parse-dimacs,
pseudo-boolean,
toysolver
Default-Language: Haskell2010
if impl(ghc)
GHC-Options: -rtsopts -threaded
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
-- GHC-Prof-Options: -auto-all
Executable toysat
Main-is: toysat.hs
Other-Modules: UBCSAT
HS-Source-Dirs: toysat
Build-Depends:
base,
data-default-class,
mwc-random,
containers,
array,
process >=1.1.0.2,
parsec,
bytestring,
filepath,
parse-dimacs,
unbounded-delays,
vector,
vector-space,
pseudo-boolean,
toysolver
if flag(Time15)
Build-Depends: time >=1.5.0
else
Build-Depends: time <1.5.0, old-locale
Default-Language: Haskell2010
Other-Extensions: ScopedTypeVariables, CPP
if impl(ghc)
GHC-Options: -rtsopts
-- GHC-Prof-Options: -auto-all
if flag(ForceChar8) && impl(ghc)
Build-Depends: base >=4.5
CPP-OPtions: "-DFORCE_CHAR8"
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable toysmt
HS-Source-Dirs: toysmt, Smtlib
Main-is: toysmt.hs
Other-Modules:
ToySolver.SMT.SMTLIB2Solver,
-- Following modules are copied from SmtLib package.
-- http://hackage.haskell.org/package/SmtLib
-- https://github.com/MfesGA/Smtlib
Smtlib.Parsers.CommonParsers,
Smtlib.Parsers.ResponseParsers,
Smtlib.Parsers.CommandsParsers,
Smtlib.Syntax.Syntax,
Smtlib.Syntax.ShowSL
Build-Depends:
base,
containers,
data-default-class,
mtl,
parsec,
transformers,
transformers-compat,
toysolver
if flag(UseHaskeline)
Build-Depends: haskeline >=0.7 && <0.8
CPP-Options: "-DUSE_HASKELINE_PACKAGE"
Default-Language: Haskell2010
Other-Extensions: ScopedTypeVariables, CPP
if impl(ghc >= 7)
GHC-Options: -rtsopts
-- GHC-Prof-Options: -auto-all
if flag(ForceChar8) && impl(ghc)
Build-Depends: base >=4.5
CPP-OPtions: "-DFORCE_CHAR8"
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable toyfmf
If !flag(BuildToyFMF)
Buildable: False
Main-is: toyfmf.hs
HS-Source-Dirs: toyfmf
If flag(BuildToyFMF)
Build-Depends:
base,
containers,
toysolver,
logic-TPTP >=0.4.1
-- logic-TPTP <=0.4.3 has build error on ghc <7.9 and transformers >=0.5.1.
if impl(ghc <7.9) && flag(Transformers051)
Build-Depends: logic-TPTP >=0.4.4.0
Default-Language: Haskell2010
if impl(ghc)
GHC-Options: -rtsopts
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
-- GHC-Prof-Options: -auto-all
-- Converters
Executable lpconvert
Main-is: lpconvert.hs
HS-Source-Dirs: lpconvert
Build-Depends:
base,
filepath,
data-default-class,
parse-dimacs,
pseudo-boolean,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable pbconvert
Main-is: pbconvert.hs
HS-Source-Dirs: pbconvert
Build-Depends:
base >=4 && <5,
filepath,
data-default-class,
parse-dimacs,
pseudo-boolean,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
-- Sample Programs
Executable sudoku
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: sudoku.hs
HS-Source-Dirs: samples/programs/sudoku
Build-Depends:
base,
array,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable nonogram
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: nonogram.hs
HS-Source-Dirs: samples/programs/nonogram
Build-Depends:
base,
array,
containers,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable nqueens
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: nqueens.hs
HS-Source-Dirs: samples/programs/nqueens
Build-Depends:
base,
array,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable knapsack
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: knapsack.hs
HS-Source-Dirs: samples/programs/knapsack
Build-Depends:
base,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable htc
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: htc.hs
HS-Source-Dirs: samples/programs/htc
Build-Depends:
base,
containers,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable svm2lp
If !flag(BuildSamplePrograms)
Buildable: False
Main-is: svm2lp.hs
HS-Source-Dirs: samples/programs/svm2lp
Build-Depends:
base,
containers,
data-default-class,
split,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
-- Misc Programs
Executable pigeonhole
If !flag(BuildMiscPrograms)
Buildable: False
Main-is: pigeonhole.hs
HS-Source-Dirs: pigeonhole
Build-Depends:
base,
containers,
pseudo-boolean,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable maxsatverify
If !flag(BuildMiscPrograms)
Buildable: False
Main-is: maxsatverify.hs
HS-Source-Dirs: maxsatverify
Build-Depends:
base,
array,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
Executable pbverify
Main-is: pbverify.hs
If !flag(BuildMiscPrograms)
Buildable: False
HS-Source-Dirs: pbverify
Build-Depends:
base,
array,
pseudo-boolean,
toysolver
Default-Language: Haskell2010
if flag(LinuxStatic)
GHC-Options: -static -optl-static -optl-pthread
-- Test suites and benchmarks
Test-suite TestPolynomial
Type: exitcode-stdio-1.0
HS-Source-Dirs: test
Main-is: TestPolynomial.hs
Build-depends:
base,
containers,
toysolver,
tasty >=0.10.1,
tasty-hunit ==0.9.*,
tasty-quickcheck ==0.8.*,
tasty-th,
data-interval,
finite-field >=0.7.0 && <1.0.0,
prettyclass >=1.0.0
Default-Language: Haskell2010
Other-Extensions: TemplateHaskell
Test-suite TestSuite
Type: exitcode-stdio-1.0
HS-Source-Dirs: test Smtlib toysmt
Main-is: TestSuite.hs
Other-Modules:
Test.AReal
Test.AReal2
Test.Arith
Test.BoolExpr
Test.CongruenceClosure
Test.ContiTraverso
Test.Delta
Test.FiniteModelFinder
Test.HittingSets
Test.Knapsack
Test.LPFile
Test.Misc
Test.MIPSolver2
Test.MPSFile
Test.SAT
Test.SDPFile
Test.Simplex
Test.Simplex2
Test.SMT
Test.SMTLIB2Solver
Test.SubsetSum
Smtlib.Parsers.CommonParsers,
Smtlib.Parsers.ResponseParsers,
Smtlib.Parsers.CommandsParsers,
Smtlib.Syntax.Syntax,
Smtlib.Syntax.ShowSL
Build-depends:
base,
array,
containers,
data-default-class,
deepseq,
mtl,
mwc-random,
parsec,
transformers,
transformers-compat,
vector,
vector-space,
toysolver,
data-interval,
OptDir,
tasty >=0.10.1,
tasty-hunit ==0.9.*,
tasty-quickcheck ==0.8.*,
tasty-th,
QuickCheck >=2.5 && <3
Default-Language: Haskell2010
Other-Extensions: TemplateHaskell, ScopedTypeVariables
Benchmark BenchmarkSATLIB
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: BenchmarkSATLIB.hs
build-depends:
base >=4 && <5,
array,
data-default-class,
parse-dimacs,
toysolver,
criterion >=1.0 && <1.2
Default-Language: Haskell2010
Benchmark BenchmarkKnapsack
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: BenchmarkKnapsack.hs
build-depends:
base >=4 && <5,
toysolver,
criterion >=1.0 && <1.2
Default-Language: Haskell2010
Benchmark BenchmarkSubsetSum
type: exitcode-stdio-1.0
hs-source-dirs: benchmarks
main-is: BenchmarkSubsetSum.hs
build-depends:
base >=4 && <5,
vector,
toysolver,
criterion >=1.0 && <1.2
Default-Language: Haskell2010