18 if(operands.empty() && width == 0)
21 if(expr.
type().
id()==ID_array)
25 "the bit width being nonzero implies that the array has a nonzero size " 26 "in which case the array shall have operands");
28 const std::size_t op_width = width / operands.size();
boolbv_widtht boolbv_width
#define forall_expr(it, expr)
typet & type()
Return the type of the expression.
virtual const bvt & convert_bv(const exprt &expr, const optionalt< std::size_t > expected_width=nullopt)
#define forall_literals(it, bv)
const irep_idt & id() const
void conversion_failed(const exprt &expr, bvt &bv)
bool has_operands() const
Return true if there is at least one operand.
std::vector< exprt > operandst
virtual bvt convert_array(const exprt &expr)
Base class for all expressions.
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...
std::vector< literalt > bvt