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
Christoph M. Wintersteiger
ec270acd32
Removed hwf.mul/hwf.div test code.
2016-05-26 15:11:21 +01:00
Christoph M. Wintersteiger
e28929c72c
Removed hwf.rem test code.
2016-05-26 15:05:55 +01:00
Nikolaj Bjorner
d2622da747
fix unused-but-set-variable warnings reported in #579
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:03:31 -07:00
Nikolaj Bjorner
3a6e6df4f5
fix unused-but-set-variable warnings reported in #579
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:02:10 -07:00
Nikolaj Bjorner
96e157e201
fix warnings for unused variables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 13:54:22 -07:00