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.
Files changed (164) hide show
  1. {pysmt-0.9.7.dev390/PySMT.egg-info → pysmt-0.9.7.dev397}/PKG-INFO +1 -1
  2. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397/PySMT.egg-info}/PKG-INFO +1 -1
  3. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/__init__.py +1 -1
  4. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/install.py +1 -1
  5. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/optimsat.py +19 -11
  6. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/optimsat.py +12 -3
  7. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/optimization_utils.py +3 -4
  8. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_omt_lib_solver.py +2 -5
  9. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_optimizing.py +1 -4
  10. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/LICENSE +0 -0
  11. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/MANIFEST.in +0 -0
  12. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/NOTICE +0 -0
  13. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/SOURCES.txt +0 -0
  14. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/dependency_links.txt +0 -0
  15. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/entry_points.txt +0 -0
  16. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/PySMT.egg-info/top_level.txt +0 -0
  17. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/README.rst +0 -0
  18. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/CHANGES.rst +0 -0
  19. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/api_ref.rst +0 -0
  20. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/development.rst +0 -0
  21. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/getting_started.rst +0 -0
  22. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/index.rst +0 -0
  23. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/tutorials/boolean_logic.rst +0 -0
  24. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/docs/tutorials.rst +0 -0
  25. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/__main__.py +0 -0
  26. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/__init__.py +0 -0
  27. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/check_version.py +0 -0
  28. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/__init__.py +0 -0
  29. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/base.py +0 -0
  30. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/bdd.py +0 -0
  31. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/btor.py +0 -0
  32. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/cvcfive.py +0 -0
  33. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/cvcfour.py +0 -0
  34. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/msat.py +0 -0
  35. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/pico.py +0 -0
  36. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/yices.py +0 -0
  37. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/installers/z3.py +0 -0
  38. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/cmd/shell.py +0 -0
  39. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/configuration.py +0 -0
  40. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/constants.py +0 -0
  41. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/decorators.py +0 -0
  42. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/environment.py +0 -0
  43. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/exceptions.py +0 -0
  44. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/factory.py +0 -0
  45. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/fnode.py +0 -0
  46. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/formula.py +0 -0
  47. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/logics.py +0 -0
  48. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/operators.py +0 -0
  49. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/__init__.py +0 -0
  50. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/goal.py +0 -0
  51. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/msat.py +0 -0
  52. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/optimizer.py +0 -0
  53. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/yices.py +0 -0
  54. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/optimization/z3.py +0 -0
  55. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/oracles.py +0 -0
  56. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/parsing.py +0 -0
  57. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/printers.py +0 -0
  58. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/rewritings.py +0 -0
  59. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/shortcuts.py +0 -0
  60. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/simplifier.py +0 -0
  61. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/__init__.py +0 -0
  62. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/annotations.py +0 -0
  63. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/commands.py +0 -0
  64. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/parser/__init__.py +0 -0
  65. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/parser/parser.py +0 -0
  66. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/printers.py +0 -0
  67. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/script.py +0 -0
  68. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/solver.py +0 -0
  69. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/smtlib/utils.py +0 -0
  70. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/__init__.py +0 -0
  71. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/bdd.py +0 -0
  72. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/btor.py +0 -0
  73. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/cvcfive.py +0 -0
  74. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/cvcfour.py +0 -0
  75. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/dynmsat.py +0 -0
  76. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/eager.py +0 -0
  77. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/interpolation.py +0 -0
  78. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/msat.py +0 -0
  79. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/options.py +0 -0
  80. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/pico.py +0 -0
  81. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/portfolio.py +0 -0
  82. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/qelim.py +0 -0
  83. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/smtlib.py +0 -0
  84. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/solver.py +0 -0
  85. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/yices.py +0 -0
  86. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/solvers/z3.py +0 -0
  87. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/substituter.py +0 -0
  88. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/__init__.py +0 -0
  89. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/configs/config1.ini +0 -0
  90. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/configs/config_bad.ini +0 -0
  91. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/examples.py +0 -0
  92. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/omt_examples.py +0 -0
  93. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/__init__.py +0 -0
  94. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/parser_utils.py +0 -0
  95. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_annotations.py +0 -0
  96. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_fuzzed.py +0 -0
  97. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_generic_wrapper.py +0 -0
  98. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_griggio.py +0 -0
  99. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_model_validation.py +0 -0
  100. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_examples.py +0 -0
  101. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_extensibility.py +0 -0
  102. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_lra.py +0 -0
  103. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_omt.py +0 -0
  104. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_arrays.py +0 -0
  105. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lia.py +0 -0
  106. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lira.py +0 -0
  107. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_lra.py +0 -0
  108. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_nia.py +0 -0
  109. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_nra.py +0 -0
  110. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_uf.py +0 -0
  111. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_qf_ufbv.py +0 -0
  112. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_parser_type_error.py +0 -0
  113. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/smtlib/test_smtlibscript.py +0 -0
  114. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_array.py +0 -0
  115. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_back.py +0 -0
  116. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bdd.py +0 -0
  117. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bv.py +0 -0
  118. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_bv_simplification.py +0 -0
  119. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_cnf.py +0 -0
  120. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_configuration.py +0 -0
  121. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_constants.py +0 -0
  122. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_cvc_quantifiers.py +0 -0
  123. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_dwf.py +0 -0
  124. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_eager_model.py +0 -0
  125. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_env.py +0 -0
  126. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_euf.py +0 -0
  127. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_formula.py +0 -0
  128. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_hr_parsing.py +0 -0
  129. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_imports.py +0 -0
  130. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_int.py +0 -0
  131. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_interpolation.py +0 -0
  132. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_lira.py +0 -0
  133. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_logics.py +0 -0
  134. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_models.py +0 -0
  135. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_native_qe.py +0 -0
  136. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_nia.py +0 -0
  137. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_nlira.py +0 -0
  138. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_optimization.py +0 -0
  139. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_oracles.py +0 -0
  140. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_portfolio.py +0 -0
  141. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_printing.py +0 -0
  142. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_qe.py +0 -0
  143. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_regressions.py +0 -0
  144. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_rewritings.py +0 -0
  145. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_shannon_expansion.py +0 -0
  146. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_simplify.py +0 -0
  147. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_size.py +0 -0
  148. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_solving.py +0 -0
  149. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_sorts.py +0 -0
  150. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_string.py +0 -0
  151. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_typechecker.py +0 -0
  152. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_unsat_cores.py +0 -0
  153. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_walker_ext.py +0 -0
  154. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/test/test_walkers.py +0 -0
  155. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/type_checker.py +0 -0
  156. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/typing.py +0 -0
  157. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/utils.py +0 -0
  158. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/__init__.py +0 -0
  159. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/dag.py +0 -0
  160. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/generic.py +0 -0
  161. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/identitydag.py +0 -0
  162. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/pysmt/walkers/tree.py +0 -0
  163. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/setup.cfg +0 -0
  164. {pysmt-0.9.7.dev390 → pysmt-0.9.7.dev397}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySMT
