35 return t.
id()==ID_bv ||
36 t.
id()==ID_signedbv ||
37 t.
id()==ID_unsignedbv ||
47 return t.
id()==ID_signedbv;
54 return t.
id()==ID_bv ||
55 t.
id()==ID_unsignedbv ||
111 std::size_t width=std::max(signed_width, unsigned_width);
117 std::cerr <<
"Tried to join types: "
121 INVARIANT(
false,
"failed to join types");
const bitvector_typet & to_bitvector_type(const typet &type)
Cast a typet to a bitvector_typet.
unsignedbv_typet unsigned_int_type()
signedbv_typet signed_int_type()
Base class of fixed-width bit-vector types.
std::size_t get_width() const
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
const irep_idt & id() const
Fixed-width bit-vector with two's complement interpretation.
The type of an expression, extends irept.
Fixed-width bit-vector with unsigned binary interpretation.
#define INVARIANT(CONDITION, REASON)
This macro uses the wrapper function 'invariant_violated_string'.
typet join_types(const typet &t1, const typet &t2)
Return the smallest type that both t1 and t2 can be cast to without losing information.
unsignedbv_typet unsigned_poly_type()
bool is_bitvector(const typet &t)
Convenience function – is the type a bitvector of some kind?
bool is_signed(const typet &t)
Convenience function – is the type signed?
signedbv_typet signed_poly_type()
bool is_unsigned(const typet &t)
Convenience function – is the type unsigned?