3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 06:39:02 +00:00
Commit graph

1322 commits

Author SHA1 Message Date
Christoph M. Wintersteiger b47c67dee3 Bugfix for Z3_fpa_get_numeral_*_uint64. Relates to #570. 2016-11-10 21:16:05 +00:00
Christoph M. Wintersteiger 1188e6df47 Typo 2016-11-08 15:28:20 +00:00
Christoph M. Wintersteiger e22a67c12c Whitespace 2016-11-08 15:27:46 +00:00
Christoph M. Wintersteiger e0066df6a9 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-08 15:12:08 +00:00
Christoph M. Wintersteiger a3e4629996 fixed hard-coded version number in setup.py 2016-11-08 15:12:04 +00:00
Christoph M. Wintersteiger 7c308ca8c6 Merge pull request #779 from ddcc/master
Standardize on __uint64 instead of unsigned __int64
2016-11-08 12:21:34 +00:00
Christoph M. Wintersteiger 889e5e9388 Bumped version number. 2016-11-07 23:19:59 +00:00
Dominic Chen 00ada5305f Standardize on __uint64 instead of unsigned __int64 2016-11-07 17:42:44 -05:00
Christoph M. Wintersteiger d57a2a6dce Bumped version to 4.5.0 2016-11-07 22:02:30 +00:00
Christoph M. Wintersteiger 80e136f090 build fix 2016-11-07 13:51:09 +00:00
Christoph M. Wintersteiger 4e7077db70 Bugfix for denormal numeral exponents 2016-11-07 12:38:12 +00:00
Christoph M. Wintersteiger 758a6d98fb FPA API clarification 2016-11-07 12:35:48 +00:00
Christoph M. Wintersteiger 9ebea09d05 added is_numeral_negative to ML API. 2016-11-07 10:28:39 +00:00
Christoph M. Wintersteiger 696bbc7708 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-04 21:27:16 +00:00
Christoph M. Wintersteiger ac7e1b145c Whitespace, typo 2016-11-04 21:27:10 +00:00
Christoph M. Wintersteiger 81fce55d78 Updated optimization ML API. Addresses #776. 2016-11-04 21:22:01 +00:00
Nikolaj Bjorner 51a4085910 check for logic in solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-04 15:19:11 +00:00
Christoph M. Wintersteiger c81ee05098 Fixes for .NET Core build 2016-11-02 13:36:29 +00:00
Christoph M. Wintersteiger 9c16d16bc8 removed debug output 2016-10-28 12:22:28 +01:00
Christoph M. Wintersteiger 253cfeb0af Added FPA numeral accessors/predicates to Python API 2016-10-27 15:07:34 +01:00
Christoph M. Wintersteiger 95d7b33ebb Added is_numeral_negative to .NET and Java APIs 2016-10-27 15:07:10 +01:00
Christoph M. Wintersteiger e4f7ff9881 Added Z3_fpa_is_numeral_negative to FPA API 2016-10-27 15:06:24 +01:00
Christoph M. Wintersteiger 23c58a1ef6 Added FPA numeral predicates to ML API 2016-10-26 18:53:20 +01:00
Christoph M. Wintersteiger 903d962a3c Merge branch 'fpa_numeral_accessors' of https://github.com/wintersteiger/z3 into fpa_numeral_accessors 2016-10-26 18:44:49 +01:00
Christoph M. Wintersteiger 935c523ef8 Added FPA numeral predicates to Java API 2016-10-26 18:44:35 +01:00
Christoph M. Wintersteiger c573a7446b Added FPA numeral predicates to .NET API 2016-10-26 18:44:25 +01:00
Christoph M. Wintersteiger cf93e39666 Fixed FPA unbiased exponent accessors 2016-10-26 15:54:33 +01:00
Christoph M. Wintersteiger e381cef92c Marked .NET Z3Exception as serializable 2016-10-26 15:12:10 +01:00
Christoph M. Wintersteiger ead970b477 Bugfix for Python API.
Thanks to John D. Ramsdell for reporting this issue (http://stackoverflow.com/questions/39584779/why-is-the-sort-of-a-bound-variable-forced-not-to-be-a-finite-domain-sort).
2016-10-26 14:08:33 +01: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
Christoph M. Wintersteiger 963dfad10e fix for biased flag on get_numeral_exponent_string 2016-10-25 14:17:23 +01:00
Christoph M. Wintersteiger dc78a04135 removed debug output 2016-10-25 12:20:45 +01:00
Christoph M. Wintersteiger 5fee1ea3c0 removed unused variables 2016-10-24 14:08:33 +01:00
Christoph M. Wintersteiger 7517cf485e ML API bugfixes for FPA numeral accessors 2016-10-24 13:32:37 +01:00
Christoph M. Wintersteiger abcb6040d4 Refactored FPA numeral accessors. 2016-10-24 12:53:57 +01:00
Christoph M. Wintersteiger 0a11e8f3c0 Resolved rebase conflicts 2016-10-24 12:53:57 +01:00
Christoph M. Wintersteiger 8926b3311d Fixed FP numeral special value sig/exp extraction functions. 2016-10-24 12:52:07 +01:00
Christoph M. Wintersteiger 89d38385db Added functions to test FP numerals for special values. 2016-10-24 12:50:05 +01:00
Christoph M. Wintersteiger 6b474adc8a Added accessors to extract sign/exponent/significand BV numerals from FP numerals. 2016-10-24 12:50:05 +01:00
Nikolaj Bjorner 6d3430c689 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-10-22 21:51:11 -07:00
Nikolaj Bjorner e32e0d460d fix at-most-1 constraint compiler bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-22 21:50:45 -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
Christoph M. Wintersteiger 5bd00d3f83 Bugfixes for the FPA API 2016-10-21 15:39:02 +01:00
Andrew Dutcher bd80f7b4d5 fix some issues with the windows build 2016-10-10 15:38:08 -07:00
Andrew Dutcher 67a7889188 Update metadata for new distribution 2016-10-10 15:38:02 -07:00
Nikolaj Bjorner 5d9820f3e2 add example of parsing with external declarations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-07 12:57:07 -07:00
Nikolaj Bjorner 37f7c30e23 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-10-07 12:42:13 -07:00
Nikolaj Bjorner 619cce0a52 add mutex preprocessing to maxsat, add parsing functions to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-07 12:42:08 -07:00
Christoph M. Wintersteiger 9548b88e71 Added dummy code contracts for .NET Core/CoreCLR builds. 2016-10-06 16:24:49 +01:00
Christoph M. Wintersteiger 4956f6ef5b Test fix for python3 2016-10-05 16:11:07 +01:00
Christoph M. Wintersteiger 56e874e991 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-10-05 15:34:07 +01:00
Christoph M. Wintersteiger d495b08639 Build/test fix for python3 2016-10-05 15:34:02 +01:00
Dionna Amalie Glaze f4fd721741 Z3_query_constructor documentation clarification
Hit a segfault when I assumed the API would allocate these _out parameters for me.
2016-10-04 13:02:31 -05:00
Nikolaj Bjorner e3f0aff318 address ubuntu warning and add shortcuts for maxsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-03 16:22:13 -07:00
Nikolaj Bjorner 186afe7d10 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-10-02 10:22:23 -07:00
Nikolaj Bjorner b2db2f1eb6 allow negative weights for weighted maxsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-02 10:21:58 -07:00
Nikolaj Bjorner 57ebf7bd38 accepting floats
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-02 10:08:23 -07:00
Nikolaj Bjorner 136f724445 update python API with facilities for Pseudo-Booleans and += shorthand for adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-30 14:18:34 -07:00
Nikolaj Bjorner 279621c1d7 duplicating private member from z3 to avoid build regressions under some environments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-30 07:21:39 -07:00
Nikolaj Bjorner 8cf356224e fix python for 3.x
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-22 22:24:43 -07:00
Andrew Dutcher 4801a27c2d Fix up z3test to a) exist and b) work 2016-09-21 17:18:10 -07:00
Nikolaj Bjorner 14668b4d44 Merge pull request #735 from angr/new-build
New packaging for and ability to distribute python bindings
2016-09-21 15:55:22 -07:00
Nikolaj Bjorner 527c5191a6 Add C++ functions for set operations per stackoverflow post, set relevancy = 2 for quantified maxsmt per example from Aaron Gember, fix conversion of default weights based on bug report from Patrick Trentin on maxsat. Annotating soft constraints with weight=0 caused the weight to be adjusted to 1 and therefore produce wrong results
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-21 12:24:24 -07:00
Andrew Dutcher 02217d048b replace all non-portable filepath slashes with os.path.join 2016-09-14 14:19:10 -07:00
Andrew Dutcher 02783d0bfb Minor tweaks to make things more reliable/less obnoxious 2016-09-14 01:49:37 -07:00
Andrew Dutcher 704105306c FINISH IT 2016-09-14 01:40:01 -07:00
Andrew Dutcher 0bbd172af3 First steps to a sane python build 2016-09-14 01:37:04 -07:00
Andrew Dutcher fa6cc19184 Moved python bindings into package 2016-09-14 01:33:07 -07:00
Nikolaj Bjorner 94b67412ec Merge branch 'master' of https://github.com/Z3Prover/z3 2016-09-07 11:59:06 -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
Nikolaj Bjorner 2d9dced1c7 fix spacing, cast to Bool
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-06 20:18:31 -07:00
cttghc 758266b952 Fix omission of Z3_model_has_interp in z3++.h 2016-09-06 18:32:41 -05:00
Nikolaj Bjorner 0e9758a211 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-09-06 14:39:19 -07:00
AlexVonB c6b0fc444c Fix VisualStudio 2010 compiler warning C4100
When compiling with Visual Studio 2010 the buildlog warns of the following: `z3++.h: warning C4100: 'e' : unreferenced formal parameter` and `z3++.h: warning C4100: 'c' : unreferenced formal parameter`. This merge request removes this warning.
2016-09-05 16:22:00 +02:00
Nikolaj Bjorner 424a8c69bd Merge branch 'master' of https://github.com/Z3Prover/z3 2016-09-02 03:05:23 -07:00
Nikolaj Bjorner 4d9aadde35 updated consequence finder to fix bug in processing enumeration types
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-31 16:15:36 +08:00
Nikolaj Bjorner 310c0f31a1 use type constrsaints for co-variant subtying to enable .net 3.5
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-30 12:07:06 +08:00
Nikolaj Bjorner 439e8e6b04 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-08-20 03:53:55 -07:00
Nikolaj Bjorner f2b5c11d1c add option for prettier proof printing, Issue #706
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-20 03:52:45 -07:00
Nikolaj Bjorner b2383a481a Merge branch 'master' of https://github.com/Z3Prover/z3 2016-08-18 18:02:22 -07:00
Nikolaj Bjorner 665fccf07a addressing max-segment issue for AMD64 + Debug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-18 18:01:29 -07:00
Christoph M. Wintersteiger 244c641234 debug check fix 2016-08-12 13:19:12 +01:00
Christoph M. Wintersteiger ff3c630207 .NET API: Added MkMul from IEnumerable. 2016-08-09 16:36:32 +01:00
Nikolaj Bjorner 14e8126f16 wrapping interruptable with solver consequence call
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-05 11:32:12 -07:00
Nikolaj Bjorner cb2d8d2107 add detection of non-fixed variables to consequence finding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 19:12:41 -07:00
Nikolaj Bjorner d32019f4c9 fix consequence tracking for negated assumptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 10:49:06 -07:00
Nikolaj Bjorner 2263be1b4d adding consequence examples
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-29 17:24:14 -07:00
Nikolaj Bjorner 5c99405db3 finish consequence fast path code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 20:15:47 -07:00
Nikolaj Bjorner 074f1ad778 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-07-28 11:20:23 -07:00
Nikolaj Bjorner 14f29e7265 add basic built-in consequence finding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 11:20:17 -07:00
Christoph M. Wintersteiger 7fefe40f21 Added/improved facilities for strong name signing of the .NET assembly. 2016-07-28 18:07:34 +01:00
Christoph M. Wintersteiger 0d83f99d8d Fixed comment 2016-07-28 18:06:26 +01:00
Christoph M. Wintersteiger 3587baaf24 Added full version strings and associated API functions. 2016-07-28 18:06:02 +01:00
Nikolaj Bjorner 5f5ef8b38d adding support for distinct for dt2bv, re-entry harness for ~Context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-27 09:02:56 -07:00
Nikolaj Bjorner fe34e8bf00 Add OP_INTERNAL to handle cases of function symbols that don't have external semantics (at least in a way that is supported by means of building terms) Issue #688
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-20 12:13:54 -07:00
Nikolaj Bjorner cf48eb5f72 mark also ast in parameters as GC roots. Issue #676
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-17 19:16:15 -04:00
Nikolaj Bjorner 64674386de fix ubuntu build failure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-15 13:39:50 -07:00
Nikolaj Bjorner 6f971a3a86 add object z3 objects to target context during translation, to fix build regression failure on z3test.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-15 11:44:38 -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
Nikolaj Bjorner d7d22cad02 undo comment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-09 05:38:03 -07:00
Nikolaj Bjorner 53b3edc8cc add cases for recognizing ALL. Issue #674
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-09 05:18:26 -07:00
Nikolaj Bjorner 0d0d504d62 change names of reserved identifiers. Issue #666
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-01 14:46:44 -07:00
Nikolaj Bjorner 4c786c5f70 add n-ary disjunction and conjunction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-01 08:15:50 -07:00
George Karpenkov cb87991d5f Java bindings: Force cleaning the queue on context closing. 2016-06-29 13:09:05 +02:00
Nikolaj Bjorner b303fd59c0 add some version information (and date) to log file to make it easier to trap version mismatch on log files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-28 18:11:30 -07:00
Nikolaj Bjorner e4a00f6f6f re-include get_error_msg_ex per issue #660
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-28 17:48:11 -07:00
Nikolaj Bjorner 7fc294d329 move arithmetical mbp functionality to model_based_opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-26 14:30:35 -07:00
Christoph M. Wintersteiger e9eb88e1b3 fixed java build issues. Relates to #648. 2016-06-24 15:08:56 +01:00
Christoph M. Wintersteiger 3e96a7972f Merge pull request #648 from cheshire/no_finalizers
Replace finalizers with PhantomReferences in Java API
2016-06-24 14:17:29 +01:00
Christoph M. Wintersteiger d90a575981 Merge pull request #646 from martin-neuhaeusser/ocaml-c89
Make C-layer of OCaml bindings C89 compatible.
2016-06-24 13:40:50 +01:00
George Karpenkov b086aac45f Use constructors instead of static methods for Context.java. 2016-06-16 18:21:55 +02: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
George Karpenkov b65d83aacf Java API: explain the phantom references mechanics in Javadoc. 2016-06-13 12:22:32 +02:00
George Karpenkov a914822346 JavaAPI: DecRefQueue -- do not use move_limit for now. 2016-06-13 12:18:31 +02:00
George Karpenkov 26d6c99aac Typo in Javadoc. 2016-06-13 12:11:03 +02:00
George Karpenkov 27aa37946e Do not lock on context creation and deletion. 2016-06-13 12:09:34 +02:00
George Karpenkov 22ffd65d1e Java API: split incRef into incRef and addToReferenceQueue
One method should do one thing only, it's easy to mix things up
otherwise.
2016-06-12 21:01:58 +02:00
George Karpenkov 2a347f04bf Java API: FuncInterp.Entry should be an inner static class
...as it does not use any fields of the outer FuncInterp object.
2016-06-12 21:00:51 +02:00
George Karpenkov 5657399d55 Bugfix for incorrect order of operations. 2016-06-12 20:39:54 +02:00
George Karpenkov 495ef0f055 Java bindings with no finalizers
Replacing finalizers with PhantomReferences, required quite a lot of
changes to the codebase.
2016-06-12 20:27:01 +02:00
George Karpenkov dfc80d3b69 Do not needlessly catch exceptions in Java bindings
A lot of existing code in Java bindings catches exceptions just to
silence them later.

