3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-28 08:19:50 +00:00
Commit graph

69 commits

Author SHA1 Message Date
Christoph M. Wintersteiger
9d57bdd2ef
Assorted fixes for floats (#6968)
* Improve 4be26eb543

* Add-on to 0f4f32c5d0

* Fix mk_numeral

* Fix corner-case in fp.div

* Fixes for corner-cases in mk_to_fp_(un)signed

* Fix out-of-range results in mpf_manager::fma

* Further adjustments for fp.to_fp_(un)signed

* fp.to_fp from real can't be NaN

* fp.to_fp from reals: add bounds

* Fix NaN encodings in theory_fpa.

* Fix fp.fma rounding with tiny floats

* Fix literal creation order in theory_fpa
2023-10-29 17:29:42 -07:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. (#6211) 2022-07-30 10:07:03 +01:00
Bruce Mitchener
1eb84fe4b9
Mark override methods appropriately. (#6207) 2022-07-29 23:29:15 +02:00
Christoph M. Wintersteiger
f77608ed88
Add interpreted versions of unspecified cases of fp.to_ieee_bv and fp.to_real (#6077) 2022-06-04 17:53:23 +01:00
Henrich Lauko
96671cfc73
Add and fix a few general compiler warnings. (#5628)
* rewriter: fix unused variable warnings

* cmake: make missing non-virtual dtors error

* treewide: add missing virtual destructors

* cmake: add a few more checks

* api: add missing virtual destructor to user_propagator_base

* examples: compile cpp example with compiler warnings

* model: fix unused variable warnings

* rewriter: fix logical-op-parentheses warnings

* sat: fix unused variable warnings

* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Nikolaj Bjorner
d36c3faf76 #4880 add interpreted versions of to_bv functions for MBQI quantifier models 2021-09-17 14:23:14 +01:00
Nikolaj Bjorner
c3c5c14ead prepare for min/max i
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-16 16:23:10 +01:00
Nikolaj Bjorner
08a87b102c more fpa
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-01 17:47:50 -07:00
Nikolaj Bjorner
4cb07a539b more fpa 2020-09-30 19:06:07 -07:00
Nikolaj Bjorner
6708a764f5 move generic functionality for fpa
move generic functionality for fpa to converter/rewriter so it can be used outside of theory_fpa @wintersteiger
2020-09-30 18:50:07 -07:00
Nikolaj Bjorner
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Christoph M. Wintersteiger
2308d8af09
Fix for partially interpreted floating-point functions. Relates to #2596, #2631. 2019-10-28 14:15:29 +00:00
Nikolaj Bjorner
cc26d49060 preparations for dealing with #2596
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-12 17:44:52 -07:00
Christoph M. Wintersteiger
2a92de0aee
Fixed side conditions for UFs translated from FP to BV. Fixes #1825. 2018-10-01 15:20:00 +01:00
Bruce Mitchener
7bf80c66d0 Remove redundant void arg.
While this was needed in ANSI C, it isn't in C++ and triggers a warning
in clang-tidy when `modernize-redundant-void-arg` is enabled.
2018-02-13 18:51:52 +07:00
Christoph M. Wintersteiger
333374229d Fixed UFs for unspecified cases of FP conversion operators. Thanks for Youcheng Sun for reporting this bug. 2018-02-03 16:48:05 +00:00
Christoph M. Wintersteiger
cc9f67267d Eliminated the remaining operator kinds for partially unspecified FP operators. 2017-09-20 20:16:09 +01:00
Christoph M. Wintersteiger
31cfca0444 Eliminated unspecified operators for fp.to_*bv, fp.to_real. Also fixes #1191. 2017-09-12 19:43:45 +01:00
Nikolaj Bjorner
ce04c18a7a trying to get rid of last simplifier dependency in macros
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-22 22:14:13 -07:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
4cae91b096 spacing, unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-17 08:07:23 -04:00
Christoph M. Wintersteiger
009af4455d Refactored and fixed model conversion for fpa2bv conversion of unspecified values via theory_fpa. 2016-10-15 18:35:39 +02:00
Christoph M. Wintersteiger
7e705a2d32 Bug fixes for underspecified FP operations. 2016-10-15 18:35:39 +02:00
Christoph M. Wintersteiger
bc257211d6 Whitespace 2016-10-15 18:35:39 +02:00
Christoph M. Wintersteiger
bd187e0989 Bugfix for fp.min/fp.max in fpa2bv converter; hide BV UFs from FP models.
Fixes #642
2016-06-09 17:51:31 +01:00
Christoph M. Wintersteiger
83ad5d65e4 Replaced fp.rem conversion to bit-vectors with an SMT-compliant one.
Fixes #561
2016-06-02 20:22:02 +01:00
Christoph M. Wintersteiger
bf3a5effbc Fixed and refactored fp.min/fp.max for theory_fpa.
Fixes #616
2016-05-23 15:38:25 +01:00
Christoph M. Wintersteiger
d4bc8ebb70 FP to BV translation of UFs refactored. 2016-05-22 18:16:57 +01:00
Christoph M. Wintersteiger
fe3f8466b6 Partial support for fpa2bv translation in complex types. 2016-05-21 18:08:48 +01:00
Christoph M. Wintersteiger
1cc8146aba Bugfixes for FP UFs and arrays. 2016-05-20 19:53:57 +01:00
Christoph M. Wintersteiger
bb2c5972c7 Bugfixes for UFs in theory_fpa.
Fixes #591, but performance issues remain.
2016-05-14 18:21:53 +01:00
Christoph M. Wintersteiger
be424d9cbb Bugfixes for fp.roundToIntegral and fp.rem.
Relates to #561
2016-04-24 15:14:16 +01:00
Christoph M. Wintersteiger
cdc8e1303a Bugfix for fp.to_*_unspecified.
Fixes #507
2016-03-16 16:16:29 +00:00
Christoph M. Wintersteiger
99d7a47f82 Bugfixes for unspecified results from fp.to_* (models are still incomplete).
Relates to #507
2016-03-15 21:45:54 +00:00
Christoph M. Wintersteiger
176782d62b Bugfix for fp.to_ieee_bv for unspecified input/output. 2016-03-15 14:38:11 +00:00
Christoph M. Wintersteiger
9dfc2bc61e Fixed memory leaks in fpa2bv converter.
Fixes #480
2016-03-05 16:47:08 +00:00
Christoph M. Wintersteiger
92152b16ca Bugfixes for model verification of unspecified values of fp.min/fp.max 2015-11-02 19:25:44 +00:00
Christoph M. Wintersteiger
9b5abcd55a Improved support for FPA unspecified min/max values, model validation, and proof generation. 2015-10-25 13:10:40 +00:00
Christoph M. Wintersteiger
ca496f20cb Partial refactoring of fpa2bv conversion to support proofs. 2015-10-25 13:10:40 +00:00
Christoph M. Wintersteiger
099775947e Partial fix for fp,min/fp.max models 2015-10-25 13:10:40 +00:00
Christoph M. Wintersteiger
c787ea1a3b Bugfix for FP UFs. 2015-10-08 12:45:26 +01:00
Christoph M. Wintersteiger
de39173f6f Corrected unspecified behavior of fp.min/fp.max corner cases in fpa2bv_converter and in theory_fpa.
Fixes #68
2015-10-07 20:44:08 +01:00
Christoph M. Wintersteiger
8a026c355f Corrected unspecified behavior of corner cases in fp.min/fp.max.
Partially addresses #68.
2015-10-07 20:39:36 +01:00
Christoph M. Wintersteiger
076e680433 Improved UF suppport in fpa2bv_converter. 2015-09-25 17:28:31 +01:00
Christoph M. Wintersteiger
869cd6074d Bugfix for fp.to_sbv and fp.to_ubv.
Fixes #162.
2015-09-15 19:03:31 +01:00
Christoph M. Wintersteiger
081ba9093a Bugfix for FP theory; handling of UFs and interpreted functions from other theories. 2015-08-27 18:17:26 +01:00
Nikolaj Bjorner
4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Christoph M. Wintersteiger
6980fb3035 Bugfix for distinct of floats. 2015-06-12 12:58:19 +01:00
Christoph M. Wintersteiger
a63481de85 New implementations of fp.roundToIntegral in mpf and fpa2bv.
Partially fixes #69
2015-05-06 19:19:03 +01:00
Christoph M. Wintersteiger
c3247d7598 FPA: bugfix for rounding mode bv translation
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-17 16:36:33 +00:00