Skip to content

Commit 68ef509

Browse files
committed
Make use of bv_spect::max_value()
The method can be used in two places that previously duplicated its logic.
1 parent 22cf9a5 commit 68ef509

File tree

2 files changed

+4
-26
lines changed

2 files changed

+4
-26
lines changed

jbmc/src/java_bytecode/java_object_factory.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Author: Daniel Kroening, [email protected]
88

99
#include "java_object_factory.h"
1010

11+
#include <util/bv_arithmetic.h>
1112
#include <util/expr_initializer.h>
1213
#include <util/nondet.h>
1314
#include <util/nondet_bool.h>
@@ -351,19 +352,6 @@ class recursion_set_entryt
351352
}
352353
};
353354

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-
367355
/// Initialise length and data fields for a nondeterministic String structure.
368356
///
369357
/// If the structure is not a nondeterministic structure, the call results in
@@ -458,7 +446,7 @@ void initialize_nondet_string_fields(
458446
code.add(code_assumet(binary_relation_exprt(length_expr, ID_ge, min_length)));
459447

460448
// assume (length_expr <= max_input_length)
461-
if(max_nondet_string_length <= max_value(length_expr.type()))
449+
if(max_nondet_string_length <= bv_spect(length_expr.type()).max_value())
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
@@ -9,6 +9,7 @@ Author: Daniel Kroening, [email protected]
99
#include "ansi_c_entry_point.h"
1010

1111
#include <util/arith_tools.h>
12+
#include <util/bv_arithmetic.h>
1213
#include <util/c_types.h>
1314
#include <util/config.h>
1415
#include <util/string_constant.h>
@@ -377,18 +378,7 @@ bool generate_ansi_c_start_function(
377378
}
378379

379380
// 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;
381+
mp_integer max = bv_spect(envp_size_symbol.type).max_value();
392382

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

0 commit comments

Comments
 (0)