3
- Version: 0.9.7.dev390
3
+ Version: 0.9.7.dev397
4
4
  Summary: A solver-agnostic library for SMT Formulae manipulation and solving
5
5
  Home-page: http://www.pysmt.org
6
6
  Author: PySMT Team
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySMT
3
- Version: 0.9.7.dev390
3
+ Version: 0.9.7.dev397
4
4
  Summary: A solver-agnostic library for SMT Formulae manipulation and solving
5
5
  Home-page: http://www.pysmt.org
6
6
  Author: PySMT Team
@@ -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", 390)
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.3", {})
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
- os_name = self.os_name
29
- arch = str(self.bits) + "-bit"
30
- ext = "tar.gz"
31
- if os_name == "windows":
32
- ext = "zip"
33
- arch += "-mingw"
34
- elif os_name == "darwin":
35
- os_name = "macos"
36
-
37
- archive_name = "optimathsat-%s-%s-%s.%s" % (solver_version, os_name,
38
- arch, ext)
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
- if all(self._check_unsat_unbound_infinitesimal(mo) for mo in msat_objs.values()):
148
- model = self.get_model()
149
- yield model, [model.get_value(goal.term()) for goal in goals]
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
- iterator_retval = optimizer.pareto_optimize(goals, **kwargs)
246
- assert iterator_retval is not None, test_id_str
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 retval
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
- ("QF_LRA - smtlib2_boxed.smt2", OptimizationTypes.LEXICOGRAPHIC, "optimsat"), # error return wrong maximization of z (should be 24, returns 0); seems like a bug in optimsat; have to try optimsat alone; with integers instead of reals it works
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