This is:
a) Unnecessary: it is OK for a function to throw a RuntimeException
without declaring it.
b) Highly unidiomatic and not recommended by Java experts (see Effective
Java and others)
c) Confusing as has the potential to hide the existing bugs and have
them resurface at the most inconvenient/unexpected moment.
2016-06-12 14:14:11 +02:00
martin-neuhaeusser f069b1c0e9 Make C-layer of OCaml bindings C89 compatible.
This patch ensures that the C code generated for the OCaml stubs complies with C89. It is needed to compile Z3 with OCaml support with Visual Studio versions older than VS2013.
2016-06-10 16:49:06 +02:00
Christoph M. Wintersteiger a2eb824590 Added __nonzero__ and __bool__ functions to Python Z3 ASTs to enable use of Python lists (and similar).
Thanks to Vlad Shcherbina for the recommendation (see http://stackoverflow.com/questions/37669576/converting-z3-cnf-formula-into-list-of-lists-representation-using-z3py/37679447?noredirect=1#comment62859886_37679447)!
2016-06-08 12:07:13 +01:00
Christoph M. Wintersteiger a94aff23e6 Added clearer FP conversion functions to the Python API.
Implements #476
2016-06-03 13:23:12 +01:00
Christoph M. Wintersteiger 617e941015 fp2bv refactoring 2016-05-23 18:10:17 +01:00
Christoph M. Wintersteiger 80731ef364 Exposed OP_FPA_MIN/MAX_I to the API 2016-05-20 19:40:45 +01:00
Nikolaj Bjorner 6f5785338a add line/pos information for pattern warnings. Issue #607
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-16 08:59:58 -07:00
Nikolaj Bjorner 121f79b198 Merge pull request #603 from manueljacob/master
Expose Z3_mk_bv2int's is_signed parameter in Python API.
2016-05-16 07:56:37 -07:00
Nikolaj Bjorner cd937c07f3 return proper ast-option from get_const_interp function insetad of raising exceptions from inside the C API. Fixes discrepancy with documentation and behavior across extensions of the API. Issue #587
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 13:29:38 -07:00
Manuel Jacob 7e3dfb4617 Expose Z3_mk_bv2int's is_signed parameter in Python API. 2016-05-13 23:17:05 +02:00
Nuno Lopes d30ba3f1ad change Z3_get_decl_kind API to correctly identify OP_B*_I and OP_B*_NO_OVFL instead of returning Z3_OP_UNINTERPRETED 2016-05-11 14:30:37 +01:00
Christoph M. Wintersteiger 140f0bb794 ML API build fix 2016-05-03 13:34:20 +01:00
Christoph M. Wintersteiger 86126e2c01 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-05-03 11:52:21 +01:00
Nikolaj Bjorner 121386779a Merge pull request #580 from yaqwsx/expr_operators_in_c++
Add srem, urem, shift, ext operators to c++ api
2016-04-29 18:51:14 -07:00
xlauko ae2821dea1 Add srem, urem, shift, ext operators to c++ api 2016-04-28 21:58:05 +02:00
Nikolaj Bjorner 68c7d64d00 adding model-based opt facility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-27 11:18:20 -07:00
Nikolaj Bjorner d97bddc3b5 revert to legacy syntax to enable older versions of .NET
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-24 09:21:05 -07:00
Nikolaj Bjorner 643a87cb5b overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 22:03:27 -07:00
Nikolaj Bjorner 662e43d264 overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 15:50:30 -07:00
Nikolaj Bjorner e4b7ac37f3 add overloading for arithmetical expressions in C# to handle common cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-22 13:58:02 -07:00
Nikolaj Bjorner 8ee49d16df Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-21 10:49:22 -07:00
Nikolaj Bjorner 20a6b41c5c coalescing is-int check for python 2.x, issue #572
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-21 10:49:16 -07:00
Nikolaj Bjorner d0175b96b8 guarding against null symbols creeping in. Issue #571
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-20 14:07:45 -07:00
Martin R. Neuhaeusser 67ac1a003e Avoid conversion between mutable arrays and lists in OCaml API.
This patch eliminates the conversion between OCaml arrays and lists
from Z3's OCaml API.
2016-04-18 17:20:27 +02:00
martin-neuhaeusser 34bf4b1d3c Fix installation of custom error handler during context creation in OCaml bindings
This patch fixes a bug detected by valgrind, where a custom error handler
did not get installed correctly.
2016-04-18 17:20:12 +02:00
Nikolaj Bjorner 1c8e0918d8 move to std::vector in replayer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 10:08:29 -07:00
Christoph M. Wintersteiger 324fcc6a13 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-04-06 15:40:13 +01:00
martin-neuhaeusser 95454679e2 Another round of pretty printing 2016-04-06 12:45:21 +02:00
martin-neuhaeusser bd9d13279a Pretty printing 2016-04-06 12:39:19 +02:00
martin-neuhaeusser 1662ba8353 Add more comments on comparison functions in the C layer of the OCaml bindings 2016-04-06 12:36:11 +02:00
martin-neuhaeusser b873c6b508 Simplify OCaml API
This patch simplifies the implementation of the OCaml bindings. For example,
the applyX wrapper functions have become unnecessary in the new OCaml API.
It also removes the internal ML2C structure that was used as an intermediate
layer between the C and the OCaml layer.
2016-04-06 12:10:59 +02:00
martin-neuhaeusser 71f991c5df Avoid using physical equality checks in OCaml bindings (z3.ml)
This patch avoids the use of physical equality wherever possible
and improves some details of the OCaml implementation.
2016-04-05 12:51:03 +02:00
martin-neuhaeusser f133f478c8 Translate correctly between OCaml option values and NULL pointers
This patch refactors the update_api script and the z3.ml implementation
to properly translate between OCaml options and NULL pointers. Some
unifications and simplifications (avoidance of unnecessary value allocation)
in the script that creates the native bindings.
2016-04-04 17:16:15 +02:00
Nikolaj Bjorner ec5a4ba63d add documentation comment for evaluation, Issue #536
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-04 12:59:18 +02:00
Nikolaj Bjorner 9667185af0 issue #549, replace BoolVal by False, otherwise creates regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:53:50 +02:00
Nikolaj Bjorner 11e8f06272 issue #549, replace False by BoolVal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:52:15 +02:00
martin-neuhaeusser b85516c271 Fix reference counting in the C layer of the OCaml bindings
The Z3 context and its reference counters are stored in a structure which is allocated
by the C layer outside the OCaml heap, whenever a Z3 context is created. The structure
and its Z3 context are disposed, once the last reference counter reaches zero. Reference
counters are decremented by C-level finalizers.

The OCaml representations for a Z3 context wrap only a pointer to the corresponding structure.
2016-04-03 09:41:06 +02:00
Christoph M. Wintersteiger b178420797 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-31 18:11:30 +01:00
Nikolaj Bjorner 20bbdfe31a moving remaining qsat functionality over
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 15:35:26 -07:00
Nikolaj Bjorner f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nikolaj Bjorner 22cae143b1 Merge pull request #517 from yaqwsx/expr_values_to_int
Add methods for obtaining numeral values in C++ API
2016-03-16 20:43:39 -04:00
Andres Nötzli 34da0a32b9 [Z3py] Fix error in FPRef.__neg__()
`FPRef.__neg__()` did not work previously because it tried to construct an FPRef from an FPRef (`fpNeg()` already returns an FPRef).
2016-03-16 17:12:45 -07:00
Christoph M. Wintersteiger 778c7fcc64 Bugfix for model evaluator and internal, uninterpreted FPA functions.
Fixes #518
2016-03-16 16:17:08 +00:00
Christoph M. Wintersteiger cdc8e1303a Bugfix for fp.to_*_unspecified.
Fixes #507
2016-03-16 16:16:29 +00:00
Jan Mrázek 57265f6eb1 Add methods for obtaining numeral values in C++ API 2016-03-16 00:18:49 +01:00
Christoph M. Wintersteiger 027331aef2 resolved merge conflicts 2016-03-07 14:20:10 +00:00
Andres Nötzli d6ece7e8a5 [Z3py] Add examples for fpToFP 2016-03-07 00:21:26 -08:00
Christoph M. Wintersteiger a2ecb19d03 Added hash-consing remarks to mk_context and mk_context_rc.
Fixes #452
2016-03-05 17:58:32 +00:00
Christoph M. Wintersteiger 8abedbf389 whitespace 2016-03-05 17:55:27 +00:00
Christoph M. Wintersteiger 61525b9f5e style 2016-03-04 17:07:20 +00:00
Christoph M. Wintersteiger bfd836e911 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-04 14:49:41 +00:00
Christoph M. Wintersteiger 8cc3ba5a8b fixed FP Python doctest examples 2016-03-04 13:09:42 +00:00
Christoph M. Wintersteiger b27977ea90 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-02 15:14:12 +00:00
Andres Nötzli 18b9cd1948 [Z3py] Fix documentation in FPSortRef 2016-03-01 18:56:20 -08:00
Christoph M. Wintersteiger 1e86175c03 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-01 21:21:32 +00:00
Christoph M. Wintersteiger 59e695f2be Bugfixes for FP numerals in Python
Relates to #464, #470
2016-03-01 21:21:25 +00:00
Nikolaj Bjorner 9b6963d112 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-01 09:48:53 -08:00
Nikolaj Bjorner 67397bf71e enable logic parameter update to configure SMTLIB logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 09:48:24 -08:00
Christoph M. Wintersteiger 0cb8193cdd logic fix 2016-03-01 17:42:33 +00:00
Nikolaj Bjorner 7f51ecab37 enable logic parameter update to configure SMTLIB logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 09:26:14 -08:00
Christoph M. Wintersteiger c171170bed Fixed FP string input conversions.
Fixes #464
2016-03-01 15:31:33 +00:00
Andres Notzli 91d6b2cbbb [Z3py] Consistent behavior of eq and ne for FP
Before, x == y and x != y were returning inconsistent expressions (i.e.
`Not(x == y)` was not the same as `x != y`):

>>> x = FP('x', Float32())
>>> y = FP('y', Float32())
>>> (x == y).sexpr()
'(= x y)'
>>> (x != y).sexpr()
'(not (fp.eq x y))'

`=` does not have the same semantics as `fp.eq` (e.g. `fp.eq` of +0.0
and -0.0 is true while it is false for `=`).
This patch removes the __ne__ method from FPRef, so `x == y` and `x !=
y` use the inherited operations while fpEQ and fpNEQ can be used to
refer to `fp.eq(..)`/`Not(fp.eq(..))`.
2016-03-01 00:21:10 -08:00
Andres Nötzli c9269c1983 Fix documentation for floating-point comparisons 2016-02-29 19:12:14 -08:00
Nikolaj Bjorner c6c84dd59a update documentation help to be inline with fpLT. Issue #465
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 17:04:26 -08:00
Nuno Lopes d642d5fe4c API: add smt.logic parameter to enable setting the logic through the API
currently only Z3_solver_set_params() is supported
logic has to be set before solver first usage or before solver reset
2016-02-25 09:47:51 +00:00
Christoph M. Wintersteiger 0254b1f7ff ML API bug fixes 2016-02-15 13:28:22 +00:00
Christoph M. Wintersteiger 0dc85620aa ML API bug fix 2016-02-15 13:01:00 +00:00
Christoph M. Wintersteiger 62cae4186b ML API bug fixes 2016-02-15 12:54:05 +00:00
Christoph M. Wintersteiger b99fcb9c8a More new OCaml API 2016-02-14 19:56:22 +00:00
Christoph M. Wintersteiger 824169da0a New OCaml API 2016-02-13 22:09:45 +00:00
Christoph M. Wintersteiger 6319861e26 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-02-12 18:32:46 +00:00
Christoph M. Wintersteiger f399fe5e1d resolved conflicts 2016-02-12 18:29:46 +00:00
Christoph M. Wintersteiger 9dbb8057ca Merge pull request #449 from kenmcmil/issue243
fixed logging on return of Z3_compute_interpolant...
2016-02-12 12:40:01 +00:00
Nikolaj Bjorner 8d61d36c3f add documentation methods to param_descrs, add C++ API and example for param_descrs. Issue #443
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 11:45:00 +00:00
Ken McMillan 8b90bc9e91 fixed logginf on return of Z3_compute_interpolant and added interpolation example to test_capi.c 2016-02-11 16:09:54 -08:00
Nikolaj Bjorner a6e1c70eab fix documentation/default bug. #445
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 15:02:22 +00:00
Nikolaj Bjorner 535fb39313 add documentation comments as raised in #443
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 12:02:40 +00:00
Nikolaj Bjorner 5285a795ac handle configuration passed in as null, deal with crash in logs attached to issue #243
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 01:20:16 +00:00
Christoph M. Wintersteiger 3df9fea54c removed unused variables 2016-02-09 16:38:35 +00:00
Christoph M. Wintersteiger 7e2783c6a2 Fixed javadoc links in comments.
Relates to #401.
2016-02-08 15:25:53 +00:00
Nikolaj Bjorner 3ef6d91038 fix #434: repeat documentation remarks about reference counting for disambiguation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-07 14:46:53 +00:00
Nuno Lopes 16a69e750a fix break in configure 2016-02-01 17:38:14 +00:00
Nuno Lopes ea55bd495f add new API function Z3_get_estimated_alloc_size() that returns *estimated* allocated memory size by Z3
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-02-01 17:19:55 +00:00
Nikolaj Bjorner 87228b6a9d add a little more verbiage to description of simplify. Issue #424
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-27 14:47:15 -08:00
Nuno Lopes 23cc8258fe remove m_ast_lim from API context since that one isn't used either
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-01-19 15:37:58 +00:00
Nuno Lopes 1f872e720d remove m_replay_stack from API context since it's never used
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-01-19 15:19:00 +00:00
Nikolaj Bjorner 14c19fe928 add parameter validation to sequence expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-15 10:39:21 +05:30
Christoph M. Wintersteiger 357ec9e7d1 Changed FP significand/exponent functions to return non-normalized results. Clarified function remarks. Relates to #383. 2016-01-13 16:32:32 +00:00
Nikolaj Bjorner 22fbed18cc fix regressions exposed by build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 11:18:52 -08:00
Nikolaj Bjorner db746e0c2f fix more unused variable warning messages
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 09:52:16 -08:00
Nikolaj Bjorner 0df4931c4b dealing with issue #402
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-09 15:43:47 -08:00
Nikolaj Bjorner 20cfbcd66b dealing with issues #402 #399 #258
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-09 13:29:44 -08:00
Nikolaj Bjorner 03cef7b03c add some conveniences for expressing string constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-08 16:19:32 -08:00
Nikolaj Bjorner 9fb3d36961 pin expressions during substitution. Issue #367
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-08 13:39:23 -08:00
Nikolaj Bjorner 98f750f90d ml build failure, issue #403
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 20:37:47 -08:00
Nikolaj Bjorner 183d3821ce ml build failure, issue #403
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 20:14:43 -08:00
Nikolaj Bjorner 17a32a4e5f ml build failure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 20:14:16 -08:00
Nikolaj Bjorner 023c564839 Issue #406
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-07 20:10:54 -08:00
George Karpenkov f93c41b1be Since classes are non-final "instanceof" check is better in #equals 2016-01-06 11:27:58 +01:00
George Karpenkov 529b9d6833 The locking field should be final. 2016-01-06 11:19:38 +01:00
George Karpenkov 8bb0010dc3 Javadoc and indentation fixes
- A proper way to refer to the function in the same class is "#funcName"

- There is no point in "@param p" declaration if no description follows
it.
2016-01-06 11:19:26 +01:00
George Karpenkov 54e5bf2422 Remove redundant cast 2016-01-06 11:18:22 +01:00
George Karpenkov 93ad8d32b9 Remove redundant "throw" statement which has no effect. 2016-01-06 11:17:32 +01:00
George Karpenkov d0d7a5b712 Consistent Sort#equals 2016-01-06 11:16:45 +01:00
George Karpenkov a816b4895c Logic simplifications
There is no point in writing "boolean ? true : false" instead of
"boolean"
2016-01-06 11:16:30 +01:00
George Karpenkov 52fdf73178 IDisposable is effectively an abstract class. 2016-01-06 11:15:11 +01:00
George Karpenkov c435bc379b Added braces
Lack of braces on multi-line statements is considered very scary in
Java.
2016-01-06 11:14:53 +01:00
George Karpenkov ccd88a63a5 No need to call "new String()" 2016-01-06 11:12:33 +01:00
George Karpenkov 27c684f743 AST#hashCode bugfix
Previous implementation always returned zero.
I can only assume that it wanted to cache it as well,
but I haven't implemented that to keep the changes light.
2016-01-06 11:11:01 +01:00
George Karpenkov 4d3675cb4e Consistent #equals() implementation
Also dropped #hashCode(), as it just calls the parent class
implementation.
2016-01-06 11:10:03 +01:00
George Karpenkov 1dcaddbec7 Adding @Override declarations
They are important, as they prevent miss-spelling the parent method  and
/or arguments name.
2016-01-06 11:07:48 +01:00
George Karpenkov a3a8ba40e7 "static final" does not do anything 2016-01-06 10:25:52 +01:00
George Karpenkov 56db1867ef Proper idiomatic isEquals implementation. 2016-01-06 10:24:00 +01:00
George Karpenkov 92bb984305 catch/throw is redundant. 2016-01-06 10:19:44 +01:00
Christoph M. Wintersteiger de3cb7e5dc More FPA exponent/siginficand order consistency 2016-01-05 18:05:21 +00:00
Christoph M. Wintersteiger d176c8714a Merge branch 'master' of https://github.com/Z3Prover/z3 into jan4 2016-01-05 16:38:12 +00:00
Nikolaj Bjorner 752a973e53 missing files?
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-05 08:32:48 -08:00
Christoph M. Wintersteiger 13cbd19411 FPA Python API cleanup. 2016-01-05 14:48:42 +00:00
Christoph M. Wintersteiger 097552768f Merged Python API changes. 2016-01-05 11:51:28 +00:00
Christoph M. Wintersteiger bd8a5982ad Added new items to .NET project file 2016-01-05 11:37:34 +00:00
Christoph M. Wintersteiger 8b47a84598 Merge branch 'master' of https://github.com/Z3Prover/z3 into jan4 2016-01-05 11:34:35 +00:00
Christoph M. Wintersteiger a06f754683 tabs 2016-01-05 03:31:21 -08:00
Nikolaj Bjorner c008c2c274 fix indentation error
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 22:36:50 -08:00
Nikolaj Bjorner 2f9fda45c3 fix tabs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 22:14:45 -08:00
Nikolaj Bjorner d7dcd022b9 seq, API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 18:49:21 -08:00
Nikolaj Bjorner c1ebf6b4fc seq + API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 18:01:48 -08:00
Christoph M. Wintersteiger 05b29df2cb Bugfix for FP API 2016-01-04 21:01:01 +00:00
Christoph M. Wintersteiger 677ff221f8 Internal consistency: FP exponents are always passed before significands. 2016-01-04 18:57:15 +00:00
Nikolaj Bjorner 68a532d066 seq, API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-03 20:53:06 -08:00
Nikolaj Bjorner a3c4972c85 seq API, tuning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-03 17:16:13 -08:00