summaryrefslogtreecommitdiff
path: root/src/theory/evaluator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/evaluator.cpp')
-rw-r--r--src/theory/evaluator.cpp36
1 files changed, 6 insertions, 30 deletions
diff --git a/src/theory/evaluator.cpp b/src/theory/evaluator.cpp
index 516fb1d05..14ccbe9b7 100644
--- a/src/theory/evaluator.cpp
+++ b/src/theory/evaluator.cpp
@@ -792,41 +792,17 @@ EvalResult Evaluator::evalInternal(
break;
}
case kind::BITVECTOR_UDIV:
- case kind::BITVECTOR_UDIV_TOTAL:
{
- if (currNodeVal.getKind() == kind::BITVECTOR_UDIV_TOTAL
- || results[currNode[1]].d_bv.getValue() != 0)
- {
- BitVector res = results[currNode[0]].d_bv;
- res = res.unsignedDivTotal(results[currNode[1]].d_bv);
- results[currNode] = EvalResult(res);
- }
- else
- {
- results[currNode] = EvalResult();
- evalAsNode[currNode] =
- needsReconstruct ? reconstruct(currNode, results, evalAsNode)
- : currNodeVal;
- }
+ BitVector res = results[currNode[0]].d_bv;
+ res = res.unsignedDivTotal(results[currNode[1]].d_bv);
+ results[currNode] = EvalResult(res);
break;
}
case kind::BITVECTOR_UREM:
- case kind::BITVECTOR_UREM_TOTAL:
{
- if (currNodeVal.getKind() == kind::BITVECTOR_UREM_TOTAL
- || results[currNode[1]].d_bv.getValue() != 0)
- {
- BitVector res = results[currNode[0]].d_bv;
- res = res.unsignedRemTotal(results[currNode[1]].d_bv);
- results[currNode] = EvalResult(res);
- }
- else
- {
- results[currNode] = EvalResult();
- evalAsNode[currNode] =
- needsReconstruct ? reconstruct(currNode, results, evalAsNode)
- : currNodeVal;
- }
+ BitVector res = results[currNode[0]].d_bv;
+ res = res.unsignedRemTotal(results[currNode[1]].d_bv);
+ results[currNode] = EvalResult(res);
break;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback