mirror of
https://github.com/Z3Prover/z3
synced 2025-08-15 15:25:26 +00:00
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).
This commit is contained in:
parent
d766292dab
commit
0a93ff515d
583 changed files with 8698 additions and 7299 deletions
|
@ -833,7 +833,7 @@ lbool hilbert_basis::saturate_orig(num_vector const& ineq, bool is_eq) {
|
|||
m_zero.reset();
|
||||
m_index->reset(m_current_ineq+1);
|
||||
int_table support;
|
||||
TRACE("hilbert_basis", display_ineq(tout, ineq, is_eq););
|
||||
TRACE(hilbert_basis, display_ineq(tout, ineq, is_eq););
|
||||
iterator it = begin();
|
||||
for (; it != end(); ++it) {
|
||||
offset_t idx = *it;
|
||||
|
@ -847,7 +847,7 @@ lbool hilbert_basis::saturate_orig(num_vector const& ineq, bool is_eq) {
|
|||
support.insert(idx.m_offset);
|
||||
}
|
||||
}
|
||||
TRACE("hilbert_basis", display(tout););
|
||||
TRACE(hilbert_basis, display(tout););
|
||||
// resolve passive into active
|
||||
offset_t j = alloc_vector();
|
||||
while (!m_passive->empty()) {
|
||||
|
@ -855,7 +855,7 @@ lbool hilbert_basis::saturate_orig(num_vector const& ineq, bool is_eq) {
|
|||
return l_undef;
|
||||
}
|
||||
offset_t idx = m_passive->pop();
|
||||
TRACE("hilbert_basis", display(tout););
|
||||
TRACE(hilbert_basis, display(tout););
|
||||
if (is_subsumed(idx)) {
|
||||
recycle(idx);
|
||||
continue;
|
||||
|
@ -886,7 +886,7 @@ lbool hilbert_basis::saturate_orig(num_vector const& ineq, bool is_eq) {
|
|||
m_active.reset();
|
||||
m_passive->reset();
|
||||
m_zero.reset();
|
||||
TRACE("hilbert_basis", display(tout););
|
||||
TRACE(hilbert_basis, display(tout););
|
||||
return m_basis.empty()?l_false:l_true;
|
||||
}
|
||||
|
||||
|
@ -906,7 +906,7 @@ lbool hilbert_basis::saturate(num_vector const& ineq, bool is_eq) {
|
|||
m_index->reset(m_current_ineq+1);
|
||||
m_passive2->reset();
|
||||
m_sos.reset();
|
||||
TRACE("hilbert_basis", display_ineq(tout, ineq, is_eq););
|
||||
TRACE(hilbert_basis, display_ineq(tout, ineq, is_eq););
|
||||
unsigned init_basis_size = 0;
|
||||
for (unsigned i = 0; i < m_basis.size(); ++i) {
|
||||
offset_t idx = m_basis[i];
|
||||
|
@ -937,12 +937,12 @@ lbool hilbert_basis::saturate(num_vector const& ineq, bool is_eq) {
|
|||
}
|
||||
}
|
||||
|
||||
TRACE("hilbert_basis", display(tout););
|
||||
TRACE(hilbert_basis, display(tout););
|
||||
// resolve passive into active
|
||||
offset_t idx = alloc_vector();
|
||||
while (checkpoint() && !m_passive2->empty()) {
|
||||
offset_t sos, pas;
|
||||
TRACE("hilbert_basis", display(tout); );
|
||||
TRACE(hilbert_basis, display(tout); );
|
||||
unsigned offset = m_passive2->pop(sos, pas);
|
||||
SASSERT(can_resolve(sos, pas, true));
|
||||
resolve(sos, pas, idx);
|
||||
|
@ -978,7 +978,7 @@ lbool hilbert_basis::saturate(num_vector const& ineq, bool is_eq) {
|
|||
m_basis.append(m_zero);
|
||||
std::sort(m_basis.begin(), m_basis.end(), vector_lt_t(*this));
|
||||
m_zero.reset();
|
||||
TRACE("hilbert_basis", display(tout););
|
||||
TRACE(hilbert_basis, display(tout););
|
||||
return m_basis.empty()?l_false:l_true;
|
||||
}
|
||||
|
||||
|
@ -1087,7 +1087,7 @@ void hilbert_basis::resolve(offset_t i, offset_t j, offset_t r) {
|
|||
for (unsigned k = 0; k < m_current_ineq; ++k) {
|
||||
u.weight(k) = v.weight(k) + w.weight(k);
|
||||
}
|
||||
TRACE("hilbert_basis_verbose",
|
||||
TRACE(hilbert_basis_verbose,
|
||||
display(tout, i);
|
||||
display(tout, j);
|
||||
display(tout, r);
|
||||
|
@ -1115,7 +1115,7 @@ bool hilbert_basis::checkpoint() {
|
|||
}
|
||||
|
||||
bool hilbert_basis::add_goal(offset_t idx) {
|
||||
TRACE("hilbert_basis", display(tout, idx););
|
||||
TRACE(hilbert_basis, display(tout, idx););
|
||||
values v = vec(idx);
|
||||
if (is_subsumed(idx)) {
|
||||
return false;
|
||||
|
@ -1308,7 +1308,7 @@ bool hilbert_basis::is_subsumed(offset_t i, offset_t j) const {
|
|||
for (unsigned k = 0; r && k < m_current_ineq; ++k) {
|
||||
r = v.weight(k) >= w.weight(k);
|
||||
}
|
||||
CTRACE("hilbert_basis", r,
|
||||
CTRACE(hilbert_basis, r,
|
||||
display(tout, i);
|
||||
tout << " <= \n";
|
||||
display(tout, j);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue