23 error() <<
"extractbits takes three operands" <<
eom;
36 if(o1<0 || o1>=bv0.size())
39 error() <<
"extractbits: second operand out of range: " 43 if(o2<0 || o2>=bv0.size())
46 error() <<
"extractbits: third operand out of range: " 59 error() <<
"extractbits: wrong width (expected " << (o1-o2+1)
60 <<
" but got " << width <<
"): " << expr.
pretty() <<
eom;
69 for(std::size_t i=0; i<width; i++)
std::string pretty(unsigned indent=0, unsigned max_indent=0) const
boolbv_widtht boolbv_width
static mstreamt & eom(mstreamt &m)
virtual const bvt & convert_bv(const exprt &expr)
const source_locationt & find_source_location() const
source_locationt source_location
void conversion_failed(const exprt &expr, bvt &bv)
virtual bvt convert_extractbits(const extractbits_exprt &expr)
unsigned integer2unsigned(const mp_integer &n)
std::vector< literalt > bvt