19 if(type_id!=ID_unsignedbv &&
20 type_id!=ID_signedbv &&
21 type_id!=ID_floatbv &&
22 type_id!=ID_pointer &&
24 type_id!=ID_verilog_signedbv &&
25 type_id!=ID_verilog_unsignedbv)
39 else if(expr.
id()==ID_ashr)
41 else if(expr.
id()==ID_lshr)
43 else if(expr.
id()==ID_rol)
45 else if(expr.
id()==ID_ror)
58 if(i<0 || i>std::numeric_limits<signed>::max())
61 distance = numeric_cast_v<std::size_t>(i);
63 if(type_id==ID_verilog_signedbv ||
64 type_id==ID_verilog_unsignedbv)
virtual bvt convert_shift(const binary_exprt &expr)
boolbv_widtht boolbv_width
typet & type()
Return the type of the expression.
virtual const bvt & convert_bv(const exprt &expr, const optionalt< std::size_t > expected_width=nullopt)
const irep_idt & id() const
A base class for binary expressions.
void conversion_failed(const exprt &expr, bvt &bv)
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
bool is_constant() const
Return whether the expression is a constant.
bvt shift(const bvt &op, const shiftt shift, std::size_t distance)
#define UNREACHABLE
This should be used to mark dead code.
std::vector< literalt > bvt