Skip to content

Commit d12acb3

Browse files
author
Sonny Martin
committed
Cleanup
1 parent 99b2b26 commit d12acb3

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

src/util/simplify_expr_int.cpp

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -864,20 +864,15 @@ bool simplify_exprt::simplify_extractbit(exprt &expr)
864864
if(!is_bitvector_type(src_type))
865865
return true;
866866

867-
std::size_t src_bit_width = to_bitvector_type(src_type).get_width();
867+
const std::size_t src_bit_width = to_bitvector_type(src_type).get_width();
868868

869-
if(extractbit_expr.index().id() != ID_constant)
870-
{
871-
return true;
872-
}
873-
874-
auto index_converted_to_int =
869+
const auto index_converted_to_int =
875870
numeric_cast<mp_integer>(extractbit_expr.index());
876871
if(!index_converted_to_int.has_value())
877872
{
878873
return true;
879874
}
880-
mp_integer index_as_int = index_converted_to_int.has_value();
875+
const mp_integer index_as_int = index_converted_to_int.value();
881876
if(!extractbit_expr.src().is_constant())
882877
return true;
883878

@@ -887,12 +882,15 @@ bool simplify_exprt::simplify_extractbit(exprt &expr)
887882
const irep_idt &src_value =
888883
to_constant_expr(extractbit_expr.src()).get_value();
889884

890-
if(src_value.size() != src_bit_width)
885+
886+
std::string src_value_as_string=id2string(src_value);
887+
888+
if(src_value_as_string.size() != src_bit_width)
891889
return true;
892890

893-
bool bit =
894-
(id2string(src_value)
895-
[src_bit_width - numeric_cast_v<std::size_t>(index_as_int) - 1] == '1');
891+
const bool bit =
892+
(src_value_as_string
893+
[src_bit_width - numeric_cast_v<std::size_t>(index_as_int) - 1]=='1');
896894

897895
expr.make_bool(bit);
898896

0 commit comments

Comments
 (0)