3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-26 10:35:33 +00:00
Commit graph

288 commits

Author SHA1 Message Date
Zachary Wimer
542878dea3
Add sge and sgt to API; now has sge,sgt,sle,slt, and unsigned counterparts (#5194) 2021-04-19 08:53:43 -07:00
Zachary Wimer
f8228ff50e
[c++ api] add const (#5195) 2021-04-19 10:24:12 +01:00
Zachary Wimer
a1741e0e16
z3 c++ api: delete implicit constructor (#5191) 2021-04-16 10:46:03 +01:00
Zachary Wimer
239ace4353
expr move semantics supported via ast (#5190) 2021-04-15 13:37:31 -07:00
Zachary Wimer
f4127bd6f3
Remove function arg names for deleted functions (#5176) 2021-04-12 14:37:44 -07:00
Zachary Wimer
8e6ab5b1bf
prefer parent operator= to manually copying parent data for extensibi… (#5177)
* prefer parent operator= to manually copying parent data for extensibility reasons

* typos fixed
2021-04-12 14:37:27 -07:00
Zachary Wimer
dd3be32b98
Cpp api general minor improvements (#5175)
* Added noexcepts, deleted trivial copy functions that can be implcit, small things

* Add back in virtual destructor. This has rule of 5 side effects, but move semantics are not supported yet so it is *mostly* ok. The move PR will address this.
2021-04-12 14:03:20 -07:00
Zachary Wimer
70604a6856
Explicitly delete private constructors (#5174) 2021-04-12 13:46:55 -07:00
Zachary Wimer
973f79dc4d
rename final to register_final since final is a specifier in C++11+ (#5172) 2021-04-12 13:38:03 -07:00
Zachary Wimer
4625454a38
Fix fixedpoint rc bug and fix optimize non-const bug (#5173)
* Fix fixedpoint rc bug and fix optimize non-const bug

* Fix indentation
2021-04-12 13:37:05 -07:00
Zachary Wimer
d73b883b38
array uses unique_ptr (#5171)
* array uses unique_ptr

* Constructor initalize m_array over set it

* prefer arr.get() to &arr[0]
2021-04-12 13:01:24 -07:00
Nikolaj Bjorner
54f04a5751 being deliberate non-null #5156 2021-04-10 16:10:35 -07:00
Nikolaj Bjorner
c808f74591 fix multiplier base for #5022
add also some C++ API shorthands for retrieving numerals
2021-02-12 11:53:40 -08:00
Nikolaj Bjorner
26af694d2c add overloads to != and == based on #4906
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-18 14:04:01 -08:00
Nikolaj Bjorner
0301d2e05e #4750
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-22 10:27:05 -07:00
Henrich Lauko
2841796a92
z3++: add missing fpa operator >= implementation (#4729) 2020-10-13 21:24:12 -07:00
Nikolaj Bjorner
367e5fdd52
delay internalize (#4714)
* adding array solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use default in model construction

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debug delay internalization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* bv

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* arrays

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* get rid of implied values and bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* redo egraph

* remove out

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -07:00
Nikolaj Bjorner
1c7d27bdf3 fix missing parenthesis in C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-08 13:32:39 -07:00
Nikolaj Bjorner
80879ce58b remove xcode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-08 07:12:30 -07:00
Nikolaj Bjorner
b992f59aad expose name inclusion as optional
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-30 10:32:17 -07:00
Nikolaj Bjorner
65e6d942ac euf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-24 01:55:13 -07:00
Nikolaj Bjorner
96587bf708 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-23 13:13:27 -07:00
Nikolaj Bjorner
43d932301d apply operator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-23 10:45:31 -07:00
Nikolaj Bjorner
84475ff142 fix #4637
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-23 10:05:17 -07:00
Nikolaj Bjorner
af389db2b2 build break
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-23 09:28:56 -07:00
Nikolaj Bjorner
7d391d44a2 #4637
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-13 13:32:38 -07:00
Nikolaj Bjorner
1f48eabea5 allow Boolean arguments to bit-wise logical operators #4618
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-09 22:01:42 -07:00
Nikolaj Bjorner
4fa2e23704 overload bit-wise operators to work for Booleans for convenience #4618
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-05 16:22:49 -07:00
Nikolaj Bjorner
db009e2805 overload bit-wise operators to work for Booleans for convenience #4618
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-05 16:19:31 -07:00
Nikolaj Bjorner
59d8895d15 add accessors for implied values to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-28 19:46:39 -07:00
Nuno Lopes
23e6adcad3 fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string 2020-07-11 20:24:45 +01:00
Nikolaj Bjorner
688d38d868 typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 19:07:26 -07:00
Nikolaj Bjorner
4a8533e41f enable binary string access to unsigned numerals over API #4568
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 18:17:54 -07:00
Nikolaj Bjorner
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
ahumenberger
de9bc930e9
Extract defining components of algebraic number via C and C++ API (#3321)
* First steps toward adding Julia bindings

* Simplifications

* Streamlining

* Friends of tactic and probe

* Add missing functions

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Update azure-pipelines.yml for Azure Pipelines

* Changes for CxxWrap v0.9.0

* Wrap enumeration and tuple sort

* Wrap z3::fixedpoint

* Wrap z3::optimize

* Wrap missing functions

* Fix aux types

* Add some missing functions

* Revert "Update azure-pipelines.yml for Azure Pipelines"

This reverts commit 5aab9f9240.

* Revert "Update azure-pipelines.yml for Azure Pipelines"

This reverts commit cfccd7ca2c.

* Revert "Update azure-pipelines.yml for Azure Pipelines"

This reverts commit f24740c595.

* Revert "Update azure-pipelines.yml for Azure Pipelines"

This reverts commit 592499eaa0.

* Checkout current version of pipeline

* Build Julia bindings on macOS

* Extract components of algebraic number

* Add type to C API function name

* Remove blank line

* Typo in doc

* Return Z3_ast_vector containing coefficients
2020-03-17 09:09:02 -07:00
Nikolaj Bjorner
a6fcdecfd7 Add accessor for lower/upper bounds of algebraic numerals #3245
The pretty printer for algebraic numerals prints a polynomial root expression, however, polynomial root expressions are not exposed over the API. The C API contains methods for approximating root objects from above and below with arbitrary precision. These functions are now exposed over the C++ API.
Note that algebraic numbers are also disjoint from rcf (real closed field) objects.
Thus, z3 doesn't support adding "pi" as an extension field to algebraic numbers that are used by the nlsat solver. It operats on algebraic numbers formed by roots over polynomial with rational coefficients
2020-03-12 14:23:45 -07:00
Nikolaj Bjorner
dcd4fff284 fixes to cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-21 18:06:57 -08:00
Alexey Vishnyakov
fdc27d61e4 Down compatibility for C++03 2020-02-12 10:36:36 -08:00
Nikolaj Bjorner
93d1091ad9 bcd
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-16 20:37:22 -08:00
Nikolaj Bjorner
dc5d8819cd add const refs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-15 08:56:46 -08:00
Nikolaj Bjorner
773b27296f translate optimize from c++ API #2859
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-15 04:24:51 -08:00
Nikolaj Bjorner
78a1736bd2 prepare symbols to be more abstract, update mbi, delay initialize some modules
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:02:08 -08:00
Nikolaj Bjorner
2920ee56e9 fix #2837 - expose test function that determines whether an AST is a string literal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-06 11:43:16 -08:00
Andreas Humenberger
58f3dce2be Make z3::exception a subclass of std::exception 2019-11-25 11:55:37 -08:00
Christoph M. Wintersteiger
ba03d99526
Fix forward declaration of fma in C++ API. Fixes #2735. 2019-11-25 11:32:50 +00:00
Nikolaj Bjorner
05ad90c976 fix for null symbol #2712
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-18 12:55:24 -08:00
Nikolaj Bjorner
01f085ab53 build C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-08 14:19:54 -07:00
Nikolaj Bjorner
ce1f2e10c5 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-08 13:50:36 -07:00
Nikolaj Bjorner
b6c13340bd bit-vector overflow/underflow operators exposed over C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-08 10:12:18 -07:00
Nikolaj Bjorner
3074e2b80c fix #2487
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-15 10:24:28 -07:00