Skip to content

Commit 803f0f0

Browse files
na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
1 parent 5455603 commit 803f0f0

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

src/ast/sls/bv_sls_eval.cpp

+4-9
Original file line numberDiff line numberDiff line change
@@ -504,8 +504,7 @@ namespace bv {
504504
val.set(m_tmp);
505505
}
506506
else {
507-
for (unsigned i = 0; i < a.nw; ++i)
508-
m_tmp[i] = 0;
507+
a.set_zero(m_tmp);
509508
for (unsigned i = 0; i < a.bw; ++i)
510509
m_tmp.set(i, i + sh < a.bw && a.get_bit(i + sh));
511510
if (sign)
@@ -516,17 +515,15 @@ namespace bv {
516515
}
517516
case OP_SIGN_EXT: {
518517
auto& a = wval(e->get_arg(0));
519-
for (unsigned i = 0; i < a.bw; ++i)
520-
m_tmp.set(i, a.get_bit(i));
518+
a.get(m_tmp);
521519
bool sign = a.sign();
522520
val.set_range(m_tmp, a.bw, val.bw, sign);
523521
val.set(m_tmp);
524522
break;
525523
}
526524
case OP_ZERO_EXT: {
527525
auto& a = wval(e->get_arg(0));
528-
for (unsigned i = 0; i < a.bw; ++i)
529-
m_tmp.set(i, a.get_bit(i));
526+
a.get(m_tmp);
530527
val.set_range(m_tmp, a.bw, val.bw, false);
531528
val.set(m_tmp);
532529
break;
@@ -1367,9 +1364,7 @@ namespace bv {
13671364
return a.set_repair(random_bool(), m_tmp);
13681365
}
13691366

1370-
for (unsigned i = 0; i < a.nw; ++i)
1371-
m_tmp2[i] = random_bits();
1372-
b.clear_overflow_bits(m_tmp2);
1367+
b.get_variant(m_tmp2, m_rand);
13731368
while (b.bits() < m_tmp2)
13741369
m_tmp2.set(b.msb(m_tmp2), false);
13751370
while (a.set_add(m_tmp3, m_tmp, m_tmp2))

0 commit comments

Comments
 (0)