Go to the documentation of this file.
15 if(expr.
type().
id()!=ID_unsignedbv &&
16 expr.
type().
id()!=ID_signedbv &&
17 expr.
type().
id()!=ID_fixedbv)
32 if(op0.size()!=width ||
34 throw "convert_div: unexpected operand width";
38 if(expr.
type().
id()==ID_fixedbv)
40 std::size_t fraction_bits=
47 op0.insert(op0.begin(), zeros.begin(), zeros.end());
std::vector< literalt > bvt
bvt sign_extension(const bvt &bv, std::size_t new_size)
typet & type()
Return the type of the expression.
boolbv_widtht boolbv_width
const fixedbv_typet & to_fixedbv_type(const typet &type)
Cast a typet to a fixedbv_typet.
void conversion_failed(const exprt &expr, bvt &bv)
literalt const_literal(bool value)
const irep_idt & id() const
virtual const bvt & convert_bv(const exprt &expr, const optionalt< std::size_t > expected_width=nullopt)
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
std::size_t get_fraction_bits() const
bvt divider(const bvt &op0, const bvt &op1, representationt rep)
virtual bvt convert_div(const div_exprt &expr)