mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 14:13:23 +00:00
add lipstick note
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
061a18efcf
commit
08ef9f34bc
1 changed files with 6 additions and 6 deletions
|
@ -58,7 +58,9 @@ Notes:
|
||||||
return tgt \ join_project(tgt, neg, c1, .., cN, d1, .. , dN)
|
return tgt \ join_project(tgt, neg, c1, .., cN, d1, .. , dN)
|
||||||
We have most of the facilities required for a join project operation.
|
We have most of the facilities required for a join project operation.
|
||||||
For example, the filter_project function uses both equalities and deleted columns.
|
For example, the filter_project function uses both equalities and deleted columns.
|
||||||
|
- Lipstick service:
|
||||||
|
- filter_proj_fn uses both a bit_vector and a svector<bool> for representing removed bits.
|
||||||
|
This is due to underlying routines using different types for the same purpose.
|
||||||
--*/
|
--*/
|
||||||
#include "udoc_relation.h"
|
#include "udoc_relation.h"
|
||||||
#include "dl_relation_manager.h"
|
#include "dl_relation_manager.h"
|
||||||
|
@ -1218,17 +1220,15 @@ namespace datalog {
|
||||||
m_original_condition(condition, m),
|
m_original_condition(condition, m),
|
||||||
m_reduced_condition(m),
|
m_reduced_condition(m),
|
||||||
m_equalities(union_ctx) {
|
m_equalities(union_ctx) {
|
||||||
t.expand_column_vector(m_removed_cols);
|
|
||||||
unsigned num_bits = t.get_num_bits();
|
unsigned num_bits = t.get_num_bits();
|
||||||
m_col_list.resize(num_bits, false);
|
t.expand_column_vector(m_removed_cols);
|
||||||
|
m_col_list.resize(num_bits, false);
|
||||||
|
m_to_delete.resize(num_bits, false);
|
||||||
for (unsigned i = 0; i < num_bits; ++i) {
|
for (unsigned i = 0; i < num_bits; ++i) {
|
||||||
m_equalities.mk_var();
|
m_equalities.mk_var();
|
||||||
}
|
}
|
||||||
for (unsigned i = 0; i < m_removed_cols.size(); ++i) {
|
for (unsigned i = 0; i < m_removed_cols.size(); ++i) {
|
||||||
m_col_list.set(m_removed_cols[i], true);
|
m_col_list.set(m_removed_cols[i], true);
|
||||||
}
|
|
||||||
m_to_delete.resize(t.get_num_bits(), false);
|
|
||||||
for (unsigned i = 0; i < m_removed_cols.size(); ++i) {
|
|
||||||
m_to_delete[m_removed_cols[i]] = true;
|
m_to_delete[m_removed_cols[i]] = true;
|
||||||
}
|
}
|
||||||
expr_ref guard(m), non_eq_cond(condition, m);
|
expr_ref guard(m), non_eq_cond(condition, m);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue