3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 22:05:36 +00:00
Commit graph

423 commits

Author SHA1 Message Date
Nikolaj Bjorner 911b24784a merge LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 10:46:11 -07:00
Nikolaj Bjorner 085d31dca2 mpq/mpz features from LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 09:18:59 -07:00
Nikolaj Bjorner 60725f5384 use vector fixes from LRA branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 09:13:27 -07:00
Nikolaj Bjorner 42ea2d1ea5 LRA changes to rational
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 09:06:41 -07:00
Murphy Berzish ede6d7bb2b add iterator accessors to obj_pair_set 2017-05-03 14:55:22 -04:00
Christoph M. Wintersteiger f8d022a180 Non-windows build fix 2017-03-24 15:25:18 +00:00
Christoph M. Wintersteiger fb105afac2 Windows build fix 2017-03-24 15:22:33 +00:00
Christoph M. Wintersteiger 7f9c37e19d VS2017 SSE4 intrinsics build fix 2017-03-24 14:23:39 +00:00
Christoph M. Wintersteiger e9cd4d1057 Build fix for systems that don't come with SSE4.1 support by default 2017-03-24 11:51:36 +00:00
Nikolaj Bjorner e47e8c67c0 introducing scoped detacth/attach of clauses to enforce basic sat solver invariants. Part of investigating #939:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 14:12:47 -07:00
Nuno Lopes 8ac060c549 fix build with VS 2017 2017-03-20 09:12:41 +00:00
Dan Liew 2cb4223979 [CMake] Support including Git hash and description into the build.
CMake will automatically pick up changes in git's HEAD so that
the necessary code is rebuilt when the build system is invoked.

Two new options `INCLUDE_GIT_HASH` and `INCLUDE_GIT_DESCRIBE` have been
added that enable/disable including the git hash and the output of `git
describe` respectively. By default if the source tree is a git
repository both options are on, otherwise they are false by default.

To support the `Z3GITHASH` macro a different implementation is used from
the old build system. In that build system the define is passed on the
command line. This would not work well for CMake because CMake
conservatively (and correctly) rebuilds *everything* if the flags given
to the compiler change. This would result in the entire project being
rebuilt everytime git's `HEAD` changed.  Instead in this implementation
a CMake specific version of `version.h.in` (named `version.h.cmake.in`)
is added that uses the `#cmakedefine` feature of CMake's
`configure_file()` command to define `Z3GITHASH` if it is available and
not define it otherwise. This way only object files that depend on
`version.h` get re-built rather than the whole project.

It is unfortunate that the build systems now have different `version.h`
file templates. However they are very simple and I don't want to
modify how templates are handled in the python/Makefile build system.
2017-03-12 22:11:59 +00:00
Nikolaj Bjorner 854bb2197f include recursive functions to models. Issue #898
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 21:41:24 -08:00
Nikolaj Bjorner 37ee4c95c3 adding parallel threads
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-30 02:09:08 -08:00
Nikolaj Bjorner 46df31babf Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-22 20:54:14 -08:00
Nikolaj Bjorner 1787fa8296 remove redundant disjunction in compilation of at-most-1 constraints, log mutexes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-22 20:54:09 -08:00
Dan Liew b5aa6d5eb5 Fix issue with bd1f07f864 pointed out by
@nunolopes .

If `pthread_cond_signal()` is called while `m_mutex` is held then the
timing thread might be woken up twice due to waking up from
`pthread_cond_timeout()` (due to being signaled) but then being forced
to sleep again because the thread calling `~imp()` is still holding
`m_mutex` (which the timing thread needs to acquire).
2016-12-19 22:36:42 +00:00
Nikolaj Bjorner 0c6c104f9a Merge pull request #841 from delcypher/scope_timer_spurious_wakes
Make `scoped_timer` robust to spurious wakes under Linux.
2016-12-19 08:22:03 -08:00
Christoph M. Wintersteiger 6ce903b1d6 Style, whitespace. 2016-12-16 20:04:29 +00:00
Dan Liew bd1f07f864 Fix implementation of scoped_timer under Linux where it was
incorrectly assumed that `pthread_cond_timedwait()` would exit
due to a condition variable being signaled or a timeout occuring.

According to the documentation `pthread_cond_timedwait()` might
spuriously wake so we introduce a new variable `m_signal_sent` (that is
guarded by an existing mutex) that is used as the variable to check that
the thread wake was not spurious.

This is intended to partially fix #839 .
2016-12-11 23:12:36 +00:00
Christoph M. Wintersteiger 16b32ecf12 Bugfix for special-case handling in fp.fma.
Thanks to Florian Schanda for reporting this bug.

