mirror of
https://github.com/Z3Prover/z3
synced 2025-06-23 14:23:40 +00:00
doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
06f0037917
commit
9116d38628
2 changed files with 15 additions and 7 deletions
|
@ -130,13 +130,13 @@ void tbv_manager::copy(tbv& dst, tbv const& src) const {
|
||||||
m.copy(dst, src);
|
m.copy(dst, src);
|
||||||
}
|
}
|
||||||
tbv& tbv_manager::fill0(tbv& bv) const {
|
tbv& tbv_manager::fill0(tbv& bv) const {
|
||||||
// 01010101 = 1 + 4 + 16 + 64
|
// 10101010 = 2 + 8 + 32 + 128
|
||||||
memset(bv.m_data, 1 + 4 + 16 + 64, m.num_bytes());
|
memset(bv.m_data, 2 + 8 + 32 + 128, m.num_bytes());
|
||||||
return bv;
|
return bv;
|
||||||
}
|
}
|
||||||
tbv& tbv_manager::fill1(tbv& bv) const {
|
tbv& tbv_manager::fill1(tbv& bv) const {
|
||||||
// 10101010 = 2 + 8 + 32 + 128
|
// 01010101 = 1 + 4 + 16 + 64
|
||||||
memset(bv.m_data, 2 + 8 + 32 + 128, m.num_bytes());
|
memset(bv.m_data, 1 + 4 + 16 + 64, m.num_bytes());
|
||||||
return bv;
|
return bv;
|
||||||
}
|
}
|
||||||
tbv& tbv_manager::fillX(tbv& bv) const {
|
tbv& tbv_manager::fillX(tbv& bv) const {
|
||||||
|
|
|
@ -13,6 +13,11 @@ static void tst_doc1(unsigned n) {
|
||||||
doc_ref dXc(m, m.allocate(*dX));
|
doc_ref dXc(m, m.allocate(*dX));
|
||||||
doc_ref d10(m, m.allocate(10));
|
doc_ref d10(m, m.allocate(10));
|
||||||
doc_ref d20(m, m.allocate(rational(20)));
|
doc_ref d20(m, m.allocate(rational(20)));
|
||||||
|
m.display(std::cout, *d1) << "\n";
|
||||||
|
m.display(std::cout, *d0) << "\n";
|
||||||
|
m.display(std::cout, *dX) << "\n";
|
||||||
|
m.display(std::cout, *d10) << "\n";
|
||||||
|
m.display(std::cout, *d20) << "\n";
|
||||||
unsigned hi = 3, lo = 1;
|
unsigned hi = 3, lo = 1;
|
||||||
SASSERT(hi <= n);
|
SASSERT(hi <= n);
|
||||||
doc_ref d111X(m, m.allocate(0xFF, hi, lo));
|
doc_ref d111X(m, m.allocate(0xFF, hi, lo));
|
||||||
|
@ -39,8 +44,11 @@ static void tst_doc1(unsigned n) {
|
||||||
VERIFY(m.fold_neg(*dX));
|
VERIFY(m.fold_neg(*dX));
|
||||||
ptr_vector<doc> result;
|
ptr_vector<doc> result;
|
||||||
// VERIFY(!m.intersect(*d1,*d0, result));
|
// VERIFY(!m.intersect(*d1,*d0, result));
|
||||||
m.subtract(*d1,*d0, result);
|
// m.subtract(*d1,*d0, result);
|
||||||
SASSERT(result.empty());
|
SASSERT(result.empty());
|
||||||
|
dX = m.allocateX();
|
||||||
|
m.display(std::cout, *d0) << "\n";
|
||||||
|
m.display(std::cout, *dX) << "\n";
|
||||||
SASSERT(m.contains(*dX,*d1));
|
SASSERT(m.contains(*dX,*d1));
|
||||||
SASSERT(m.contains(*dX,*d0));
|
SASSERT(m.contains(*dX,*d0));
|
||||||
SASSERT(!m.contains(*d0,*d1));
|
SASSERT(!m.contains(*d0,*d1));
|
||||||
|
@ -53,7 +61,7 @@ static void tst_doc1(unsigned n) {
|
||||||
m.display(std::cout, *d1) << "\n";
|
m.display(std::cout, *d1) << "\n";
|
||||||
|
|
||||||
|
|
||||||
svector<bool> to_delete(n);
|
svector<bool> to_delete(n, false);
|
||||||
to_delete[1] = true;
|
to_delete[1] = true;
|
||||||
to_delete[3] = true;
|
to_delete[3] = true;
|
||||||
doc_manager m1(n-2);
|
doc_manager m1(n-2);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue