Skip to content

Commit 41fdc43

Browse files
Rename variables in boolbv_extractbits for easier readability
1 parent 69de79a commit 41fdc43

File tree

1 file changed

+21
-19
lines changed

1 file changed

+21
-19
lines changed

src/solvers/flattening/boolbv_extractbits.cpp

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ Author: Daniel Kroening, [email protected]
1212

1313
bvt boolbvt::convert_extractbits(const extractbits_exprt &expr)
1414
{
15-
std::size_t width=boolbv_width(expr.type());
15+
const std::size_t bv_width = boolbv_width(expr.type());
1616

17-
if(width==0)
17+
if(bv_width == 0)
1818
return conversion_failed(expr);
1919

2020
if(expr.operands().size()!=3)
@@ -24,50 +24,52 @@ bvt boolbvt::convert_extractbits(const extractbits_exprt &expr)
2424
throw 0;
2525
}
2626

27-
mp_integer o1, o2;
28-
const bvt &bv0=convert_bv(expr.op0());
27+
mp_integer upper_as_int, lower_as_int;
28+
auto const &src_bv = convert_bv(expr.src());
2929

3030
// We only do constants for now.
3131
// Should implement a shift here.
32-
if(to_integer(expr.op1(), o1) ||
33-
to_integer(expr.op2(), o2))
32+
if(
33+
to_integer(expr.op1(), upper_as_int) ||
34+
to_integer(expr.op2(), lower_as_int))
3435
return conversion_failed(expr);
3536

36-
if(o1<0 || o1>=bv0.size())
37+
if(upper_as_int < 0 || upper_as_int >= src_bv.size())
3738
{
3839
error().source_location=expr.find_source_location();
3940
error() << "extractbits: second operand out of range: "
4041
<< expr.pretty() << eom;
4142
}
4243

43-
if(o2<0 || o2>=bv0.size())
44+
if(lower_as_int < 0 || lower_as_int >= src_bv.size())
4445
{
4546
error().source_location=expr.find_source_location();
4647
error() << "extractbits: third operand out of range: "
4748
<< expr.pretty() << eom;
4849
throw 0;
4950
}
5051

51-
if(o2>o1)
52-
std::swap(o1, o2);
52+
if(lower_as_int > upper_as_int)
53+
std::swap(upper_as_int, lower_as_int);
5354

5455
// now lower_as_int <= upper_as_int
5556

56-
if((o1-o2+1)!=width)
57+
if((upper_as_int - lower_as_int + 1) != bv_width)
5758
{
5859
error().source_location=expr.find_source_location();
59-
error() << "extractbits: wrong width (expected " << (o1-o2+1)
60-
<< " but got " << width << "): " << expr.pretty() << eom;
60+
error() << "extractbits: wrong width (expected "
61+
<< (upper_as_int - lower_as_int + 1) << " but got " << bv_width
62+
<< "): " << expr.pretty() << eom;
6163
throw 0;
6264
}
6365

64-
std::size_t offset=integer2unsigned(o2);
66+
const std::size_t offset = integer2unsigned(lower_as_int);
6567

66-
bvt bv;
67-
bv.resize(width);
68+
bvt result_bv;
69+
result_bv.resize(bv_width);
6870

69-
for(std::size_t i=0; i<width; i++)
70-
bv[i]=bv0[offset+i];
71+
for(std::size_t i = 0; i < bv_width; i++)
72+
result_bv[i] = src_bv[offset + i];
7173

72-
return bv;
74+
return result_bv;
7375
}

0 commit comments

Comments
 (0)