Go to the documentation of this file.
26 op_bv.size() <= width,
27 "operand bitvector width shall not be larger than the width indicated by "
35 for(std::size_t i=0; i<op_bv.size(); i++)
39 for(std::size_t i=op_bv.size(); i<bv.size(); i++)
46 "endianness should be set to either little endian or big endian");
51 for(std::size_t i=0; i<op_bv.size(); i++)
55 for(std::size_t i=op_bv.size(); i<bv.size(); i++)
std::vector< literalt > bvt
Map bytes according to the configured endianness.
Union constructor from single element.
virtual literalt new_variable()=0
virtual bvt convert_union(const union_exprt &expr)
struct configt::ansi_ct ansi_c
typet & type()
Return the type of the expression.
boolbv_widtht boolbv_width
void conversion_failed(const exprt &expr, bvt &bv)
size_t map_bit(size_t bit) 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...
#define INVARIANT(CONDITION, REASON)
This macro uses the wrapper function 'invariant_violated_string'.