24 op_bv.size() <= width,
25 "operand bitvector width shall not be larger than the width indicated by "
33 for(std::size_t i=0; i<op_bv.size(); i++)
37 for(std::size_t i=op_bv.size(); i<bv.size(); i++)
44 "endianness should be set to either little endian or big endian");
49 for(std::size_t i=0; i<op_bv.size(); i++)
53 for(std::size_t i=op_bv.size(); i<bv.size(); i++)
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...
void conversion_failed(const exprt &expr, bvt &bv)
virtual bvt convert_union(const union_exprt &expr)
virtual endianness_mapt endianness_map(const typet &type, bool little_endian) const
virtual std::size_t boolbv_width(const typet &type) const
struct configt::ansi_ct ansi_c
Maps a big-endian offset to a little-endian offset.
size_t map_bit(size_t bit) const
typet & type()
Return the type of the expression.
virtual literalt new_variable()=0
Union constructor from single element.
std::vector< literalt > bvt