3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-09 18:40:51 +00:00
Commit graph

69 commits

Author SHA1 Message Date
Copilot
b5492e5cf9
Modernize C++ patterns: range-based for loops and nullptr (#8167)
* Initial plan

* Replace NULL with nullptr in test files

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

* Convert iterator loops to range-based for loops (part 1)

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

* Convert iterator loops to range-based for loops (part 2)

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

* Fix compilation errors in iterator loop conversions

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

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-01-11 21:20:07 -08:00
LeeYoungJoon
0a93ff515d
Centralize and document TRACE tags using X-macros (#7657)
* Introduce X-macro-based trace tag definition
- Created trace_tags.def to centralize TRACE tag definitions
- Each tag includes a symbolic name and description
- Set up enum class TraceTag for type-safe usage in TRACE macros

* Add script to generate Markdown documentation from trace_tags.def
- Python script parses trace_tags.def and outputs trace_tags.md

* Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled

* trace: improve trace tag handling system with hierarchical tagging

- Introduce hierarchical tag-class structure: enabling a tag class activates all child tags
- Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag
- Implement initial version of trace_tag.def using X(tag, tag_class, description)
  (class names and descriptions to be refined in a future update)

* trace: replace all string-based TRACE tags with enum TraceTag
- Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals

* trace : add cstring header

* trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py

* trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h.

* trace : Add TODO comment for future implementation of tag_class activation

* trace : Disable code related to tag_class until implementation is ready (#7663).
2025-05-28 14:31:25 +01:00
Nuno Lopes
737c2208fa delete more default constructors
reduces code size by 0.1%
2024-09-23 12:59:04 +01:00
Nikolaj Bjorner
4a6083836a call it data instead of c_ptr for approaching C++11 std::vector convention. 2021-04-13 18:17:35 -07:00
Nuno Lopes
5e034e495f fix compiler warnings 2021-02-19 10:33:41 +00:00
Nikolaj Bjorner
3ae4c6e9de refactor get_sort 2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner
ff0f257102 remove iff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07: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
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc Use override rather than virtual. 2018-02-10 09:56:33 +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
96e157e201 fix warnings for unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 13:54:22 -07:00
Nikolaj Bjorner
f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nuno Lopes
5cc8c8bde6 udoc: micro optimization for compiler_guard
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-24 17:06:21 +01:00
Nikolaj Bjorner
3de2a70a48 move functionality from qe_util to ast_util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:17 +01:00
Matthias Schlaipfer
37cb5b9597 Fixed a bug in udoc_relation's join project
An optimization was applied in too many cases and led to wrong results.

Signed-off-by: Matthias Schlaipfer <t-matsch@microsoft.com>
2015-06-24 17:06:06 +01:00
Nikolaj Bjorner
203c5015c8 fix debian amd64 warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-18 15:17:21 -07:00
Nikolaj Bjorner
64bd62b17e fix gcc compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-16 11:56:04 +01:00
Nuno Lopes
2444440edc DoC: implement get_size_estimate_bytes()
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-02 11:28:57 +00:00
Nuno Lopes
2e083ab9c2 DoC: specialize union for the case dst=empty and/or delta=empty
this avoids O(n^2) insert and becomes O(n)

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-29 08:50:12 +00:00
Nuno Lopes
1701af9dc9 DoC: fix fast_empty() for tables without columns
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-28 11:38:26 +00:00
Nuno Lopes
83bae6c8aa DoC: fix bug filter_by_negation when negation table has 0 columns
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-27 13:42:14 +00:00
Nikolaj Bjorner
37fca65517 fuse join with projection avoiding double insert (but at cost of double projection)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-25 04:37:42 -08:00
Nuno Lopes
036a56e360 DoC: remove another unused variable 2015-01-23 17:09:17 +00:00
Nuno Lopes
93db50ff64 DoC: further code simplifications 2015-01-23 17:04:09 +00:00
Nuno Lopes
92f6dd4de4 DoC: factorize join and join_project code so that join_project learns need tricks (i.e., prune empty vectors upfront) 2015-01-23 16:55:02 +00:00
Nuno Lopes
dddb31fc37 minor optimization to previous patch
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-22 13:03:06 +00:00
Nuno Lopes
4ee83c1774 Datalog/DoC: add fast path for join_project for the case 'h(X) :- f(X), g(X).'
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-22 12:53:35 +00:00
Nikolaj Bjorner
d038c7bf89 fixing udoc/adding tuned join_project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 22:07:19 -07:00
Nikolaj Bjorner
2362e01a9f add unit test for join-project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 17:17:14 -07:00
Nikolaj Bjorner
28fb266d8c Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2014-10-08 11:05:50 -07:00
Nikolaj Bjorner
00555def4d improve error handling of parameters and remove work notes from udoc_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 11:05:38 -07:00
Nuno Lopes
de73a4d893 DoC: fix bug in filter_project with '(not (= c1 c2))' style constraints
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 11:12:41 +01:00
Nuno Lopes
0cf04589ff DoC: enable filter_project
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 09:58:02 +01:00
Nikolaj Bjorner
a3a008bdde update Deprecated API to avoid memory leak and crash when there is a core, ensure invariant in new code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-07 19:54:04 -07:00
Nuno Lopes
06c7f3f246 DoC: fix bugs in the new join_project
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-07 14:33:23 +01:00
Nikolaj Bjorner
5287089be2 sketch tuned join-project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-07 04:31:24 -07:00
Nikolaj Bjorner
10c40d64b6 streamline filter-by-negation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-06 15:56:49 -07:00
Nuno Lopes
893d51eae8 DoC: implement slow path of filter_negated using join+project.
disable fast path since it's broken

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-06 18:10:03 +01:00
Nikolaj Bjorner
db20b2502d try qx
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-04 19:50:42 -07:00
Nikolaj Bjorner
93a757f45b add two failing test cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-02 10:38:43 -07:00
Nuno Lopes
9828b26379 DoC: fix slow path of filter_by_negation when columns are repeated in tgt relation
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-02 09:56:06 +01:00
Nuno Lopes
04b5d436b3 DoC: fix fast path of filter_negated
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-01 18:03:59 +01:00
Nuno Lopes
115ab12ade DoC: code cleanups
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 17:16:14 +01:00
Nuno Lopes
1606359dc9 DoC: add slow path to emptiness detection that uses SMT solving
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 15:58:38 +01:00
Nikolaj Bjorner
08ef9f34bc add lipstick note
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 08:46:14 -07:00
Nikolaj Bjorner
061a18efcf move some configuration parameters into dl_context, add notes to udoc_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 08:22:25 -07:00
Nuno Lopes
b7397b6967 relations with no columns are not always non-empty.
fix that in the udoc datalog backend

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 16:27:20 +01:00
Nuno Lopes
41d7c50e29 fix debug build
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 14:10:17 +01:00