PySMT 0.9.7.dev390__tar.gz → 0.9.7.dev397__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pysmt-0.9.7.dev390/PySMT.egg-info → pysmt-0.9.7.dev397}/PKG-INFO +1 -1
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397/PySMT.egg-info}/PKG-INFO +1 -1
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/__init__.py +1 -1
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/install.py +1 -1
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/optimsat.py +19 -11
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/optimsat.py +12 -3
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/optimization_utils.py +3 -4
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_omt_lib_solver.py +2 -5
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_optimizing.py +1 -4
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/LICENSE +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/MANIFEST.in +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/NOTICE +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/SOURCES.txt +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/dependency_links.txt +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/entry_points.txt +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/top_level.txt +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/README.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/CHANGES.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/api_ref.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/development.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/getting_started.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/index.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/tutorials/boolean_logic.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/tutorials.rst +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/__main__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/check_version.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/base.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/bdd.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/btor.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/cvcfive.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/cvcfour.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/msat.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/pico.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/yices.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/z3.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/shell.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/configuration.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/constants.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/decorators.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/environment.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/exceptions.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/factory.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/fnode.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/formula.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/logics.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/operators.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/goal.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/msat.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/optimizer.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/yices.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/z3.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/oracles.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/parsing.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/printers.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/rewritings.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/shortcuts.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/simplifier.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/annotations.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/commands.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/parser/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/parser/parser.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/printers.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/script.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/solver.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/utils.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/bdd.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/btor.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/cvcfive.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/cvcfour.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/dynmsat.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/eager.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/interpolation.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/msat.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/options.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/pico.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/portfolio.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/qelim.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/smtlib.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/solver.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/yices.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/z3.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/substituter.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/configs/config1.ini +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/configs/config_bad.ini +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/examples.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/omt_examples.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/parser_utils.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_annotations.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_fuzzed.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_generic_wrapper.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_griggio.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_model_validation.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_examples.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_extensibility.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_lra.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_omt.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_arrays.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lia.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lira.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lra.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_nia.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_nra.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_uf.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_ufbv.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_type_error.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_smtlibscript.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_array.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_back.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bdd.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bv.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bv_simplification.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_cnf.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_configuration.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_constants.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_cvc_quantifiers.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_dwf.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_eager_model.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_env.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_euf.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_formula.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_hr_parsing.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_imports.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_int.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_interpolation.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_lira.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_logics.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_models.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_native_qe.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_nia.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_nlira.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_optimization.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_oracles.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_portfolio.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_printing.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_qe.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_regressions.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_rewritings.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_shannon_expansion.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_simplify.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_size.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_solving.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_sorts.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_string.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_typechecker.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_unsat_cores.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_walker_ext.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_walkers.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/type_checker.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/typing.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/utils.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/__init__.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/dag.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/generic.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/identitydag.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/tree.py +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/setup.cfg +0 -0
- {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/setup.py +0 -0
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
from typing import Tuple, Union
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
VERSION: Union[Tuple[int, int, int], Tuple[int, int, int, str, int]] = (0, 9, 7, "dev",
|
|
22
|
+
VERSION: Union[Tuple[int, int, int], Tuple[int, int, int, str, int]] = (0, 9, 7, "dev", 397)
|
|
23
23
|
|
|
24
24
|
# Try to provide human-readable version of latest commit for dev versions
|
|
25
25
|
# E.g. v0.5.1-4-g49a49f2-wip
|
|
@@ -43,7 +43,7 @@ INSTALLERS = [
|
|
|
43
43
|
{"pypicosat_minor_version" : "1708010052"}),
|
|
44
44
|
Installer(CuddInstaller, "2.0.3",
|
|
45
45
|
{"git_version" : "ecb03d6d231273343178f566cc4d7258dcce52b4"}),
|
|
46
|
-
Installer(OptiMSatInstaller, "1.7.
|
|
46
|
+
Installer(OptiMSatInstaller, "1.7.5", {})
|
|
47
47
|
]
|
|
48
48
|
|
|
49
49
|
|
|
@@ -24,18 +24,26 @@ class OptiMSatInstaller(SolverInstaller):
|
|
|
24
24
|
|
|
25
25
|
def __init__(self, install_dir, bindings_dir, solver_version,
|
|
26
26
|
mirror_link=None):
|
|
27
|
+
|
|
27
28
|
# Getting the right archive name
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
archive_name_template = "optimathsat-{version}-{os}-{arch}.{ext}"
|
|
30
|
+
format = {
|
|
31
|
+
"version": solver_version,
|
|
32
|
+
"os" : self.os_name,
|
|
33
|
+
"arch": self.architecture,
|
|
34
|
+
"ext": "tar.gz"
|
|
35
|
+
}
|
|
36
|
+
if self.os_name in ["windows", "darwin"]:
|
|
37
|
+
# Since version 1.7.5 the architecture is not included in the
|
|
38
|
+
# pkg name for the OSX and Win release as it is considered a "universal binary"
|
|
39
|
+
archive_name_template = "optimathsat-{version}-{os}.{ext}"
|
|
40
|
+
if self.os_name == "windows":
|
|
41
|
+
format["ext"] = "zip"
|
|
42
|
+
format["os"] = "win64" if self.architecture == "x86_64" else "win32"
|
|
43
|
+
elif self.os_name == "darwin":
|
|
44
|
+
format["os"] = "osx"
|
|
45
|
+
|
|
46
|
+
archive_name = archive_name_template.format(**format)
|
|
39
47
|
|
|
40
48
|
native_link = "https://optimathsat.disi.unitn.it/releases/optimathsat-%s/{archive_name}" % solver_version
|
|
41
49
|
|
|
@@ -144,9 +144,18 @@ class OptiMSATSolver(MathSAT5Solver, Optimizer):
|
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
while self.solve():
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
all_ok = True
|
|
148
|
+
costs = []
|
|
149
|
+
model = None
|
|
150
|
+
for goal in goals:
|
|
151
|
+
result = self._get_goal_value(msat_objs[goal], goal)
|
|
152
|
+
if result is None:
|
|
153
|
+
all_ok = False
|
|
154
|
+
break
|
|
155
|
+
model, cost = result
|
|
156
|
+
costs.append(cost)
|
|
157
|
+
if all_ok and model is not None:
|
|
158
|
+
yield model, costs
|
|
150
159
|
else:
|
|
151
160
|
break
|
|
152
161
|
# set after the solve because the solve method has the clear_pending_pop decorator
|
|
@@ -242,9 +242,8 @@ def check_pareto(optimizer: Optimizer, goals: Sequence[Goal], goals_values: Sequ
|
|
|
242
242
|
raised_class = _get_expected_raised_class(goals_values[0])
|
|
243
243
|
assert raised_class is None or len(goals_values) == 1, "test: %s, goals_values: %s" % (test_id_str, str(goals_values))
|
|
244
244
|
if raised_class is None:
|
|
245
|
-
|
|
246
|
-
assert
|
|
247
|
-
retval = list(iterator_retval)
|
|
245
|
+
retval = optimizer.pareto_optimize(goals, **kwargs)
|
|
246
|
+
assert retval is not None, test_id_str
|
|
248
247
|
|
|
249
248
|
sorted_costs = sorted((costs for _, costs in retval), key=str)
|
|
250
249
|
sorted_goals_values = sorted(goals_values, key=str)
|
|
@@ -257,7 +256,7 @@ def check_pareto(optimizer: Optimizer, goals: Sequence[Goal], goals_values: Sequ
|
|
|
257
256
|
assert isinstance(goal_value, FNode)
|
|
258
257
|
_check_oracle_goal(goal, goal_value, cost, test_id_str, **kwargs)
|
|
259
258
|
|
|
260
|
-
return
|
|
259
|
+
return None
|
|
261
260
|
elif not optimizer.can_diverge_for_unbounded_cases():
|
|
262
261
|
with pytest.raises(raised_class):
|
|
263
262
|
return list(optimizer.pareto_optimize(goals, **kwargs))
|
|
@@ -338,11 +338,8 @@ sat
|
|
|
338
338
|
)
|
|
339
339
|
|
|
340
340
|
|
|
341
|
-
test_to_skip = {
|
|
342
|
-
|
|
343
|
-
("QF_LIA - smtlib2_allsat.smt2", OptimizationTypes.PARETO, "optimsat"), # error that happens only if test_optimizing is done before this test
|
|
344
|
-
("QF_LIA - smtlib2_load_objective_model.smt2", OptimizationTypes.PARETO, "optimsat"), # error that happens only if test_optimizing is done before this test
|
|
345
|
-
}
|
|
341
|
+
test_to_skip: dict = {}
|
|
342
|
+
|
|
346
343
|
@pytest.mark.parametrize(
|
|
347
344
|
"optimization_example, solver_name",
|
|
348
345
|
generate_examples_with_solvers(omt_test_cases_from_smtlib_test_set()),
|
|
@@ -20,10 +20,7 @@ import pytest
|
|
|
20
20
|
from pysmt.test.omt_examples import get_full_example_omt_formuale
|
|
21
21
|
from pysmt.test.optimization_utils import generate_examples_with_solvers, solve_given_example, OptimizationTypes
|
|
22
22
|
|
|
23
|
-
test_to_skip = {
|
|
24
|
-
("QF_LIA 2 int 2 bools multiple objective", OptimizationTypes.PARETO, "optimsat"), # weird error, this test fails only if executed test_omt_lib_solver (skipping ("QF_LIA - smtlib2_load_objective_model.smt2", OptimizationTypes.PARETO, "optimsat") this skip becomes necessary, otherwise not). The cost returned is 0 when it should be 1
|
|
25
|
-
("QF_LIA 2 variables multiple objective", OptimizationTypes.PARETO, "optimsat"), # weird error, this test fails only if executed after test_optimization, while it works on it's own
|
|
26
|
-
}
|
|
23
|
+
test_to_skip: dict = {}
|
|
27
24
|
|
|
28
25
|
@pytest.mark.parametrize(
|
|
29
26
|
"optimization_example, solver_name",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|