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