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

249 commits

Author SHA1 Message Date
Nikolaj Bjorner 7ae78da850 adding access to characters over API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 15:56:08 +02:00
Mikhail R. Gadelha ed59c838bf
Implemented missing methods to the C++ API (#5242)
* Add method to print Sort to an ostream

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added new FP check methods and clarify documentation

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added missing fp conversion calls to C++ API

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added method to convert a bv (in ieee format) to fp

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added bv reduction methods to C++ API

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Add fp equality method

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added methods to creates fpa nan and fpa inf

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Changed default rounding mode of the C++ API to RNE (see issue #4673)

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>

* Added methods to generate rounding mode sorts and rounding mode numerals

Signed-off-by: Mikhail R. Gadelha <mikhail.ramalho@gmail.com>
2021-05-21 14:10:09 -07:00
Zachary Wimer f942c3df91
operator= checks this equality before moving (#5265) 2021-05-12 13:10:14 -07:00
Zachary Wimer 77dea18f54
Added missing fp conversion methods to C++ API (#5234) 2021-04-30 18:45:28 -07:00
Zachary Wimer e4b660321f
Cpp api string const (#5228)
* string_const added

* typo fixed
2021-04-29 16:16:48 -07:00
Nikolaj Bjorner a8ccbd7103 fix #5226 2021-04-29 13:36:25 -07:00
Nikolaj Bjorner d731ec7cba
Revert "Cpp api fp to bv (#5218)" (#5221)
This reverts commit fa2d593739.
2021-04-27 08:44:15 -07:00
Zachary Wimer fa2d593739
Cpp api fp to bv (#5218)
* fpa_to_ubv and fpa_to_sbv added to C++ API

* Bug fix

* fpa_fp method added to API

* Adjust types to prefer sort over expr and bug fix
2021-04-26 17:00:05 -07:00
Nikolaj Bjorner 44d77a978a cw review comments #5200 2021-04-20 09:27:59 -07:00
Zachary Wimer 831afa8124
Cpp api add missing fp methods (return type correction) (#5200)
* added is_nan and is_inf to API

* added support to to_ieee_bv

* bug fix
2021-04-19 17:55:23 -07:00
Zachary Wimer 10e9345cd7
C++ API add missing FP methods (#5199)
* added is_nan and is_inf to API

* added support to to_ieee_bv
2021-04-19 15:24:09 -07:00
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