Skip to content

Commit c8f8458

Browse files
committed
Make use of bitvector_typet::largest
The method can be used in several places that previously duplicated its logic.
1 parent 22cf9a5 commit c8f8458

File tree

3 files changed

+5
-29
lines changed

3 files changed

+5
-29
lines changed

jbmc/src/java_bytecode/java_object_factory.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -351,19 +351,6 @@ class recursion_set_entryt
351351
}
352352
};
353353

354-
/// Get max value for an integer type
355-
/// \param type:
356-
/// Type to find maximum value for
357-
/// \return Maximum integer value
358-
static mp_integer max_value(const typet &type)
359-
{
360-
if(type.id() == ID_signedbv)
361-
return to_signedbv_type(type).largest();
362-
else if(type.id() == ID_unsignedbv)
363-
return to_unsignedbv_type(type).largest();
364-
UNREACHABLE;
365-
}
366-
367354
/// Initialise length and data fields for a nondeterministic String structure.
368355
///
369356
/// If the structure is not a nondeterministic structure, the call results in
@@ -458,7 +445,8 @@ void initialize_nondet_string_fields(
458445
code.add(code_assumet(binary_relation_exprt(length_expr, ID_ge, min_length)));
459446

460447
// assume (length_expr <= max_input_length)
461-
if(max_nondet_string_length <= max_value(length_expr.type()))
448+
if(
449+
max_nondet_string_length <= to_bitvector_type(length_expr.type()).largest())
462450
{
463451
exprt max_length =
464452
from_integer(max_nondet_string_length, length_expr.type());

src/ansi-c/ansi_c_entry_point.cpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -377,18 +377,8 @@ bool generate_ansi_c_start_function(
377377
}
378378

379379
// assume envp_size is INTMAX-1
380-
mp_integer max;
381-
382-
if(envp_size_symbol.type.id()==ID_signedbv)
383-
{
384-
max=to_signedbv_type(envp_size_symbol.type).largest();
385-
}
386-
else if(envp_size_symbol.type.id()==ID_unsignedbv)
387-
{
388-
max=to_unsignedbv_type(envp_size_symbol.type).largest();
389-
}
390-
else
391-
UNREACHABLE;
380+
const mp_integer max =
381+
to_bitvector_type(envp_size_symbol.type).largest();
392382

393383
exprt max_minus_one=from_integer(max-1, envp_size_symbol.type);
394384

src/util/simplify_expr_int.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Author: Daniel Kroening, [email protected]
1111
#include <cassert>
1212

1313
#include "arith_tools.h"
14-
#include "bv_arithmetic.h"
1514
#include "byte_operators.h"
1615
#include "config.h"
1716
#include "expr_util.h"
@@ -1879,8 +1878,7 @@ bool simplify_exprt::simplify_inequality_constant(exprt &expr)
18791878
if(expr.op0().type().id()==ID_unsignedbv ||
18801879
expr.op0().type().id()==ID_signedbv)
18811880
{
1882-
bv_spect spec(expr.op0().type());
1883-
mp_integer max(spec.max_value());
1881+
mp_integer max(to_bitvector_type(expr.op0().type()).largest());
18841882

18851883
if(expr.id()==ID_notequal)
18861884
{

0 commit comments

Comments
 (0)