3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-06 07:15:47 +00:00

fix overflow bugs in doc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-09-22 22:03:59 -07:00
parent b57353eff2
commit 54506408f9
10 changed files with 164 additions and 101 deletions

View file

@ -28,9 +28,9 @@ static void tst1() {
fixed_bit_vector_manager m(30);
fixed_bit_vector *b;
b = m.allocate0();
b->set(0, true);
b->set(1, false);
b->set(2, true);
m.set(*b, 0, true);
m.set(*b, 1, false);
m.set(*b, 2, true);
SASSERT(b->get(0) == true);
SASSERT(b->get(1) == false);
SASSERT(b->get(2) == true);
@ -46,19 +46,19 @@ static void tst_or() {
b1 = m.allocate0();
b2 = m.allocate0();
b1->set(4);
b2->set(8);
b2->set(3);
b2->set(2);
b2->set(1);
m.set(*b1, 4);
m.set(*b2, 8);
m.set(*b2, 3);
m.set(*b2, 2);
m.set(*b2, 1);
m.display(std::cout, *b1) << "\n";
m.display(std::cout, *b2) << "\n";
m.set_or(*b1, *b2);
m.display(std::cout, *b1) << "\n";
SASSERT(!m.equals(*b1, *b2));
b1->unset(4);
m.unset(*b1, 4);
SASSERT(m.equals(*b1, *b2));
b1->unset(3);
m.unset(*b1, 3);
SASSERT(!m.equals(*b1, *b2));
m.deallocate(b1);
m.deallocate(b2);
@ -77,16 +77,16 @@ static void tst_eq(unsigned num_bits) {
fixed_bit_vector* b2 = m.allocate0();
fixed_bit_vector* b3 = m.allocate0();
b1->set(3, true);
m.set(*b1, 3, true);
SASSERT(!m.equals(*b1, *b2));
SASSERT(m.equals(*b2, *b3));
b3->set(3, true);
m.set(*b3, 3, true);
SASSERT(m.equals(*b1, *b3));
b2->set(num_bits-1, true);
b3->set(num_bits-1);
b3->unset(3);
m.set(*b2, num_bits-1, true);
m.set(*b3, num_bits-1);
m.unset(*b3, 3);
SASSERT(m.equals(*b2, *b3));
m.fill0(*b1);
m.set_neg(*b1);
@ -94,7 +94,7 @@ static void tst_eq(unsigned num_bits) {
SASSERT(m.equals(*b1, *b2));
m.fill0(*b1);
for (unsigned i = 0; i < num_bits; ++i) {
b1->set(i, true);
m.set(*b1, i, true);
}
SASSERT(m.equals(*b1, *b2));
m.deallocate(b1);