Pre-defined bitvector types.
const bitvector_typet & to_bitvector_type(const typet &type)
Cast a typet to a bitvector_typet.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
virtual const bvt & convert_bv(const exprt &expr, const std::optional< std::size_t > expected_width={})
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
virtual bvt convert_not(const not_exprt &expr)
bvt conversion_failed(const exprt &expr)
Print that the expression of x has failed conversion, then return a vector of x's width.
static bvt verilog_bv_normal_bits(const bvt &)
literalt is_zero(const bvt &op)
literalt verilog_bv_has_x_or_z(const bvt &)
typet & type()
Return the type of the expression.
const irep_idt & id() const
virtual literalt lselect(literalt a, literalt b, literalt c)=0
The type of an expression, extends irept.
std::vector< literalt > bvt
literalt const_literal(bool value)
#define CHECK_RETURN(CONDITION)