(+reversed accidental debug code commit).
2016-12-09 15:03:31 +00:00
Christoph M. Wintersteiger 9df5c31485 Whitespace 2016-12-09 13:40:46 +00:00
Martin Nowack 762e5fd093 Do not request time stamp if not needed
If no timeout is needed for solving queries, time stamps do not
need to be acquired.
2016-11-23 16:38:21 +01:00
Nikolaj Bjorner d3fe015ff5 Merge pull request #796 from rickyz/nondependent_name
Fix GCC/Clang compilation.
2016-11-20 06:29:37 -08:00
Nikolaj Bjorner 650a719298 fix crash in new clique code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-20 06:20:22 -08:00
Ricky Zhou 9939d07827 Fix GCC/Clang compilation.
The calls to negate use a non-dependent name, so GCC and Clang do not
examine dependent base classes when looking up the name. Adds a using
declaration as suggested at
https://isocpp.org/wiki/faq/templates#nondependent-name-lookup-members.
2016-11-20 05:09:30 -08:00
Nikolaj Bjorner df0e3a100c tune initialization for wmax and sortmax
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 08:04:06 -08:00
Nikolaj Bjorner ea601dd403 fix and coallesce clique functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 03:55:48 -08:00
Nikolaj Bjorner e9db934f1a improving perf of mutex finding, revert semantics of 0 timeout to no-timeout. Issue #791
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-17 04:26:17 +02:00
Nikolaj Bjorner ff75f88c4f fix memory abuse in internalization in inc-sat-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-31 22:25:58 +01:00
Nikolaj Bjorner 7d7e03e377 rewind qhead to ensure re-propagation after cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 16:23:33 -07:00
Nikolaj Bjorner 41deae52c6 fix enum2bv to handle singleton enumeration types, differentiate disequality conflicts for theories that handle disequalities vs. theories that don't
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 13:35:53 -07:00
Nikolaj Bjorner 4bd83724dd remove conflict on false disequality, introduced regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-26 19:15:05 -07:00
Nikolaj Bjorner 461e88e34c additional robustness check for incremental sat solver core when it recieves interpreted constants, added PB equality to interface and special handling of equalities to adddress performance gap documented in #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-25 20:32:13 -07:00
Nikolaj Bjorner 3778048eb4 add bounded-int and pb2bv solvers to fd_solver, use sorting networks for pb2bv rewriter when applicable, hoist to pb2bv_rewriter module and remove it from the pb2bv_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-23 20:31:59 -07:00
Nikolaj Bjorner 23b9d3ef55 fix at-most-1 constraint compiler bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-22 18:50:16 -07:00
Nikolaj Bjorner 487f15f90a better encodings for at-most-1, #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-10 23:49:45 -07:00
Nikolaj Bjorner 8d2b70a5e2 better encodings for at-most-1, #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-10 23:46:03 -07:00
Nikolaj Bjorner 76cf28d48b move from uint_set to hashtable over unsigned to save memory overhead in consequence generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-08 13:34:59 -07:00
Nikolaj Bjorner c5dd441947 fixes to consequence generation and cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-07 11:50:26 -07:00
Christoph M. Wintersteiger 6f874c5c1d Merge branch 'master' of https://github.com/Z3Prover/z3 2016-07-28 18:07:48 +01:00
Christoph M. Wintersteiger 3587baaf24 Added full version strings and associated API functions. 2016-07-28 18:06:02 +01:00
Nikolaj Bjorner 0997eba700 adding hash/eq to uint_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-27 13:41:41 -07:00
Nikolaj Bjorner b080e3a216 garbage collect all api::object references when calling del_context. Request issue #679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 22:26:21 -07:00
Fabian Wolff 6eaab00e83 Fix spelling errors 2016-07-09 11:46:43 +02:00
Nikolaj Bjorner e518d4a5fe typename conventions, issue #664
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-29 17:02:36 -07:00
Nikolaj Bjorner c72ed3e6b4 update core minimization code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-23 21:39:28 -07:00
Nikolaj Bjorner 5b497b6249 reduce set of mainly verbose warnings raised by -Wmaybe-uninitialized and unused variable warnings from release mode builds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-22 20:25:47 -07:00
Nikolaj Bjorner 9253ca9d86 make use of warning_msg safe for formatting. Thanks to Scott McPeak for reporting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-14 08:10:10 -07:00
Christoph M. Wintersteiger b3b5c6226b MPF code simplification 2016-06-02 17:12:24 +01:00