3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-19 15:04:42 +00:00
Commit graph

35 commits

Author SHA1 Message Date
Copilot
f7b196e8f0 Add [[nodiscard]] to AST factory functions and modernize iterator loops (#8143)
* Initial plan

* Add [[nodiscard]] to AST factory functions and modernize iterator loops

- Added [[nodiscard]] attribute to key factory functions in ast.h:
  - All mk_app() variants for creating application nodes
  - All mk_func_decl() variants for creating function declarations
  - All mk_const() variants for creating constants
  - All mk_sort() variants for creating sorts
  - mk_var() for creating variables
  - mk_quantifier(), mk_forall(), mk_exists(), mk_lambda() for quantifiers
  - mk_label(), mk_pattern() and related functions

- Converted iterator loops to range-based for loops in:
  - src/util/region.cpp: pop_scope()
  - src/util/dec_ref_util.h: dec_ref_key_values(), dec_ref_keys(), dec_ref_values()
  - src/util/mpf.h: dispose()
  - src/util/numeral_buffer.h: reset()

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Modernize additional iterator loops to range-based for loops

- Converted iterator loops to range-based for loops in:
  - src/api/api_ast_map.cpp: Z3_ast_map_keys() and Z3_ast_map_to_string()
  - src/api/c++/z3++.h: optimize copy constructor and add() method
  - src/opt/wmax.cpp: mk_assumptions()

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Revert changes to z3++.h for C++ version compatibility

Revert the range-based for loop changes in src/api/c++/z3++.h to maintain
compatibility with older C++ versions that users may rely on. The C++ API
wrapper must support down-level C++ standards for backward compatibility.

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Trigger CI build

[skip ci] is not used to ensure CI runs

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-18 20:57:08 -08:00
Bruce Mitchener
50e0fd3ba6
Use noexcept more. (#7058) 2023-12-16 12:14:53 +00:00
Nuno Lopes
8ad480ab59 fix compiler warnings 2022-10-12 09:43:50 +01:00
Jakob Rath
6eae27ffad numeral helper functions 2022-08-01 18:37:11 +03:00
Nuno Lopes
7ac2791482 remove a bunch of constructors to avoid copies
still not enough to guarantee that vector::expand doesnt copy (WIP)
2020-06-03 17:09:27 +01:00
Bruce Mitchener
2fa304d8de Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07: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
Nuno Lopes
468e0207f7 add move constructor to mpf 2017-10-16 00:54:30 +01: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
Christoph M. Wintersteiger
0610392a05 Bugfix for fp.fma. Fixes #872. 2017-07-28 20:16:13 +01:00
Christoph M. Wintersteiger
33ebdc8adc Cleaned up mpf rounder. Rewrote mpf fma. Relates to #872. 2017-07-27 23:08:35 +01:00
Christoph M. Wintersteiger
12a8d0d02b mpf debug cleanup 2016-05-12 15:12:46 +01:00
Christoph M. Wintersteiger
dd83495d5d New implementation of mpf_manager::rem.
Partially addresses #561
2016-05-12 14:15:24 +01:00
Christoph M. Wintersteiger
a7c66356ae mpf partial remainder draft 2016-05-03 18:20:18 +01:00
Christoph M. Wintersteiger
6455bf8114 New implementation for mpf_manager::rem.
Relates to #561
2016-04-26 21:13:02 +01:00
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
Christoph M. Wintersteiger
677ff221f8 Internal consistency: FP exponents are always passed before significands. 2016-01-04 18:57:15 +00:00
Christoph M. Wintersteiger
fcf036695e Bugfix for mpf to_ieee_bv 2015-10-07 20:37:12 +01:00
Christoph M. Wintersteiger
79d69cd5f0 Added FP to_ieee_bv to fpa_rewriter to enable model evaluation. 2015-09-16 12:57:05 +01:00
Christoph M. Wintersteiger
25f75b60fe Bugfix for fp.mul and fp.fma for small numbers of e/s bits.
Fixes #215.
2015-09-10 11:37:06 +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
9a62d989e6 Revert "Merge branch 'unstable' of https://github.com/Z3Prover/z3 into unstable"
This reverts commit d3db21ccde, reversing
changes made to e463d5d899.
2015-06-24 17:06:04 +01:00
Christoph M. Wintersteiger
3a49223076 Merge branch 'unstable' of https://github.com/wintersteiger/z3 into unstable 2015-06-14 19:00:09 -07:00
Christoph M. Wintersteiger
0caf3bd18c Bugfix for mpf.is_regular 2015-06-14 18:59:46 -07:00
Nikolaj Bjorner
ab5022888c Merge branch 'opt' of https://github.com/Z3Prover/z3 into unstable 2015-05-14 12:11:17 +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
73eb7cbf5c Bugfix for mpf roundToIntegral.
Partially fixes #69
2015-05-05 23:53:33 +01:00
Nikolaj Bjorner
52619b9dbb pull unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Nikolaj Bjorner
8141dadc89 break on small cores
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-08 10:22:06 +01:00
Christoph M. Wintersteiger
5e60bcd920 FPA: fixes for the fpa_rewriter to enable model extraction and validation.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-02-06 16:53:31 +00:00
Christoph M. Wintersteiger
034e4f469e Fixed memory leak 2015-01-22 18:43:23 +00:00
Christoph M. Wintersteiger
e0bc704106 FPA API bugfixes
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-11 18:29:12 +00:00
Christoph M. Wintersteiger
09247d2e29 FPA theory and API overhaul
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-01 18:44:41 +00:00
Christoph M. Wintersteiger
0e74362ecb Added support for the final draft of the FPA standard (and fpa2bv conversion).
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-01-24 15:36:23 +00:00
Leonardo de Moura
2c464d413d Reorganizing source code. Created util dir
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 10:19:38 -07:00
Renamed from lib/mpf.h (Browse further)